Maskit, Daniel (1996) A Compiler Algorithm for Managing Asynchronous Memory Read Completion. California Institute of Technology , Pasadena, CA. (Unpublished) https://resolver.caltech.edu/CaltechCSTR:1996.cs-tr-96-02
![]()
|
Postscript
- Submitted Version
See Usage Policy. 328kB | |
![]()
|
PDF
- Submitted Version
See Usage Policy. 209kB |
Use this Persistent URL to link to this item: https://resolver.caltech.edu/CaltechCSTR:1996.cs-tr-96-02
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.
Item Type: | Report or Paper (Technical Report) | ||||
---|---|---|---|---|---|
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. | ||||
Group: | Computer Science Technical Reports | ||||
Funders: |
| ||||
DOI: | 10.7907/Z9Q81B3B | ||||
Record Number: | CaltechCSTR:1996.cs-tr-96-02 | ||||
Persistent URL: | https://resolver.caltech.edu/CaltechCSTR:1996.cs-tr-96-02 | ||||
Usage Policy: | You are granted permission for individual, educational, research and non-commercial reproduction, distribution, display and performance of this work in any format. | ||||
ID Code: | 26888 | ||||
Collection: | CaltechCSTR | ||||
Deposited By: | Imported from CaltechCSTR | ||||
Deposited On: | 14 May 2001 | ||||
Last Modified: | 03 Oct 2019 03:18 |
Repository Staff Only: item control page