Integrating Non-blocking Synchronisation in Parallel Applications: Performance Advantages and Methodologies
Paper i proceeding, 2002

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.


Philippas Tsigas

Chalmers, Institutionen för datavetenskap, Datakommunikation och Distribuerade System

Yi Zhang

Chalmers, Institutionen för datavetenskap, Datakommunikation och Distribuerade System

Proceedings of the 3rd ACM SIGSOFT, SIGMETRICS Workshop on Software and Performance (WOSP ´02)



Data- och informationsvetenskap