Data relocation and prefetching for programs with large data sets

Yoji Yamada, John Gyllenhall, Grant Haab, Wen mei Hwu

Research output: Contribution to specialist publicationArticle

Abstract

Numerical applications frequently contain nested loop structures that process large arrays of data. The execution of these loop structures often produces memory reference patterns that poorly utilize data caches. Limited associativity and cache capacity result in cache conflict misses. Also, non-unit stride access patterns can cause low utilization of cache lines. Data copying has been proposed and investigated in order to reduce cache conflict misses [1][2], but his technique has a high execution overhead since it performs the copy operations entirely in software. We propose a combined hardware and software technique called data relocation and prefetching which eliminates much of the overhead of data copying through the use of special hardware. Furthermore, by relocating the data while performing software prefetching, the overhead of copying the data can be reduced further. Experimental results for data relocation and prefetching are encouraging and show a large improvement in cache performance.

Original languageEnglish (US)
Pages118-127
Number of pages10
Volume7
No21
Specialist publicationProfessional Engineering
StatePublished - Dec 7 1994

Fingerprint

Copying
Relocation
Hardware
Data storage equipment

ASJC Scopus subject areas

  • Mechanical Engineering

Cite this

Data relocation and prefetching for programs with large data sets. / Yamada, Yoji; Gyllenhall, John; Haab, Grant; Hwu, Wen mei.

In: Professional Engineering, Vol. 7, No. 21, 07.12.1994, p. 118-127.

Research output: Contribution to specialist publicationArticle

Yamada, Y, Gyllenhall, J, Haab, G & Hwu, WM 1994, 'Data relocation and prefetching for programs with large data sets' Professional Engineering, vol. 7, no. 21, pp. 118-127.
Yamada, Yoji ; Gyllenhall, John ; Haab, Grant ; Hwu, Wen mei. / Data relocation and prefetching for programs with large data sets. In: Professional Engineering. 1994 ; Vol. 7, No. 21. pp. 118-127.
@misc{e2c635b1208e4d8d8cb739e95278941a,
title = "Data relocation and prefetching for programs with large data sets",
abstract = "Numerical applications frequently contain nested loop structures that process large arrays of data. The execution of these loop structures often produces memory reference patterns that poorly utilize data caches. Limited associativity and cache capacity result in cache conflict misses. Also, non-unit stride access patterns can cause low utilization of cache lines. Data copying has been proposed and investigated in order to reduce cache conflict misses [1][2], but his technique has a high execution overhead since it performs the copy operations entirely in software. We propose a combined hardware and software technique called data relocation and prefetching which eliminates much of the overhead of data copying through the use of special hardware. Furthermore, by relocating the data while performing software prefetching, the overhead of copying the data can be reduced further. Experimental results for data relocation and prefetching are encouraging and show a large improvement in cache performance.",
author = "Yoji Yamada and John Gyllenhall and Grant Haab and Hwu, {Wen mei}",
year = "1994",
month = "12",
day = "7",
language = "English (US)",
volume = "7",
pages = "118--127",
journal = "CME, Chartered Mechanical Engineer",
issn = "0953-6639",
publisher = "Institution of Mechanical Engineers",

}

TY - GEN

T1 - Data relocation and prefetching for programs with large data sets

AU - Yamada, Yoji

AU - Gyllenhall, John

AU - Haab, Grant

AU - Hwu, Wen mei

PY - 1994/12/7

Y1 - 1994/12/7

N2 - Numerical applications frequently contain nested loop structures that process large arrays of data. The execution of these loop structures often produces memory reference patterns that poorly utilize data caches. Limited associativity and cache capacity result in cache conflict misses. Also, non-unit stride access patterns can cause low utilization of cache lines. Data copying has been proposed and investigated in order to reduce cache conflict misses [1][2], but his technique has a high execution overhead since it performs the copy operations entirely in software. We propose a combined hardware and software technique called data relocation and prefetching which eliminates much of the overhead of data copying through the use of special hardware. Furthermore, by relocating the data while performing software prefetching, the overhead of copying the data can be reduced further. Experimental results for data relocation and prefetching are encouraging and show a large improvement in cache performance.

AB - Numerical applications frequently contain nested loop structures that process large arrays of data. The execution of these loop structures often produces memory reference patterns that poorly utilize data caches. Limited associativity and cache capacity result in cache conflict misses. Also, non-unit stride access patterns can cause low utilization of cache lines. Data copying has been proposed and investigated in order to reduce cache conflict misses [1][2], but his technique has a high execution overhead since it performs the copy operations entirely in software. We propose a combined hardware and software technique called data relocation and prefetching which eliminates much of the overhead of data copying through the use of special hardware. Furthermore, by relocating the data while performing software prefetching, the overhead of copying the data can be reduced further. Experimental results for data relocation and prefetching are encouraging and show a large improvement in cache performance.

UR - http://www.scopus.com/inward/record.url?scp=0028767992&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0028767992&partnerID=8YFLogxK

M3 - Article

AN - SCOPUS:0028767992

VL - 7

SP - 118

EP - 127

JO - CME, Chartered Mechanical Engineer

JF - CME, Chartered Mechanical Engineer

SN - 0953-6639

ER -