NASA NTRS ยท 19940016608
Avoiding and tolerating latency in large-scale next-generation shared-memory multiprocessors
Abstract
A scalable solution to the memory-latency problem is necessary to prevent the large latencies of synchronization and memory operations inherent in large-scale shared-memory multiprocessors from reducing high performance. We distinguish latency avoidance and latency tolerance. Latency is avoided when data is brought to nearby locales for future reference. Latency is tolerated when references are overlapped with other computation. Latency-avoiding locales include: processor registers, data caches used temporally, and nearby memory modules. Tolerating communication latency requires parallelism, allowing the overlap of communication and computation. Latency-tolerating techniques include: vector pipelining, data caches used spatially, prefetching in various forms, and multithreading in various forms. Relaxing the consistency model permits increased use of avoidance and tolerance techniques. Each model is a mapping from the program text to sets of partial orders on program operations; it is a convention about which temporal precedences among program operations are necessary. Information about temporal locality and parallelism constrains the use of avoidance and tolerance techniques. Suitable architectural primitives and compiler technology are required to exploit the increased freedom to reorder and overlap operations in relaxed models.
Keep this discovery
Explore connections, maps & timelines
Probst, David K.. 1993-01-01. Avoiding and tolerating latency in large-scale next-generation shared-memory multiprocessors. https://ntrs.nasa.gov/citations/19940016608
Cite the original work for its findings. Save a collection to share your selection of sources.