Synchronization coherence: A transparent hardware mechanism for cache coherence and fine-grained synchronization

  • Authors:
  • Yao Guo;Vladimir Vlassov;Raksit Ashok;Richard Weiss;Csaba Andras Moritz

  • Affiliations:
  • School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China;School of Information and Communication Technology, Royal Institute of Technology, Sweden;Google Inc., 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA;The Evergreen State College, Olympia, WA 98505, USA;Department of Electrical and Computer Engineering, University of Massachusetts, Amherst, MA 01003, USA

  • Venue:
  • Journal of Parallel and Distributed Computing
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

The quest to improve performance forces designers to explore finer-grained multiprocessor machines. Ever increasing chip densities based on CMOS improvements fuel research in highly parallel chip multiprocessors with 100s of processing elements. With such increasing levels of parallelism, synchronization is set to become a major performance bottleneck and efficient support for synchronization an important design criterion. Previous research has shown that integrating support for fine-grained synchronization can have significant performance benefits compared to traditional coarse-grained synchronization. Not much progress has been made in supporting fine-grained synchronization transparently to processor nodes: a key reason perhaps why wide adoption has not followed. In this paper, we propose a novel approach called synchronization coherence that can provide transparent fine-grained synchronization and caching in a multiprocessor machine and single-chip multiprocessor. Our approach merges fine-grained synchronization mechanisms with traditional cache coherence protocols. It reduces network utilization as well as synchronization related processing overheads while adding minimal hardware complexity as compared to cache coherence mechanisms or previously reported fine-grained synchronization techniques. In addition to its benefit of making synchronization transparent to processor nodes, for the applications studied, it provides up to 23% improvement in performance and up to 24% improvement in energy efficiency with no L2 caches compared to previous fine-grained synchronization techniques. The performance improvement increases up to 38% when simulating with an ideal L2 cache system.