Compiling for instruction cache performance on a multithreaded architecture

Rakesh Kumar, Dean M. Tullsen

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Instruction cache aware compilation seeks to lay out a program in memory in such a way that cache conflicts between procedures are minimized. It does this through profile-driven knowledge of procedure invocation patterns. On a multithreaded architecture, however, more conflicts may arise between threads than between procedures on the same thread. This research examines opportunities for the compiler to optimize instruction cache layout on a multithreaded architecture. We examine scenarios where (1) the compiler has knowledge about multiple programs that will be or are likely to be co-scheduled, and where (2) the compiler has no knowledge at compile time of which applications will be co-scheduled. We present solutions for both environments.

Original languageEnglish (US)
Title of host publicationProceedings - 35th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2002
PublisherIEEE Computer Society
Pages419-429
Number of pages11
ISBN (Electronic)0769518591
DOIs
StatePublished - 2002
Externally publishedYes
Event35th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2002 - Istanbul, Turkey
Duration: Nov 18 2002Nov 22 2002

Publication series

NameProceedings of the Annual International Symposium on Microarchitecture, MICRO
Volume2002-January
ISSN (Print)1072-4451

Other

Other35th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2002
Country/TerritoryTurkey
CityIstanbul
Period11/18/0211/22/02

Keywords

  • Communication system control
  • Computer architecture
  • Computer science
  • Hardware
  • Multithreading
  • Operating systems
  • Optimizing compilers
  • Program processors
  • Surface-mount technology
  • Yarn

ASJC Scopus subject areas

  • Hardware and Architecture

Fingerprint

Dive into the research topics of 'Compiling for instruction cache performance on a multithreaded architecture'. Together they form a unique fingerprint.

Cite this