Unlocking Energy

Locks are a natural place for improving the energy efficiency of software systems. First, concurrent systems are mainstream and when their threads synchronize, they typically do it with locks. Second, locks are well-defined abstractions, hence changing the algorithm implementing them can be achieved without modifying the system. Third, some locking strategies consume more power than others, thus the strategy choice can have a real effect. Last but not least, as we show in this paper, improving the energy efficiency of locks goes hand in hand with improving their throughput. It is a win-win situation. We make our case for this throughput/energy-efficiency correlation through a series of observations obtained from an exhaustive analysis of the energy efficiency of locks on two modern processors and six software systems: Memcached, MySQL, SQLite, RocksDB, HamsterDB, and Kyoto Kabinet. We propose simple lock-based techniques for improving the energy efficiency of these systems by 33% on average, driven by higher throughput, and without modifying the systems.

Published in:
Proceedings Of Usenix Atc '16: 2016 Usenix Annual Technical Conference, 393-406
Presented at:
2016 USENIX Annual Technical Conference, Denver, Colorado, USA, June 22-24, 2016
Berkeley, Usenix Assoc

Note: The status of this file is: Anyone

 Record created 2016-09-06, last modified 2020-07-29

Download fulltextPDF
External links:
Download fulltextURL
Download fulltextURL
Rate this document:

Rate this document:
(Not yet reviewed)