Portable, Modular Expression of Locality

TitlePortable, Modular Expression of Locality
Publication TypeTechnical Report
Year of Publication1997
AuthorsStoutamire, D.
Other Numbers1118

It is difficult to achieve high performance while programming in the large. In particular, maintaining locality hinders portability and modularity. Existing methodologies are not sufficient: explicit communication and coding for locality require the programmer to violate encapsulation and compositionality of software modules, while automated compiler analysis remains unreliable. This thesis presents a performance model that makes thread and object locality explicit. Zones form a runtime hierarchy that reflects the intended clustering of threads and objects, which are dynamically mapped onto hardware units such as processor clusters, pages, or cache lines. This conceptual indirection allows programmers to reason in the abstract about locality without committing to the hardware of a specific memory system. Zones complement conventional coding for locality and may be added to existing code to improve performance without affecting correctness. The integration of zones into the Sather language is described, including an implementation of memory management customized to parameters of the memory system.

Bibliographic Notes

ICSI Technical Report TR-97-056

Abbreviated Authors

D. Stoutamire

ICSI Publication Type

Technical Report