Monday, September 19, 2011

Cluster-Based Scalable Network Services

This paper helps lay out the design for services that run on top of clusters. The paper starts out by describing the advantages and challenges of using clusters versus high performance computers like SMPs. The actual design of the scalable network service contains front ends, workers, and various databases. The design concentrates on the BASE (Basically Available, Soft State, Eventual Consistency) rather than ACID (Atomicity, Consistency, Isolation, Durability). However, there can be access to ACID components as well, for things like billing. Then, above the SNS, programmers can use the TACC (Transformation, Aggregation, Caching, and Customization) programming model, which mirrors UNIX filters and pipes.

The model above really lends itself to achieve some interesting properties. There is a very natural way to do degradation if bandwidth is low. Load balancing is easy with a central manager. Services can be easily created because of their specificity. It seems the paper presents a really model way to build clusters and implement services on top of them.

The paper mentions overflow workers. Although it didn't exist at the time, now the cloud be could leveraged to handle these overflow workers.

No comments:

Post a Comment