A Compiler Algorithm for Managing Asynchronous Memory Read Completion
- Creators
- Maskit, Daniel
Abstract
Computers with conventional memory systems have a predictable latency between initiation and completion of a memory read. On such machines it is relatively easy for either the compiler or the processor to guarantee that a load has completed before further references to the loaded register are made. In a machine with a logically shared, but physically distributed, memory, these latencies are not statically predictable. Some existing systems, such as the Cray T3D, deal with this problem by using a hardware mechanism to enforce synchronization on a register which is the target of a remote memory access. The M-Machine currently being designed by the Concurrent VLSI Architecture Group at MIT performs remote memory accesses asynchronously, and allows program execution to continue while the access is outstanding, but does not enforce synchronization in hardware. This architectural simplification, and resulting relaxation of memory completion semantics, poses a challenge to the compiler: how can this simpler memory system be efficiently supported while maintaining program correctness. In particular, what is required to guarantee that there are no conflicts between completion of a memory operation by placing a value into a register, and other uses of the register being written. This paper describes a general solution to this problem, develops an algorithm to implement it, and shows that the algorithm is correct.
Additional Information
© 1996 California Institute of Technology. January 15, 1996. The research described in this report is sponsored primarily by the Advanced Research Projects Agency under contract number DABT63-95-C-0116. The information contained herein does not necessarily reflect the position or policy of the government of the United States, and no official endorsement should be inferred.Attached Files
Submitted - 96-02.pdf
Submitted - 96-02.ps
Files
Additional details
- Eprint ID
- 26888
- Resolver ID
- CaltechCSTR:1996.cs-tr-96-02
- Advanced Research Projects Agency (ARPA)
- DABT63-95-C-0116
- Created
-
2001-05-14Created from EPrint's datestamp field
- Updated
-
2019-10-03Created from EPrint's last_modified field
- Caltech groups
- Computer Science Technical Reports