An I/O-conscious tiling strategy for disk-resident data sets

M. Kandemir*, A. Choudhary, J. Ramanujam

*Corresponding author for this work

Research output: Contribution to journalArticle

8 Scopus citations

Abstract

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.

Original languageEnglish (US)
Pages (from-to)257-284
Number of pages28
JournalJournal of Supercomputing
Volume21
Issue number3
DOIs
StatePublished - Mar 2002

Keywords

  • Disk-resident arrays
  • File layouts
  • I/O-intensive codes
  • Optimizing compilers
  • Tiling

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Information Systems
  • Hardware and Architecture

Fingerprint Dive into the research topics of 'An I/O-conscious tiling strategy for disk-resident data sets'. Together they form a unique fingerprint.

  • Cite this