Title :
iHarmonizer: Improving the Disk Efficiency of I/O-intensive Multithreaded Codes
Author :
Wang, Yizhe ; Davis, Kei ; Xu, Yuehai ; Jiang, Song
Author_Institution :
ECE Dept., Wayne State Univ., Detroit, MI, USA
Abstract :
Challenged by serious power and thermal constraints and limited by available instruction-level parallelism, processor designs have evolved to multi-core architectures. These architectures, many augmented with native simultaneous multithreading, are driving software developers to use multithreaded programs to exploit thread-level parallelism. While multithreading is well known to introduce concerns of data dependency and CPU load balance, less known is that the uncertainty of relative progress of thread execution can cause patterns of I/O requests, issued by different threads, to be effectively random and so significantly degrade hard-disk efficiency. This effect can severely offset the performance gains from parallel execution, especially for I/O-intensive programs. Retaining the benefits of multithreading while not losing I/O efficiency is an urgent and challenging problem. We propose a user-level scheme, iHarmonizer, to streamline the servicing of I/O requests from multiple threads in the Open MP programs. Specifically, we use the compiler to insert code into Open MP programs so that data usage can be transmitted at run time to a supporting run-time library that prefetches data in a disk friendly way and coordinates threads´ execution according to the availability of their requested data. Transparent to the programmer, iHarmonizer makes a multithreaded program I/O efficient while maintaining the benefits of parallelism. Our experiments show that iHarmonizer can significantly speed up the execution of a representative set of I/O-intensive scientific benchmarks.
Keywords :
message passing; multi-threading; parallel processing; program compilers; resource allocation; software performance evaluation; CPU load balance; I/O request; I/O-intensive multithreaded code; I/O-intensive program; I/O-intensive scientific benchmark; Open MP program; compiler; data dependency; data usage; hard-disk efficiency; iHarmonizer; instruction-level parallelism; multicore architecture; multithreaded program I/O; native simultaneous multithreading; parallel execution; power constraint; processor design; software developer; thermal constraint; thread execution; thread-level parallelism; user-level scheme; Arrays; Multithreading; Prefetching; Runtime; Synchronization; Disk Performance; I/O Scheduling; Multi-threading;
Conference_Titel :
Parallel & Distributed Processing Symposium (IPDPS), 2012 IEEE 26th International
Conference_Location :
Shanghai
Print_ISBN :
978-1-4673-0975-2
DOI :
10.1109/IPDPS.2012.87