Integrating non-blocking synchronisation in parallel applications: performance advantages and methodologies

  • Authors:
  • Philippas Tsigas;Yi Zhang

  • Affiliations:
  • Chalmers University of Technology, Sweden;Chalmers University of Technology, Sweden

  • Venue:
  • WOSP '02 Proceedings of the 3rd international workshop on Software and performance
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we investigate how performance and speedup of applications would be affected by using non-blocking rather than blocking synchronisation in parallel systems. The results obtained show that for many applications, non-blocking synchronisation lead to significant speedups for a fairly large number of processors, while it never slows the applications down. As part of this investigation this paper also provides a set of efficient and simple translations that show how typical blocking operations found in parallel applications, such as simple locks, queues and lock trees can be translated into non-blocking equivalents that use hardware primitives common in modern multiprocessor systems. With these translations this paper clearly demonstrates that it is easy for the application designer/programmer to replace the blocking operations commonly found on with non-blocking equivalents ones. For the empirical results a set of representative applications running on a large-scale ccNUMA machine were used.