【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接口不同,AC允许一个线程发出多个IO请求,以便它们可以同时为服务提供服务,因此长期操作可以与计算重叠。与传统的异步IO接口不同,AC不需要使用代码来使用多个线程,并且不需要代码将“堆栈删除”的代码相同,而无需将代码“删除”。 AC提供异步声明,以确定要同时发行的IO操作的机会。 。完成块等待直到任何被封闭的异步工作完成,以及请求在封闭中取消未完成的IO的取消声明。 。结束。我们为核心语言提供操作语义。我们描述并评估与在巴拉弗里研究操作系统上传递的消息集成的实现,并在Microsoft Windows上与异步文件和网络IO集成。我们表明AC为异步IO的现有C / C ++接口提供了可比的性能,同时提供了更简单的编程模型。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号