Comprehending Concurrency and Consistency in Distributed Systems
Nitin Naik · 2021
Concurrency and consistency are the two inherent and complex characteristics of distributed systems. Their types, levels and implementation procedures determine the nature and efficiency of a distributed system. Concurrency and consistency are difficult concepts to understand, moreover, without a comprehensive understanding a complete system cannot be designed and built. Applying a comprehensive understanding of concurrency and consistency to the design of a distributed system will generate a system that is more closely aligned with the desired outcomes. This paper analyses both concurrency and consistency in distributed systems to present a comprehensive understanding of their requirements, types, levels, benefits and limitations. Initially, it analyses concurrency and compares it with parallelism to distinguish the two related but distinct terms. Subsequently, it analyses consistency and different consistency models including a comparative analysis of strong consistency and weak consistency models, and data-centric consistency and client-centric consistency models.