A Technique to Avoid Atomic Operations on Large Shared Memory Parallel Systems

  • Updating a shared data structure in a parallel program is usually done with some sort of high-level synchronization operation to ensure correctness and consistency. The realization of such high-level synchronization operations is done with appropriate low-level atomic synchronization instructions that the target processor architecture provides. These instructions are costly and often limited in their scalability on larger multi-core / multi-processor systems. In this paper, a technique is discussed that replaces atomic updates of a shared data structure with ordinary and cheaper read/write operations. The necessary conditions are specified that must be fulfilled to ensure overall correctness of the program despite missing synchronization. The advantage of this technique is the reduction of access costs as well as more scalability due to elided atomic operations. But on the other side, possibly more work has to be done caused by missing synchronization. Therefore, additional work is traded against costly atomic operations. A practical application is shown with level-synchronous parallel Breadth-First Search on an undirected graph where two vertex frontiers are accessed in parallel. This application scenario is also used for an evaluation of the technique. Tests were done on four different large parallel systems with up to 64-way parallelism. It will be shown that for the graph application examined the amount of additional work caused by missing synchronization is neglectible and the performance is almost always better than the approach with atomic operations.

Export metadata

Additional Services

Share in Twitter Search Google Scholar Availability
Metadaten
Document Type:Article
Language:English
Parent Title (English):Soft (International Journal on Advances in Software)
Volume:7
Issue:1&2
First Page:197
Last Page:210
ISSN:1942-2628
URL:http://www.thinkmind.org/index.php?view=article&articleid=soft_v7_n12_2014_16
Publisher:ThinkMind
Date of first publication:2014/06/30
Tag:CAS; atomic operation; parallel breadth-first search; parallel work queue; redundant work; scalability; shared memory
Departments, institutes and facilities:Fachbereich Informatik
Dewey Decimal Classification (DDC):000 Informatik, Informationswissenschaft, allgemeine Werke / 000 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik
Entry in this database:2016/04/22