USENIX Technical Program - Abstract - USENIX Annual
Conference, General Session - June 2000
Virtual Services: A New Abstraction for Server Consolidation
John Reumann, University of Michigan; Ashish Mehra, IBM T.J. Watson
Research Center; Kang G. Shin, University of Michigan; Dilip Kandlur,
IBM T.J. Watson Research Center
Abstract
Modern server operating systems (OS's) do not address the issue of
interference between competing applications. This deficiency is a major
road-block for Internet and Application Service Providers who want to
multiplex server resources among their business clients. To insulate
applications from each other, we introduce Virtual Services (VSs).
Besides providing per-service resource budgets, VSs drastically reduce
cross-service interference in the presence of shared backend services,
such as databases and name services.
VSs provide dynamic per-service resource partitioning and management in
a manner completely transparent to applications. To accomplish this
goal, we introduce a kernel-based work classification mechanism called
gates. Gates track work that propagates from one service to another and
are configured by the system administrator via simple rules. They
automate the binding of processes and sockets to VSs, and ensure that
any work done on behalf of a VS, even if it is done by shared services,
is charged to the resource budget of the VS that requested it. Using our
experimental Linux 2.0.36-based implementation we applied them
effectively to co-hosted Web servers. Thus, nearly eliminating
performance interference between the co-hosted sites.
|