Implementation of SRPT Scheduling in Web Servers
journal contributionposted on 01.06.2005, 00:00 by Mor Harchol-Balter, Nikhil Bansal, Bianca Schroeder, Mukesh Agrawal
This paper proposes a method for improving the performance of Web servers servicing static HTTP requests. The idea is to give preference to those requests which are quick, or have small remaining processing requirements, in accordancewith the SRPT (Shortest-Remaining-Processing-Time) scheduling policy. The implementation is at the kernel level and involves controlling the order in which socket buffers are drained into the network. Experiments use the Linux operating system and the Apache web server. All experiments are also repeated using the FlashWeb server. Experiments are run under both trace-based workloads and those generated by a Web workload generator. Results indicate that SRPT-based scheduling of connections yields significant reductions in mean response time, mean slowdown, and variance in response time at the Web server. Most significantly, and counter to intuition, the large requests are only negligibly penalized (or not at all penalized) as a result of SRPT-based scheduling.