TY - GEN
T1 - Ninja
T2 - 2002 USENIX Annual Technical Conference
AU - Robert von Behren, J.
AU - Brewer, Eric A.
AU - Borisov, Nikita
AU - Chen, Michael
AU - Welsh, Matt
AU - MacDonald, Josh
AU - Lau, Jeremy
AU - Gribble, Steve
AU - Culler, David
N1 - Funding Information:
*: Now at the University of Washington This work was supported in part by DARPA #DABT 63-98-C-0038.
Funding Information:
This work was supported in part by DARPA #DABT 63-98-C-0038. We would like to thank Amin Vahdat and the referees for their helpful feedback.
PY - 2002
Y1 - 2002
N2 - Ninja is a new framework that makes it easy to create robust scalable Internet services. We introduce a new programming model based on the natural parallelism of large-scale services, and show how to implement the model. The first key aspect of the model is intelligent connection management, which enables high availability, load balancing, graceful degradation and online evolution. The second key aspect is support for shared persistent state that is automatically partitioned for scalability and replicated for fault tolerance. We discuss two versions of shared state, a cluster-based hash table with transparent replication and novel features that reduce lock contention, and a cluster-based file system that provides local transactions and cluster-wide namespaces and replication. Using several applications we show that the framework enables the creation of scalable, highly available services with persistent data, with very little application code — as little as one-tenth the code size of comparable stand-alone applications.
AB - Ninja is a new framework that makes it easy to create robust scalable Internet services. We introduce a new programming model based on the natural parallelism of large-scale services, and show how to implement the model. The first key aspect of the model is intelligent connection management, which enables high availability, load balancing, graceful degradation and online evolution. The second key aspect is support for shared persistent state that is automatically partitioned for scalability and replicated for fault tolerance. We discuss two versions of shared state, a cluster-based hash table with transparent replication and novel features that reduce lock contention, and a cluster-based file system that provides local transactions and cluster-wide namespaces and replication. Using several applications we show that the framework enables the creation of scalable, highly available services with persistent data, with very little application code — as little as one-tenth the code size of comparable stand-alone applications.
UR - http://www.scopus.com/inward/record.url?scp=85084163441&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85084163441&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:85084163441
T3 - Proceedings of the 2002 USENIX Annual Technical Conference
BT - Proceedings of the 2002 USENIX Annual Technical Conference
PB - USENIX Association
Y2 - 10 June 2002 through 15 June 2002
ER -