论文标题

营地:成本意识的多方会话协议

CAMP: Cost-Aware Multiparty Session Protocols

论文作者

Castro-Perez, David, Yoshida, Nobuko

论文摘要

本文介绍了CAMP,这是一个新的静态性能分析框架,该框架是基于多方会话类型(MPST)的理论,用于引起消息并发和分布式系统。了解并发和分布式系统的运行时间性能对于识别瓶颈和优化机会至关重要。在通信设置中,这些瓶颈通常是通信开销和同步时间。尽管它很重要,但与验证诸如正确性之类的扩展属性相比,对软件的这些强度属性(例如性能)的推理很少。基于会话类型的行为协议规范不仅捕获扩展,而且捕获并发和分布式系统的强度属性。 CAMP增强MPST,并以通信延迟和本地计算成本的注释定义为估计的执行时间,我们用来从协议描述中提取成本方程。 CAMP也可以扩展以分析基于会话类型的最新进展理论的异步沟通优化。我们将工具应用于文献中不同的现有基准和用例,并在C,MPI-C,Scala,GO和OCAML中实现了广泛的通信协议。我们的基准表明,在大多数情况下,我们预测实际执行成本的上限,误差<15%。

This paper presents CAMP, a new static performance analysis framework for message-passing concurrent and distributed systems, based on the theory of multiparty session types (MPST). Understanding the run-time performance of concurrent and distributed systems is of great importance for the identification of bottlenecks and optimisation opportunities. In the message-passing setting, these bottlenecks are generally communication overheads and synchronisation times. Despite its importance, reasoning about these intensional properties of software, such as performance, has received little attention, compared to verifying extensional properties, such as correctness. Behavioural protocol specifications based on sessions types capture not only extensional, but also intensional properties of concurrent and distributed systems. CAMP augments MPST with annotations of communication latency and local computation cost, defined as estimated execution times, that we use to extract cost equations from protocol descriptions. CAMP is also extendable to analyse asynchronous communication optimisation built on a recent advance of session type theories. We apply our tool to different existing benchmarks and use cases in the literature with a wide range of communication protocols, implemented in C, MPI-C, Scala, Go, and OCaml. Our benchmarks show that, in most of the cases, we predict an upper-bound on the real execution costs with < 15% error.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源