SOLUTIONS AND DEBUGGING FOR DATA CONSISTENCY IN MULTIPROCESSORS WITH NONCOHERENT CACHES

Citation
D. Bernstein et al., SOLUTIONS AND DEBUGGING FOR DATA CONSISTENCY IN MULTIPROCESSORS WITH NONCOHERENT CACHES, International journal of parallel programming, 23(1), 1995, pp. 83-103
Citations number
24
Categorie Soggetti
Computer Sciences","Computer Science Theory & Methods
ISSN journal
08857458
Volume
23
Issue
1
Year of publication
1995
Pages
83 - 103
Database
ISI
SICI code
0885-7458(1995)23:1<83:SADFDC>2.0.ZU;2-O
Abstract
We analyze two important problems that arise in shared-memory multipro cesser systems. The stale data problem involves ensuring that data ite ms in local memory of individual processors are current, independent o f writes done by other processors. False sharing occurs when two proce ssors have copies of the same shared data block but update different p ortions of the block. The false sharing problem involves guaranteeing that subsequent writes are properly combined. In modern architectures these problems are usually solved in hardware, by exploiting mechanism s for hardware controlled cache consistency. This leads to more expens ive and nonscalable designs. Therefore, we are concentrating on softwa re methods for ensuring cache consistency that would allow for afforda ble and scalable multiprocessing systems. Unfortunately, providing sof tware control is nontrivial, both for the compiler writer and for the application programmer. For this reason we are developing a debugging environment that will facilitate the development of compiler-based tec hniques and will help the programmer to tune his or her application us ing explicit cache management mechanisms. We extend the notion of a ra ce condition for IBM Shared Memory System POWER/4, taking into conside ration its noncoherent caches, and propose techniques for detection of false sharing problems. Identification of the stale data problem is d iscussed as well, and solutions are suggested.