University of Illinois at Urbana-Champaign
Exploring alternatives to hardware support for fine-grain synchronization
Abstract
dc:descriptionAs we prepare for the extreme-scale era of computing, communication overhead and synchronization between cores will soon become extremely important. In this work we study three different methods of support for fine-grain synchronization. Fine-grain synchronization allows a task to be broken up into very small units, improving load balancing and reducing lock contention. The different methods include hardware support for full/empty bits, compare-and-swap (CAS) emulation of full/empty bits, and dual CAS operations. Roger Golliver’s single CAS implementation is a novel method which chooses a bit pattern to represent an “empty” full/empty bit state. The primary concerns are hardware overhead, efficiency of the synchronization, and energy wasted while spinning. We have tested the methods on a set of four different highly parallel algorithms on up to 32 cores. Our results show that fine-grain synchronization can have significant performance benefits, and emulation through CAS can do just as well as hardware-supported full/empty bits in many cases. We had much difficulty finding suitable algorithms that use fine-grain synchronization in a meaningful way, and among those that did use fine-grain synchronization meaningfully, there were limited cases where hardware support had a significant advantage over emulation through CAS. Given these results, we find it difficult to justify including full/empty bits in an extreme-scale design.
Degree
thesis:*- Name thesis:degree_name
- M.S.
- Level thesis:degree_level
- Thesis
- Discipline thesis:degree_discipline
- Electrical & Computer Engr
- Grantor
- University of Illinois at Urbana-Champaign
- Year dc:date
- 2013
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Ahrens, Benjamin
- Contributors dc:contributor
-
- Torrellas, Josep
Subjects
dc:subject × 3Rights
dc:rights- Statement dc:rights
-
- Copyright 2012 Benjamin Ahrens
- Language dc:language
- en
Identifiers
dc:identifier.*- Handle dc:identifier
- http://hdl.handle.net/2142/42154
- OAI identifier oai:identifier
- oai:www.ideals.illinois.edu:2142/42154