(R) The Impact of Speeding up Critical Sections with Data Prefetching and Forwarding

  • Authors:
  • Affiliations:
  • Venue:
  • ICPP '96 Proceedings of the Proceedings of the 1996 International Conference on Parallel Processing - Volume 3
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

Abstract: While shared-memory multiprocessing offers a simple model for process synchronization, actual synchronization may be expensive. Indeed, processors may have to wait for a long time to acquire the lock of a critical section. In addition, a processor may have to stall for a long time waiting for all of its pending accesses to complete before releasing the lock. To address this problem, we target well-known optimization techniques to specifically speed-up accesses to critical sections. We reduce the time taken by critical sections by applying data prefetching and forwarding to minimize the number of misses inside these sections. In addition, we prefetch and forward data in exclusive mode to reduce the stall time before lock release. Our evaluation shows that a simple prefetching algorithm is able to speed-up parallel applications significantly at a very low cost. With this optimization, five Splash applications run 20% faster on average, while one of them runs 52% faster. We also conclude that more complicated, forward-based optimizations are not justified.