Concurrency Control in Asynchronous Computations
Williams, Carolyn Craig, Department of Computer Science, University of Virginia
Reynolds, Paul, Department of Computer Science, University of Virginia
Martin, Worthy, Department of Computer Science, University of Virginia
When independently executing processes share data, some form of concurrency control is needed to enforce the atomicity and sequencing constraints imposed by the program. We believe that concurrency control is hard largely because existing architectural support is inadequate. We define a new class of interconnection networks called isotach networks and explore isotach-based concurrency control by describing techniques that use the isotach network to achieve causal message delivery, atomicity, sequential consistency, and cache coherence.
We show processes can pipeline their accesses to shared data in an isotach system without sacrificing sequential consistency. We define the isochron, a multicast with strong ordering properties implemented on an isotach network, and describe techniques by which processes can use isochrons to execute atomic actions without obtaining locks or other exclusive access rights. We describe compatible techniques for enforcing data dependences and show that the isotach network is capable of combining concurrently issued operations on the same shared variable while maintaining atomicity and sequential consistency. We describe a family of new cache coherence protocols called delta-cache protocols that extend isotach-based concurrency control techniques to systems that replicate and migrate shared variables, yielding protocols that are both scalable and more highly concurrent than existing protocols. We report results of a simulation study comparing the performance of isotach and conventional systems. The study shows that isotach systems outperform conventional systems under workloads with atomicity and sequencing constraints.
PHD (Doctor of Philosophy)
All rights reserved (no additional license for public reuse)