Computer Science Department
School of Computer Science, Carnegie Mellon University


Implementation of SRPT Scheduling in Web Servers

Mor Harchol-Balter, Nikhil Bansal, Bianca Schroeder

November 2000

Keywords: Web servers, connection-scheduling, HTTP requests, priority, M/G/1, shortest processing remiaining time, starvation, heavy-tailed workloads, time-sharing

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 accordance with 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 Flash web server. All experiments are repeated under a range of server loads and 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 {\em large requests} are only negligibly penalized (or not at all penalized) as a result of SRPT-based scheduling.

25 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by