A Practical Energy Reduction Technique Exploiting Synchronization Cycles for Multi-core Processors
Date
2013-05-19Author
Singh, Ripudaman
Department
Electrical Engineering
Advisor(s)
Kim, Nam
Metadata
Show full item recordAbstract
Spinning had been the classical way of implementing synchronization primitives (i.e., barriers, locks and conditions) in pthread library before the recent adoption of fast user space mutex (futex). While improving energy efficiency has been greatly emphasized, no study has compared these two implemen-tations in such a context for multi-core processors. In this paper, we first demonstrate that spinning can provide up to 31% higher performance than futex for 2- to 8-core processors. Since spinning cores do not perform any useful work, prior studies proposed to put processors into low-power states to reducing power consumption. However, such approaches require expensive per-core V/F domain for multi-core processors and/or a special mechanism to predict the duration of each synchronization event, respectively.
Second, we exhibit that typical duration of most synchronization events, however, are very short. This potentially limits the benefit of such approaches that are only applicable to synchronization events with relatively long durations due to the performance penalty associated with entering/exiting the low-power states. Finally, we propose an effective but inexpensive technique, scaling only F of spinning cores to a special level (i.e., F/2N). Since such an F change is almost immediate, our tech-nique can exploit even short spin cycles with negligible performance impact. Furthermore, it requires neither expensive per-core V/F domains nor the special prediction mechanism while achieving more than 95% of energy reduction by existing techniques augmented with the perfect predictor that deter-mine the exact duration of every synchronization event.
Permanent Link
http://digital.library.wisc.edu/1793/67549Type
Thesis