使用Futures减少I/O延迟
Reduced I/O Latency with Futures
摘要:
任务并行性的研究传统上集中在优化计算密集型应用程序。由于商品并行处理器的扩散,最近已经有兴趣支持交互式应用程序。这样的交互式应用程序经常依赖于I/O操作,这可能导致显著的延迟。为了提高性能,当特定的控制线程在I/O操作上被阻塞时,理想情况下,我们希望通过使用处理资源来执行其他就绪工作来隐藏此延迟,而不是阻塞或旋转等待此I/O。有有限的先前工作隐藏此延迟,只有一个结果,提供了一个理论界的交互式应用程序,使用I/O。在这项工作中,我们提出了一种方法,通过使用期货抽象隐藏延迟的I/O操作。我们提供了一个理论分析,我们的算法,表明我们的算法提供了更好的执行时间保证比以前的工作。我们还实现了一个实际有效的原型库,运行在Cilk-F运行时,运行时系统,支持期货的上下文中的Cilk Plus语言,并进行实验,证明我们的实现效率的算法。
英文摘要:
Task parallelism research has traditionally focused on optimizing computation-intensive applications. Due to the proliferation of commodity parallel processors, there has been recent interest in supporting interactive applications. Such interactive applications frequently rely on I/O operations that may incur significant latency. In order to increase performance, when a particular thread of control is blocked on an I/O operation, ideally we would like to hide this latency by using the processing resources to do other ready work instead of blocking or spin waiting on this I/O. There has been limited prior work on hiding this latency and only one result that provides a theoretical bound for interactive applications that use I/Os. In this work, we propose a method for hiding the latency of I/O operations by using the futures abstraction. We provide a theoretical analysis of our algorithm that shows our algorithm provides better execution time guarantees than prior work. We also implemented the algorithm in a practically efficient prototype library that runs on top of the Cilk-F runtime, a runtime system that supports futures within the context of the Cilk Plus language, and performed experiments that demonstrate the efficiency of our implementation.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。