论文标题
引入任务感知存储I/O(TASIO)库
Introducing the Task-Aware Storage I/O (TASIO) Library
论文作者
论文摘要
基于任务的编程模型是并行化和无缝加载应用程序工作负载的绝佳工具。但是,缺乏I/O密集应用程序和基于任务的编程模型的集成。通常,I/O操作拖延了请求线程,直到备份设备为数据提供服务。因为线程运行的核心变得空闲,因此应该可以将数据查询操作与计算工作负载甚至更多I/O操作重叠。尽管如此,与其他任务重叠的I/O任务需要额外的复杂性,目前尚未通过编程模型的运行时间来管理。在这项工作中,我们通过引入任务感知存储I/O(TASIO)库将存储I/O集成到任务模型中。我们使用自定义基准测试Tasio进行多种配置测试,并得出结论,它能够根据工作负载达到2倍的速度,尽管如果不使用正确的设置,它可能会导致速度减慢。
Task-based programming models are excellent tools to parallelize and seamlessly load balance an application workload. However, the integration of I/O intensive applications and task-based programming models is lacking. Typically, I/O operations stall the requesting thread until the data is serviced by the backing device. Because the core where the thread was running becomes idle, it should be possible to overlap the data query operation with either computation workloads or even more I/O operations. Nonetheless, overlapping I/O tasks with other tasks entails an extra degree of complexity currently not managed by programming models' runtimes. In this work, we focus on integrating storage I/O into the tasking model by introducing the Task-Aware Storage I/O (TASIO) library. We test TASIO extensively with a custom benchmark for a number of configurations and conclude that it is able to achieve speedups up to 2x depending on the workload, although it might lead to slowdowns if not used with the right settings.