In the Hydro project we are designing a compiler toolkit that can optimize for the concerns of distributed systems, including scale-up and scale-down, availability, and consistency of outcomes across replicas. This invited paper overviews the project, and provides an early walk-through of the kind of optimization that is possible. We illustrate how type transformations as well as local program transformations can combine, step by step, to convert a single-node program into a variety of distributed design points that offer the same semantics with different performance and deployment characteristics.
翻译:在Hydro项目中,我们正设计一套编译器工具集,用于优化分布式系统的关键性能指标,包括纵向扩展与横向扩展、可用性以及副本间结果的一致性。本受邀论文概述了该项目的整体框架,并初步演示了可行的优化方式。我们通过逐步展示类型转换与局部程序变换的结合,说明如何将单节点程序转换为多种分布式设计方案,这些方案在保持相同语义的同时,呈现出不同的性能与部署特性。