Coordination protocols help programmers of distributed systems reason about the effects of transactions on the state of the system, but they're not cheap. Coordination protocols may involve multiple rounds of communication, which can hurt system responsiveness. There exist many efforts in distributed computing for managing the coordination-performance trade-off. More recent is a line of work that characterizes the class of workloads for which coordination is not necessary for consistency: namely, logically monotonic programs. In this paper, we present a case study of logical monotonicity in workloads typical to computational biology. We leverage the Bloom language to write efficient distributed programs, and compare their performance to equivalent programs written in UPC++, a popular language for writing distributed programs. Additionally, we leverage Bloom's analysis tools to identify points-of-coordination, and use our own experience using Bloom to recommend some higher-level abstractions for users without strong distributed computing backgrounds.
翻译:协调协议有助于分布式系统的程序员了解交易对系统状态的影响,但并不便宜。 协调协议可能涉及多轮通信,这可能会损害系统的反应能力。 在管理协调-业绩权衡时,在分配计算方面存在许多努力。 最近的是一系列工作,它的特点是不需要协调来保持一致性的工作量类别: 即逻辑单调程序。 本文介绍了对计算生物学典型工作量逻辑单一性的案例研究。 我们利用布鲁姆语言来编写高效的分布式程序,并将其效绩与在UPC+++中编写的同等程序进行比较,而UPC++是用于编写分布式程序的一种流行语言。 此外,我们利用布鲁姆的分析工具来确定协调点,并利用我们自己的经验为没有强大分布式计算背景的用户推荐一些更高层次的抽象。