From: Honghai Liu (liu789_at_hotmail.com)
Date: Wed Feb 25 2004 - 11:41:12 PST
Reviewer: Honghai Liu
The paper presents BASE semantics and SNS framework, and analyzes two web-related implementations
(TranSend and HotBot) to demonstrate its scalability, easy of programming model.
Traditional distributed systems are based on ACID semantics (Atomicity, consistency, isolation and durability).
ACID is important for commerce transaction, billing system etc. The web related applications require weaker
semantics than ACID model, which is called BASE (basically available, soft state, eventually consistency).
The consistency and accuracy of data are not as important as quick responses, especially for search engines
and other web-based applications.
The scalable network service model suggested consists of SNS (Scalable Network Service support), TACC
and Service layers. The most interesting part is the generic SNS service layer, where there are many instances
of different components. Each component can be dynamically allocated, stopped or restarted depending on
the load. These components are Front Ends, Workers, Customization Database, Managers, Graphical Monitor
and System-Area Network.
Achieving scalability of SNS layer is one of the most important goals of the system. It was observed the most
of the components are a linear function with the increase of the load. It is achieved by dividing responsibility |
among components and makes different types of components independent. Especially, the works are stateless
and simple (because of BASE), therefore allow front enders to create workers on-the-fly.
The most interesting part to me is to see how workers work. They are actually very simple program, and do
have to be programmed in thread-sate mode because the abstraction hidden by the SNS. In most of the cases,
the work codes can be programmed within hours ( off-the-shelf code). More surprisingly, the worker codes
don't have to be 100% correct to offer its service. Because they are stateless and easily spawned, the bugs
are not even noticeable and can survive crashes in most cases.
Regarding the weakness, the BASES model is based on the assumption that components are stateless and
information needs not to be accurate. Its application is limited in web-related services.
Nevertheless, the scalability and performance observed from the TranSend show its promising future in many
Internet applications, especially with its favorable cost performance ratio. Moreover, the rapid development
model makes programming simple and release programmers from bogging down in the complexity of consistency
and synchronization issues as in typical distributed systems coding.
This archive was generated by hypermail 2.1.6 : Wed Feb 25 2004 - 11:41:13 PST