Abstract
Traditional software controlled data cache prefetching is often ineffective due to the lack of runtime cache miss and miss address information. To overcome this limitation, we implement runtime data cache prefetching in the dynamic optimization system ADORE (ADaptive Object code Reoptimization). Its performance has been compared with static software prefetching on the SPEC2000 benchmark suite. Runtime cache prefetching shows better performance. On an Itanium 2 based Linux workstation, it can increase performance by more than 20% over static prefetching on some benchmarks. For benchmarks that do not benefit from prefetching, the runtime optimization system adds only 1%-2% overhead. We have also collected cache miss profiles to guide static data cache prefetching in the ORC compiler. With that information the compiler can effectively avoid generating prefetches for loops that hit well in the data cache.
Original language | English (US) |
---|---|
Title of host publication | Proceedings - 36th International Symposium on Microarchitecture, MICRO 2003 |
Publisher | IEEE Computer Society |
Pages | 180-190 |
Number of pages | 11 |
ISBN (Electronic) | 076952043X |
DOIs | |
State | Published - 2003 |
Event | 36th International Symposium on Microarchitecture, MICRO 2003 - San Diego, United States Duration: Dec 3 2003 → Dec 5 2003 |
Publication series
Name | Proceedings of the Annual International Symposium on Microarchitecture, MICRO |
---|---|
Volume | 2003-January |
ISSN (Print) | 1072-4451 |
Other
Other | 36th International Symposium on Microarchitecture, MICRO 2003 |
---|---|
Country/Territory | United States |
City | San Diego |
Period | 12/3/03 → 12/5/03 |
Bibliographical note
Publisher Copyright:© 2003 IEEE.
Keywords
- Application software
- Cities and towns
- Computer science
- Data engineering
- Microprocessors
- Optimizing compilers
- Prefetching
- Programming profession
- Runtime
- Software performance