当前位置: X-MOL 学术J. Parallel Distrib. Comput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Prime clock: Encoded vector clock to characterize causality in distributed systems
Journal of Parallel and Distributed Computing ( IF 3.4 ) Pub Date : 2020-02-22 , DOI: 10.1016/j.jpdc.2020.02.008
Ajay D. Kshemkalyani , Min Shen , Bhargav Voleti

The vector clock is a fundamental tool for tracking causality in distributed applications. Unfortunately, it does not scale well to large systems because each process needs to maintain a vector of size n, where n is the total number of processes in the system. To address this problem, we propose the prime clock, which is based on the encoding of the vector clock using prime numbers and uses a single number to represent vector time. We propose the operations on the encoded vector clock (EVC). We then show how to timestamp global states and how to perform operations on the global states using the EVC. Using a theoretical analysis and a simulation model, we evaluate the growth rate of the size of the EVC. The EVC is seen to grow very fast and hence it does not appear to offer a general purpose practical replacement of vector clocks. To address this drawback, we propose several scalability techniques for the EVC that can allow the use of the EVC in practical applications. We then present two case studies of detecting memory consistency errors in MPI one-sided applications and of dynamic race detection in multi-threaded environments, that use a combination of two of these scalability techniques. The results show that the EVC is not just a theoretical concept, but it is applicable to practical problems and can compete in terms of both space and time requirements with other known protocols.



中文翻译:

主时钟:编码矢量时钟,用于表征分布式系统中的因果关系

向量时钟是跟踪分布式应用程序中因果关系的基本工具。不幸的是,它不能很好地扩展到大型系统,因为每个进程都需要保持一个大小向量ñ,在哪里 ñ是系统中的进程总数。为了解决这个问题,我们提出了质数时钟,该质数时钟基于使用质数对矢量时钟的编码,并使用一个数字来表示矢量时间。我们建议对编码矢量时钟(EVC)进行操作。然后,我们展示如何为全局状态加上时间戳,以及如何使用EVC在全局状态上执行操作。使用理论分析和模拟模型,我们评估了EVC大小的增长率。EVC增长非常快,因此似乎无法提供通用实用的矢量时钟替代产品。为了解决此缺点,我们为EVC提出了几种可伸缩性技术,这些技术可允许在实际应用中使用EVC。然后,我们提供了两个案例研究,它们结合使用了这些可伸缩性技术中的两种,来检测MPI单面应用程序中的内存一致性错误和多线程环境中的动态竞争检测。结果表明,EVC不仅是一个理论概念,而且适用于实际问题,并且可以在空间和时间要求方面与其他已知协议竞争。

更新日期:2020-02-23
down
wechat
bug