Mechanisms for object caching and consistency management in distributed systems
暂无分享,去创建一个
To achieve good performance, distributed object systems must utilize caching. This dissertation presents object caching mechanisms for Java RMI-based distributed object systems. These mechanisms are compatible with RMI and are transparent to RMI client applications. We developed a set of tools to create the objects for the caching mechanisms. We created and used several RMI benchmarks to illustrate the caching mechanisms' utility.
Our caching mechanisms use a framework to implement consistency policies. This framework uses an event/action model that permits consistency policies to control the caching mechanisms in response to consistency-related events. Using this framework, we implemented and evaluated five different consistency policies.
Because an object's usage may change, our mechanisms permit the consistency policy used by an object to be changed. To accomplish this, we created a cost model that determines the cost of the current consistency policy and estimates the cost of other policies. If the model indicates that another policy will provide better performance, then the mechanisms will switch to use that policy.
To effectively cache RMI objects, these mechanisms cache a reduced object; a modified form of the RMI object from which unused instance variables have been removed. We also create reduced collection objects which cache a portion of a collection object. A reduced object's primary advantage is the reduction of the communication cost required to cache an object.
Recognizing that semantics-based consistency policies may provide better performance than traditional consistency policies, we introduce the concept of method group commutativity. Method group commutativity specifies the conditions under which a set of operations will commute, in contrast to previous approaches that consider pairs of operations. A formal definition of commutativity, in terms of Hoare logic expressions, guides the development of a methodology to create a method commutativity specification from the semantic specification of an object's methods. This methodology uses the PVS theorem prover to analyze and validate commutativity properties. We extend this methodology to express weakened semantics in the method commutativity specification that, in turn, enables greater commutativity. Finally, a semantics-based consistency policy is implemented using method group commutativity.