An efficient consistency protocol for a DSD-based persistent object system
Persistent object stores (POS) provide a good foundation for distributed applications. By executing nested object transactions, the application programmer can make updates to shared objects from different processing nodes across the network without having to manage the communications or con-currency control aspects of data access in the distributed environment. In such systems, the shared objects are "cached" in the nodes' local memories and these copies must be kept consistent in order to ensure correct execution of the transactions. Therefore, the memory consistency protocol has a great impact on the efficiency and usability of the POS. The LOTEC protocol was designed to maintain data consistency while reducing the associated consistency maintenance communication overhead for shared objects in a distributed shared virtual memory (DSVM) environment. While LOTEC achieves its goal, the use of fixed-size memory pages limits the performance improvement. Also, the locking protocol reduces the potential for concurrent execution of the nested object transactions. In this thesis, a new memory consistency protocol is presented in the context of a distributed shared data (DSD)-based POS. This protocol improves performance and reduces overhead by managing concurrent data access using versions of smaller groups of an object's attributes. When compared with LOTEC, the new protocol reduces a number of delay-causing situations that may arise during transaction execution. In addition, a new algorithm for creating smaller groups of attributes from an object called object chunking is presented and analyzed. Simulation results indicate that object chunking can significantly reduce the amount of data that must be moved in order to maintain memory consistency.