Event:    LESS Seminar Series

Speaker:  Peter Druschel
          Rice University

Title:    "The ScalaServer project:  Designing scalable,
          high-performance cluster-based network servers"

Date:     Friday, February 11, 2000

Time:     2:00 p.m.

Coffee:   1:30 p.m.

Place:    Taylor Hall 3.128

Host:     Mike Dahlin


In this talk, I will give an overview of the ScalaServer project,
which focuses on the construction of scalable, high-performance and
highly available Internet servers from commodity hardware and modular
application software components. The project targets network servers
based on clusters of workstations or PCs, and develops OS/middleware
mechanisms and policies that allow servers to fully realize the
performance potential of this platform.  Our server architecture is
transparent to clients and to the server applications running on the
server nodes. As a result, ScalaServer leverages existing protocol
standards, existing server applications, and the price/performance
curve of commodity hardware.

Several key technical innovations shape the ScalaServer architecture:
At the operating system level, a unified buffering and caching system,
called IO-Lite, which avoids copying and double buffering of I/O data
in the server operating system, thus increasing throughput and
reducing memory requirements; a new operating system abstraction
called Resource Containers, which enables the fine-grained resource
management needed to support robust, predictable and differentiated
services; and, novel mechanisms for scalable event delivery and
microsecond timer support.

At the cluster middleware level, we developed scalable mechanisms for
content-based request distribution; a request distribution policy
called locality-aware request distribution (LARD), which maintains
load balance among the cluster nodes while simultaneously allowing the
server's main memory cache to scale with the cluster size; and, global
resource management facilities that enable resource sharing and
differentiated quality of services in a cluster server.