Enforcing textual alignment of collectives using dynamic checks

Abstract

Many parallel programs are written in a single-program, multiple-data style, in which synchronization is provided using collective operations that all threads execute simultaneously. If these operations are not properly aligned on all threads, deadlock can occur, and many compiler analyses and optimizations that depend on proper alignment fail. In this paper, we discuss the flaws in the Titanium language's type system for enforcing textual alignment of collectives. We then present a system that uses runtime checks to ensure alignment for two definitions of textual alignment. The system instruments the code to keep track of alignment in each thread and then checks that alignment matches prior to performing a collective operation. We have implemented the system in the Titanium compiler, verifying that it catches alignment errors. We tested its performance on multiple application programs, demonstrating that the checks have no appreciable impact on execution time. © 2010 Springer-Verlag.

Other Versions

No versions found

Links

PhilArchive



    Upload a copy of this work     Papers currently archived: 97,060

External links

Setup an account with your affiliations in order to access resources via your University's proxy server

Through your library

  • Only published works are available at libraries.

Similar books and articles

Alignment and commitment in joint action.Matthew Rachar - 2018 - Philosophical Psychology 31 (6):831-849.
Robustness to Fundamental Uncertainty in AGI Alignment.G. G. Worley Iii - 2020 - Journal of Consciousness Studies 27 (1-2):225-241.

Analytics

Added to PP
2017-05-12

Downloads
6 (#1,644,704)

6 months
4 (#1,480,510)

Historical graph of downloads
How can I increase my downloads?

Citations of this work

No citations found.

Add more citations

References found in this work

No references found.

Add more references