Introducing the Task-Aware Storage I/O (TASIO) Library
Document typePart of book or chapter of book
Rights accessOpen Access
European Commisision's projectDEEP-EST - DEEP (EC-H2020-754304)
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.
CitationRoca Nonell, A.; Beltran Querol, V.; Mateo Bellido, S. Introducing the Task-Aware Storage I/O (TASIO) Library. A: International Workshop on OpenMP. "IWOMP 2019: OpenMP: Conquering the Full Hardware Spectrum". Springer, 2019, p. 274-288.