Parallel and Distributed Processing Symposium, International (2001)
San Francisco, California, USA
Apr. 23, 2001 to Apr. 27, 2001
Providing variable granularities is an attractive way to achieve good speedups for various classes of parallel applications. A few systems achieve this goal by instrumenting an application with the checking code for the state of shared data. Although these systems can provide arbitrary granularities flexibly, they have severe race conditions inherent to software-only approaches as well as the run-time overhead of the instrumentation. In this paper, we propose a new mechanism, which has low overhead and incurs no race conditions while providing variable granularities in software. The unique idea of our mechanism is to delegate the state checks to the segmentation hardware of the Intel X86. The instrumented code only maintains the state of shared data to use the segmentation hardware Because the hardware atomically performs the required state checks and corresponding references, our mechanism is free from dif .cult race conditions. This feature efficiently enhances the response time to remote requests via an interrupt mechanism without additional synchronization overheads for avoiding race conditions. The run-time overhead further decreases owing to the reduced works to be done by software. The evaluation results show that o r mechanism exhibits sufficiently low overhead even without any optimization.
D. Park, C. H. Park, J. Chung and Y. Roh, "Efficient Fine-Grain Sharing Support for Software DSMs Through Segmentation," Parallel and Distributed Processing Symposium, International(IPDPS), San Francisco, California, USA, 2001, pp. 10064.