2 research outputs found

    An I/O-Conscious Tiling Strategy for Disk-Resident Data Sets

    No full text
    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 straightforwardextension of the traditional tiling method to I/O-intensive programs may result in poor I/O performance. Therefore, the technique presentedin 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 transferredbetween the disk subsystem andmain 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 andthe transferreddata volume, can leadto a markeddecrease in overall execution times of I/O-intensive loop nests. In a number of loop nests extractedfrom several benchmarks andmath 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. Keywords: optimizing compilers, I/O-intensive codes, tiling, file layouts, disk-resident arrays 1

    An I/O-Conscious Tiling Strategy for Disk-Resident Data Sets

    No full text
    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 straightforwardextension of the traditional tiling method to I/O-intensive programs may result in poor I/O performance. Therefore, the technique presentedin 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 transferredbetween the disk subsystem andmain 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 andthe transferreddata volume, can leadto a markeddecrease in overall execution times of I/O-intensive loop nests. In a number of loop nests extractedfrom several benchmarks andmath 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. Keywords: optimizing compilers, I/O-intensive codes, tiling, file layouts, disk-resident array
    corecore