Abstract

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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call