Department of Computer Science
Rice University
The ScalaServer project considers a range of related issues in the design
of scalable, high-performance and highly available network servers.
Internet server systems (e.g., Web servers) serve a virtually unlimited
client community, they provide an increasing volume of data, and they must
support a set of Web based services that increases in variety and sophistication.
The performance of such servers is critical to the success of the evolving
information infrastructure.
This project is supported by the National Science Foundation, the Texas Advanced Technology Program, the Sloan Foundation, Compaq, HP, and IBM.
Project Members:
Contents:
We also investigated issues in benchmarking
WWW server performance under conditions of high load and when clients
are connecting via wide-area networks. This work shows that current
Web server benchmarks fail to evaluate important aspects of Web server
performance and we propose improved benchmarking techniques that address
this problem.
Finally, we developed a new architecture for network server applications,
called asymmetric multi-process event-driven (AMPED), and implemented and
evaluated a prototype server called the Flash
Web Server. Experiments on real workloads show that Flash combines
the high performance of single-process event-driven servers on cached workloads
with the high performance of multi-threaded and multi-process servers on
out-of-core workloads.
We have designed and implemented a novel request distribution policy for cluster front-ends, called locality-aware request distribution (LARD). LARD distributes requests in a manner that simultaneously balances the load among the back-end nodes and dynamically partitions the working set. This policy allows the effective size of the server's main memory cache to approach the sum of the node cache sizes. We have demonstrated the effectiveness of this technique, both via simulation and in a prototype cluster implementation, on real workloads.
LARD is a form of content-based request distribution, where the cluster
front-end must establish the client HTTP connection and receive the HTTP
request before it can decide which back-end node should handle the request.
We have developed a TCP handoff protocol, which allows a cluster front-end
to hand off an established TCP connection to another node in an efficient
and client transparent manner. Finally, we have shown how
to apply LARD on HTTP/1.1 persistent connection workloads.
In addition, we investigate request distribution, load balancing, and
resource management in cluster-based servers in the presence of rich and
diverse Web services, including dynamically generated content services
with varying and unpredictable resource demands, transactional (i.e., database)
services, and secure services (SSL/TLS).
Practical, transparent operating system support for superpages.
Juan Navarro, Sitaram Iyer, Peter Druschel and Alan Cox. In
Proceedings of the Fifth Symposium on Operating Systems Design and Implementation
(OSDI '02), Boston, Mass., Dec 2002.
slides from conference talk
Anticipatory
scheduling: A disk scheduling framework to overcome deceptive idleness
in synchronous I/O. Sitaram Iyer, Peter Druschel. In Proceedings of
the 18th Symposium on Operating Systems Principles (SOSP),
Chateau Lake Louise, Banff, Canada, September 2001.
Project webpage,
slides from conference talk.
Cluster Reserves: A Mechanism for Resource Management in Cluster-based
Network Servers . Mohit Aron, Peter Druschel and Willy Zwaenepoel. In
Proceedings of the ACM SIGMETRICS Conference on Measurement and Modeling of
Computer Systems, Santa Clara, CA, June 2000.
slides from the conference talk
Scalable Content-aware Request Distribution in Cluster-based Network
Servers. Mohit Aron, Darren Sanders, Peter Druschel and Willy
Zwaenepoel. In Proceedings of the USENIX 2000 Annual Technical
Conference, San Diego, CA, June 2000. Winner of Best Paper Award.
slides from the conference talk
Soft timers: efficient microsecond software timer support for network
processing . Mohit Aron and Peter Druschel. In Proceedings of the 17th
Symposium on Operating Systems Principles (SOSP-17), Kiawah Island, SC,
December 1999. Award Paper. An extended
version also appeared in ACM Transactions on Computer
Systems, August 2000.
slides from the conference talk
A scalable and explicit event delivery mechanism for UNIX. Gaurav Banga, Jeff Mogul, Peter Druschel. In the Proceedings of the USENIX 1999 Annual Technical Conference, Monterey, CA, June 1999. Winner of Outstanding Paper Award.
Efficient
Support for P-HTTP in Cluster-Based Web Servers . Mohit Aron, Peter
Druschel and Willy Zwaenepoel. In Proceedings of the USENIX 1999 Annual
Technical Conference, Monterey, CA, June 1999.
slides
from the conference talk
Flash: An Efficient
and Portable Web Server. Vivek Pai, Peter Druschel and Willy Zwaenepoel.
In the Proceedings of the USENIX 1999 Annual Technical Conference,
Monterey, CA, June 1999.
slides from
the conference talk
IO-Lite:
A Unified I/O Buffering and Caching System. Vivek S. Pai, Peter Druschel and Willy
Zwaenepoel. In ACM Transactions on Computer Systems,
Vol. 18, No. 1, February 2000. A version
appeared in the Proceedings of the Third Symposium on Operating
Systems Design and Implementation (OSDI'99), New Orleans, LA,
February 1999. Best Paper Award.
slides from the conference talk
Resource containers: A new facility for resource management in server systems. Gaurav Banga, Peter Druschel, Jeff Mogul. In the Proceedings of the Third Symposium on Operating System Design and Implementation, New Orleans, LA, February 1999. Winner of Best Student Paper Award.
Locality-aware Request
Distribution in Cluster-based Network Servers. Vivek S. Pai, Mohit
Aron, Gaurav Banga, Michael Svendsen, Peter Druschel, Willy Zwaenepoel
and Erich Nahum. In Proceedings of the Eighth International Conference
on Architectural Support for Programming Languages and Operating Systems
(ASPLOS-VIII), San Jose, California, October 1998.
slides
from the conference talk
Measuring the Capacity of a Web Server. Gaurav Banga, Peter Druschel. In USENIX Symposium on Internet Technologies and Systems (USITS). Monterrey, CA, Dec 1997. Winner of Best Paper and Best Student Paper Awards.
Lazy Receiver
Processing (LRP): A Network Subsystem Architecture for Server Systems.
Peter Druschel and Gaurav Banga. In Proceedings of the Second Symposium
on Operating Systems Design and Implementation (OSDI'96). Seattle,
WA, October 1996.