Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. Singapore-MIT Alliance (SMA)
  3. Computer Science (CS)
  4. Increasing and Detecting Memory Address Congruence

Increasing and Detecting Memory Address Congruence

Thumbnail Image
Download
Name

CS014.pdf

Size

11.15 KB

Format

Adobe PDF

Checksum (MD5)

997aed5d6adf4d0c141d1104c6dbee39

Author(s)
Larsen, Samuel
•
Witchel, Emmett
•
Amarasinghe, Saman P.
Date Issued
January 2003
Series/Report no.
Computer Science (CS);
Abstract
A static memory reference exhibits a unique property when its dynamic memory addresses are congruent with respect to some non-trivial modulus. Extraction of this congruence information at compile-time enables new classes of program optimization. In this paper, we present methods for forcing congruence among the dynamic addresses of a memory reference. We also introduce a compiler algorithm for detecting this property. Our transformations do not require interprocedural analysis and introduce almost no overhead. As a result, they can be incorporated into real compilation systems. On average, our transformations are able to achieve a five-fold increase in the number of congruent memory operations. We are then able to detect 95% of these references. This success is invaluable in providing performance gains in a variety of areas. When congruence information is incorporated into a vectorizing compiler, we can increase the performance of a G4 AltiVec processor up to a factor of two. Using the same methods, we are able to reduce energy consumption in a data cache by as much as 35%.
Subjects
memory address congruence
vectorizing compiler
program optimization
Persistent DSpace Link
http://hdl.handle.net/1721.1/3760
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.