iHarmonizer: Improving the Disk Efficiency of I/O intensive Multithreaded Codes
SESSION: Research Poster Reception
EVENT TYPE: Poster
TIME: 5:15PM - 7:00PM
AUTHOR(S):Yizhe Wang, Song Jiang, Kei Davis
ABSTRACT: The wide adoption of multi-core architectures and SMT technology is driving software developers to multithreading for thread-level parallelism. Multithreading can cause patterns of I/O requests to be random and degrade hard-disk efficiency due to uncertainty of relative progress of thread execution. This effect can severely offset the performance gains from parallel execution. How to keep the benefits of multithreading while not reducing I/O efficiency is an urgent issue. We propose a scheme, iHarmonizer, to streamline the service of I/O requests from different threads of an OpenMP program through implicit manipulation of thread scheduling. Specifically, we use the compiler to analyze data usage of a program and disclose it on the fly to a supporting runtime library that prefetches data in a disk-friendly way and coordinates threads' execution according to the availability of their requested data. Without programmers' effort, iHarmonizer makes a multithreaded program I/O efficient while maintaining the benefits of parallelism.