...
首页> 外文期刊>LIPIcs : Leibniz International Proceedings in Informatics >Godot: All the Benefits of Implicit and Explicit Futures
【24h】

Godot: All the Benefits of Implicit and Explicit Futures

机译:Godot:隐性和显性期货的所有好处

获取原文

摘要

Concurrent programs often make use of futures, handles to the results of asynchronous operations. Futures provide means to communicate not yet computed results, and simplify the implementation of operations that synchronise on the result of such asynchronous operations. Futures can be characterised as implicit or explicit, depending on the typing discipline used to type them. Current future implementations suffer from "future proliferation", either at the type-level or at run-time. The former adds future type wrappers, which hinders subtype polymorphism and exposes the client to the internal asynchronous communication architecture. The latter increases latency, by traversing nested future structures at run-time. Many languages suffer both kinds. Previous work offer partial solutions to the future proliferation problems; in this paper we show how these solutions can be integrated in an elegant and coherent way, which is more expressive than either system in isolation. We describe our proposal formally, and state and prove its key properties, in two related calculi, based on the two possible families of future constructs (data-flow futures and control-flow futures). The former relies on static type information to avoid unwanted future creation, and the latter uses an algebraic data type with dynamic checks. We also discuss how to implement our new system efficiently.
机译:并发程序通常利用期货来处理异步操作的结果。期货提供了传达尚未计算的结果的方法,并简化了根据此类异步操作的结果进行同步的操作的实现。可以将期货分为隐性还是显性,具体取决于用于键入期货的类型。当前的未来实现在类型级别或运行时都遭受“未来扩散”的困扰。前者增加了将来的类型包装器,后者阻碍了子类型的多态性,并使客户端暴露于内部异步通信体系结构中。后者通过在运行时遍历嵌套的未来结构来增加延迟。许多语言都受两种影响。先前的工作为将来的扩散问题提供了部分解决方案;在本文中,我们展示了如何以一种优雅而连贯的方式集成这些解决方案,这比任何一个孤立的系统都更具表现力。我们基于两种可能的未来构造族(数据流期货和控制流期货),在两个相关的演算中正式描述我们的提议,并陈述和证明其关键特性。前者依靠静态类型信息来避免将来不必要的创建,而后者则使用带有动态检查的代数数据类型。我们还将讨论如何有效地实施我们的新系统。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号