【24h】

AC: Composable Asynchronous IO for Native Languages

机译:AC:用于本地语言的可组合异步IO

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

摘要

This paper introduces AC, a set of language constructs for composable asynchronous IO in native languages such as C/C++. Unlike traditional synchronous IO interfaces, AC lets a thread issue multiple IO requests so that they can be serviced concurrently, and so that long-latency operations can be overlapped with computation. Unlike traditional asynchronous IO interfaces, AC retains a sequential style of programming without requiring code to use multiple threads, and without requiring code to be "stack-ripped" into chains of callbacks. AC provides an async statement to identify opportunities for IO operations to be issued concurrently, a do. . finish block that waits until any enclosed async work is complete, and a cancel statement that requests cancellation of unfinished IO within an enclosing do. . finish. We give an operational semantics for a core language. We describe and evaluate implementations that are integrated with message passing on the Barrelfish research OS, and integrated with asynchronous file and network IO on Microsoft Windows. We show that AC offers comparable performance to existing C/C++ interfaces for asynchronous IO, while providing a simpler programming model.
机译:本文介绍了AC,这是用于以本地语言(例如C / C ++)构成可组合异步IO的一组语言构造。与传统的同步IO接口不同,AC使线程可以发出多个IO请求,以便可以同时处理它们,从而使长等待时间操作可以与计算重叠。与传统的异步IO接口不同,AC保留了顺序编程风格,无需代码使用多个线程,也无需将代码“堆栈撕裂”成回调链。 AC提供了一个异步语句来标识同时执行IO操作的机会。 。完成块,直到所有封闭的异步工作完成为止,还有一个cancel语句,请求取消封闭的do中未完成的IO。 。完。我们给出了核心语言的操作语义。我们描述和评估与Barrelfish研究OS上传递的消息集成,以及与Microsoft Windows上的异步文件和网络IO集成的实现。我们展示了AC提供了与现有C / C ++接口相当的异步IO性能,同时提供了更简单的编程模型。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号