CS262B Reading Summary

Cluster-Based Scalable Network Services

Armando Fox et al.

Summary by Feng Zhou
2/11/2004

Strong points of the paper are:

  1. The three fundamental requirements for network services are well-identified.  They are incremental scalability and overflow growth provisioning, 24x7 availability through fault masking and cost effectiveness.  There are now actually implemented by large-scale services like Google. 
  2. The SNS architecture provides a reusable framework for scalable services.   By paritioning work among a number of interchangable workers and front-ends, SNS ensures the incremental scalability of the system.  The manager and corresponding manager stubs and worker stubs enables the system to make informed reactions to node failures and overload quickly.
  3. Soft state is an important principle for fault-tolerant systems.  In this paper, different nodes in the system maintain soft state of other parts of the system and typically use the state as hints, not as exact info.  This simplies system design, shortens the fast path when no faults occur and ensures correctness when nodes do fail.
One major flaw.

The SNS uses a single centralized DB to store user profiles.  This DB is prone to become a bottleneck in more complex services.