Squid-SMP: Design & implementation of squid proxy server for parallel platform
Sachin H. Malave · 2014
Being a single process proxy server, Squid can not avail of multi-processor or multi-core architectures. Here two layered approach is used to implement SMP within squid. In the top layer, Squid-smp-scheduler also called as master process which spawns multiple instances of Squid process is implemented. In the bottom layer, functionality of an instance is further divided into two threads, schedule and dispatch. Each process utilizes two full cores of the system where dispatch thread picks up entries from the queue as soon as they are made available by schedule thread. This strategy in the bottom layer minimizes the average queue size of the AsyncCallQueue queue and the time required for execution of each schedule/dispatch round. Also the distribution of load among multiple instances in the top layer minimizes the average response time.