System support for scalable services

Mustaque Ahamad, Rammohan Kordale · 1997

In this thesis, we investigate system support for meeting scalable sharing requirements of large scale and mobile applications. In particular, we are interested in measuring scalability along the two dimensions of system load and geographic distribution. A common way to address such requirements is to employ server replication and client caching which introduces the problem of consistency among multiple copies of an object. The performance and functionality of such a system could depend very much on the consistency protocol implemented by the system. We take a two-pronged approach to meet the requirements of scale. Firstly, we recognize that weaker levels of consistency can be implemented more efficiently. Moreover, strong consistency cannot always be provided in systems where clients are temporarily disconnected which can happen involuntarily or voluntarily in mobile systems. Thus, we take the approach of allowing object (application) implementors to choose from a variety of consistency levels. We build scalable implementations of the various consistency policies by using a novel mechanism called mutual consistency. The basic idea of the mutual consistency mechanisms can be summarized as follows. In traditional protocols, nodes that update shared state take the responsibility of notifying interested parties about the updates. When interested parties are widely distributed, latency of access in such systems can be very large. In mutual consistency based protocols, however, nodes that update shared state do not take the responsibility of notifying interested parties about the updates; instead, nodes only ensure that they learn of external updates to objects they access in a consistent manner. To address heterogeneity issues, we built our object caching framework on top of a system that follows the COBRA (Common Object Request Broker Architecture) object model. The performance results support our hypotheses. Weaker consistency levels could be implemented more efficiently than stronger consistency levels. Moreover, the mutual consistency based strong consistency protocol scaled better than the traditional protocol along both dimensions of scalability. The traditional protocol entailed 50% more messages and 15% more server load per client and was 39% slower (in terms of average response times) than the mutual consistency based strong consistency protocol.

Read the paper · More papers on PaperTik