Epochs

0Citations
Citations of this article
21Readers
Mendeley users who have this article in their library.

Abstract

To date, the implementation of message passing languages has required hte communications variables 1992 either to be limited to the number of physical communications registers in the machine or to be mapped to memory. Neither solution is satisfactory. Limiting the number of variables decreases modularity and efficiency of parallel programs. Mapping variables to memory increases the cost of communications and the granularity of parallelism. We present here a new programming language construct called epochs. Epochs are a scoping mechanism within which the programmer can declare communications variables, which are live only during the scope of that epoch. To limit the range of time a register has to be allocated for a communications variable, the compiler ensures that all processors enter an epoch simultaneously. The programming style engendered fits somewhere between the SIMD data parallel and the MIMD process spawning models. We describe an implementation for epochs including an efficient synchronization mechanism, a means of statically binding registers to communications variables, and a method of fusing epochs to reduce synchronization overhead. © 1992, ACM. All rights reserved.

Cite

CITATION STYLE

APA

Solworth, J. A. (1992). Epochs. ACM Transactions on Programming Languages and Systems (TOPLAS), 14(1), 28–53. https://doi.org/10.1145/111186.116785

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free