...
首页> 外文期刊>ACM SIGPLAN Notices: A Monthly Publication of the Special Interest Group on Programming Languages >Acute: High-level programming language design for distributed computation
【24h】

Acute: High-level programming language design for distributed computation

机译:急性:用于分布式计算的高级编程语言设计

获取原文
获取原文并翻译 | 示例
           

摘要

Existing languages provide good support for typeful programming of standalone programs. In a distributed system, however, there may be interaction between multiple instances of many distinct programs, sharing some (but not necessarily all) of their module structure, and with some instances rebuilt with new versions of certain modules as time goes on. In this paper we discuss programming language support for such systems, focussing on their typing and naming issues.We describe an experimental language, Acute, which extends an ML core to support distributed development, deployment, and execution, allowing type-safe interaction between separately-built programs. The main features are: (1) type-safe marshalling of arbitrary values; (2) type names that are generated (freshly and by hashing) to ensure that type equality tests suffice to protect the invariants of abstract types, across the entire distributed system; (3) expression-level names generated to ensure that name equality tests suffice for type-safety of associated values, e.g. values carried on named channels; (4) controlled dynamic rebinding of marshalled values to local resources; and (5) thunkification of threads and mutexes to support computation mobility.These features are a large part of what is needed for typeful distributed programming. They are a relatively lightweight extension of M L, should be efficiently implementable, and are expressive enough to enable a wide variety of distributed infrastructure layers to be written as simple library code above the byte-string network and persistent store APIs. This disentangles the language runtime from communication intricacies. This paper highlights the main design choices in Acute. It is supported by a full language definition (of typing, compilation, and operational semantics), by a prototype implementation, and by example distribution libraries.
机译:现有语言为独立程序的类型化编程提供了良好的支持。但是,在分布式系统中,许多不同程序的多个实例之间可能存在交互,共享它们的某些(但不一定是全部)模块结构,并且随着时间的流逝,某些实例将使用某些模块的新版本进行重建。在本文中,我们讨论了针对此类系统的编程语言支持,重点是它们的类型和命名问题。我们描述了一种实验语言Acute,该语言扩展了ML核心以支持分布式开发,部署和执行,从而允许分别之间进行类型安全的交互内置程序。主要特征是:(1)类型安全的任意值编组; (2)为确保类型相等性测试足以保护整个分布式系统中的抽象类型的不变量而生成(新近地和通过散列)的类型名称; (3)生成表达式级别的名称,以确保名称相等性测试足以满足关联值的类型安全性,例如命名频道上的值; (4)将编组的值动态地重新绑定到本地资源; (5)线程和互斥体的重组以支持计算移动性。这些功能是有类型的分布式编程所需要的大部分。它们是M L的一个相对轻量级的扩展,应该可以有效地实现,并且具有足够的表达能力,可以将各种分布式基础结构层编写为字节串网络和持久性存储API之上的简单库代码。这使语言运行时脱离了通信的复杂性。本文重点介绍了Acute中的主要设计选择。它由完整的语言定义(类型,编译和操作语义),原型实现和示例分发库支持。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号