Modeling Energy Consumption of Lock-Free Queue Implementations
Rapport, 2015
This paper considers the problem of modeling the energy behavior of lock-free concurrent queue data
structures. Our main contribution is a way to model the energy behavior of lock-free queue implementations and parallel applications that use them. Focusing on steady state behavior we decompose energy
behavior into throughput and power dissipation which can be modeled separately and later recombined
into several useful metrics, such as energy per operation. Based on our models, instantiated from synthetic
benchmark data, and using only a small amount of additional application specific information, energy
and throughput predictions can be made for parallel applications that use the respective data structure
implementation. To model throughput we propose a generic model for lock-free queue throughput
behavior, based on a combination of the dequeuers’ throughput and enqueuers’ throughput. To model
power dissipation we commonly split the contributions from the various computer components into
static, activation and dynamic parts, where only the dynamic part depends on the actual instructions
being executed. To instantiate the models a synthetic benchmark explores each queue implementation
over the dimensions of processor frequency and number of threads. Finally, we show how to make
predictions of application throughput and power dissipation for a parallel application using a lock-free
queue requiring only a limited amount of information about the application work done between queue
operations. Our case study on a Mandelbrot application shows convincing prediction results.
lock-free
queue
throughput
concurrent data structures
energy
power
analysis
modeling