The input/output complexity of sorting and related problems
Communications of the ACM
Simple randomized mergesort on parallel disks
Parallel Computing - Special double issue: parallel I/O
Managing energy and server resources in hosting centers
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Every joule is precious: the case for revisiting operating system design for energy efficiency
EW 9 Proceedings of the 9th workshop on ACM SIGOPS European workshop: beyond the PC: new challenges for the operating system
The benefits of event: driven energy accounting in power-sensitive systems
EW 9 Proceedings of the 9th workshop on ACM SIGOPS European workshop: beyond the PC: new challenges for the operating system
ECOSystem: managing energy as a first class operating system resource
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
A scheduling model for reduced CPU energy
FOCS '95 Proceedings of the 36th Annual Symposium on Foundations of Computer Science
FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
Journal of Computer and System Sciences - Special issue: STOC 2003
Ensemble-level Power Management for Dense Blade Servers
Proceedings of the 33rd annual international symposium on Computer Architecture
Data streams: algorithms and applications
Foundations and Trends® in Theoretical Computer Science
Speed scaling to manage energy and temperature
Journal of the ACM (JACM)
Dynamic Voltage Scaling in Multitier Web Servers with End-to-End Delay Control
IEEE Transactions on Computers
VirtualPower: coordinated power management in virtualized enterprise systems
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Algorithms and Data Structures for External Memory
Algorithms and Data Structures for External Memory
Communications of the ACM
WattApp: an application aware power meter for shared data centers
Proceedings of the 7th international conference on Autonomic computing
Towards optimizing energy costs of algorithms for shared memory architectures
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
SRCMap: energy proportional storage using dynamic consolidation
FAST'10 Proceedings of the 8th USENIX conference on File and storage technologies
Server workload analysis for power minimization using consolidation
USENIX'09 Proceedings of the 2009 conference on USENIX Annual technical conference
Optimal Sparse Matrix Dense Vector Multiplication in the I/O-Model
Theory of Computing Systems - Special Title: Parallelism on Algorithms and Architectures (SPAA); Guest Editors: Cyril Gavoille, Boaz Patt-Shamir and Christian Scheideler
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Proceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures
On the Energy Complexity of Parallel Algorithms
ICPP '11 Proceedings of the 2011 International Conference on Parallel Processing
Fast Polynomial Factorization and Modular Composition
SIAM Journal on Computing
Hi-index | 0.00 |
Energy consumption has emerged as a first class computing resource for both server systems and personal computing devices. The growing importance of energy has led to rethink in hardware design, hypervisors, operating systems and compilers. Algorithm design is still relatively untouched by the importance of energy and algorithmic complexity models do not capture the energy consumed by an algorithm. In this paper, we propose a new complexity model to account for the energy used by an algorithm. Based on an abstract memory model (which was inspired by the popular DDR3 memory model and is similar to the parallel disk I/O model of Vitter and Shriver), we present a simple energy model that is a (weighted) sum of the time complexity of the algorithm and the number of 'parallel' I/O accesses made by the algorithm. We derive this simple model from a more complicated model that better models the ground truth and present some experimental justification for our model. We believe that the simplicity (and applicability) of this energy model is the main contribution of the paper. We present some sufficient conditions on algorithm behavior that allows us to bound the energy complexity of the algorithm in terms of its time complexity (in the RAM model) and its I/O complexity (in the I/O model). As corollaries, we obtain energy optimal algorithms for sorting (and its special cases like permutation), matrix transpose and (sparse) matrix vector multiplication.