TY - JOUR
T1 - An I/O-conscious tiling strategy for disk-resident data sets
AU - Kandemir, M.
AU - Choudhary, A.
AU - Ramanujam, J.
N1 - Funding Information:
Mahmut Kandemir is supported in part by NSF grant CCR-0097998. Alok Choud-hary is supported in part by NSF Young Investigator Award CCR-9357840, NSF grants CCR-9509143 and CCR-9796029, the Air Force Materials Command und er contract F30602-97-C-0026, and the Department of Energy und er the ACSI Academic Strategic Alliance Program Level 2, under subcontract No. W-7405-ENG-48 from Lawrence Livermore Labs. The work of J. Ramanujam is supported in part by NSF Young Investigator Award CCR-9457768 and NSF grant CCR-0073800.
PY - 2002/3
Y1 - 2002/3
N2 - This paper describes a tiling technique that can be used by application programmers and optimizing compilers to obtain I/O-efficient versions of regular scientific loop nests. Due to the particular characteristics of I/O operations, a straighforward extension of the traditional tiling method to I/O-intensive programs may result in poor I/O performance. Therefore, the technique presented in this paper adapts iteration space tiling for I/O-performing loop nests to deliver high I/O performance. The generated code results in huge savings in the number of I/O calls as well as the volume of data transferred between the disk subsystem and main memory. Our experimental results on the IBM SP-2 distributed-memory message-passing multiprocessor demonstrate that the reduction in these two parameters, namely, the number of I/O calls and the transferred data volume, can lead to a marked decrease in overall execution times of I/O-intensive loop nests. In a number of loop nests extracted from several benchmarks and math libraries, we were able to improve the execution times by an average 42.5% for one data set and by an average 47.4% for another.
AB - This paper describes a tiling technique that can be used by application programmers and optimizing compilers to obtain I/O-efficient versions of regular scientific loop nests. Due to the particular characteristics of I/O operations, a straighforward extension of the traditional tiling method to I/O-intensive programs may result in poor I/O performance. Therefore, the technique presented in this paper adapts iteration space tiling for I/O-performing loop nests to deliver high I/O performance. The generated code results in huge savings in the number of I/O calls as well as the volume of data transferred between the disk subsystem and main memory. Our experimental results on the IBM SP-2 distributed-memory message-passing multiprocessor demonstrate that the reduction in these two parameters, namely, the number of I/O calls and the transferred data volume, can lead to a marked decrease in overall execution times of I/O-intensive loop nests. In a number of loop nests extracted from several benchmarks and math libraries, we were able to improve the execution times by an average 42.5% for one data set and by an average 47.4% for another.
UR - http://www.scopus.com/inward/record.url?scp=0036500189&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0036500189&partnerID=8YFLogxK
U2 - 10.1023/A:1014156327748
DO - 10.1023/A:1014156327748
M3 - Article
AN - SCOPUS:0036500189
SN - 0920-8542
VL - 21
SP - 257
EP - 284
JO - Journal of Supercomputing
JF - Journal of Supercomputing
IS - 3
ER -