Back to Search
Start Over
Evaluation of Compiler-Controlled Updating to Reduce Coherence-Miss Penalties in Shared-Memory Multiprocessors
- Source :
- Journal of Parallel and Distributed Computing. 56:122-143
- Publication Year :
- 1999
- Publisher :
- Elsevier BV, 1999.
-
Abstract
- We consider in this paper the effectiveness of a new approach calledcompiler-controlledupdating to reduce coherence-miss penalties in shared-memory multiprocessors. A key part of the method is a compiler algorithm that identifies the last store instruction to a memory block in a flow graph using classic dataflow analysis techniques. Such stores are marked and replaced by update instructions that at run time make the memory copy clean. Whereas this static method shortens the read-miss latency for actively shared blocks, it can cause useless traffic for shared blocks that are effectively private. We therefore complement the static analysis with a dynamic simple heuristic in the cache coherence protocol aiming at classifying blocks as private or shared at run time. We evaluate the performance effects of compiler-controlled updating using six scientific parallel applications compiled by an optimizing compiler that incorporates our static analysis and then running them on a detailed CC-NUMA architectural simulation model. We have found that the compiler algorithm can convert between 83 and 100% of the dirty misses into clean misses. By adding the private/shared heuristic, the update traffic of private memory blocks can be practically eliminated. Overall, the static analysis in combination with the dynamic heuristic is shown to reduce the execution time by as much as 32%.
- Subjects :
- Hardware_MEMORYSTRUCTURES
Computer Networks and Communications
CPU cache
Dataflow
Computer science
Optimizing compiler
Parallel computing
Static analysis
computer.software_genre
Execution time
Theoretical Computer Science
Shared memory
Artificial Intelligence
Hardware and Architecture
Control flow graph
Compiler
computer
Software
Cache coherence
Subjects
Details
- ISSN :
- 07437315
- Volume :
- 56
- Database :
- OpenAIRE
- Journal :
- Journal of Parallel and Distributed Computing
- Accession number :
- edsair.doi...........0e39361bee293defe1d442beeadbb590
- Full Text :
- https://doi.org/10.1006/jpdc.1998.1510