Cover image for Compilers and operating systems for low power
Title:
Compilers and operating systems for low power
Publication Information:
Boston, MA : Kluwer Academic Publishers, 2003
ISBN:
9781402075735

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010080260 QA76.76.O63 C654 2003 Open Access Book Book
Searching...

On Order

Summary

Summary

Compilers and Operating Systems for Low Power focuses on both application-level compiler directed energy optimization and low-power operating systems. Chapters have been written exclusively for this volume by several of the leading researchers and application developers active in the field. The first six chapters focus on low energy operating systems, or more in general, energy-aware middleware services. The next five chapters are centered on compilation and code optimization. Finally, the last chapter takes a more general viewpoint on mobile computing. The material demonstrates the state-of-the-art work and proves that to obtain the best energy/performance characteristics, compilers, system software, and architecture must work together. The relationship between energy-aware middleware and wireless microsensors, mobile computing and other wireless applications are covered.

This work will be of interest to researchers in the areas of low-power computing, embedded systems, compiler optimizations, and operating systems.


Table of Contents

Suet-Fei Li and Roy Sutton and Jan RabaeyM. Angels Moncusi and Alex Arenas and Jesus LabartaNevine AbouGhazaleh and Daniel Mosse and Bruce Childers and Rami MelhemAndrea Acquaviva and Luca Benini and Bruno RiccoEduardo Pinheiro and Ricardo Bianchini and Enrique V. Carrera and Taliver HeathJerry Hom and Ulrich KremerGreg Stitt and Frank VahidToshinori Sato and Itsujiro AritaWeiping Liao and Lei HeArnout Vandecappelle and Bruno Bougard and K.C. Shashidhar and Francky CatthoorPaolo D'Alberto and Alexandru Nicolau and Alexander Veidenbaum and Rajesh GuptaMichael Franz
List of Figuresp. xi
List of Tablesp. xv
Contributing Authorsp. xvii
Prefacep. xix
1 Low Power Operating System for Heterogeneous Wireless Communication Systemp. 1
1 Introductionp. 2
2 Event-driven versus General-purpose OSp. 3
2.1 PicoRadio II Protocol Designp. 3
2.2 General-purpose Multi-tasking OSp. 4
2.3 Event-driven OSp. 8
2.4 Comparison Summaryp. 9
3 Low Power Reactive OS for Heterogeneous Architecturesp. 12
3.1 Event-driven Global Scheduler and Power Managementp. 12
3.2 TinyOS Limitations and Proposed Extensionsp. 14
4 Conclusion and Future Workp. 15
Referencesp. 16
2 A Modified Dual-Priority Scheduling Algorithm for Hard Real-Time Systems to Improve Energy Savingsp. 17
1 Introductionp. 17
2 Dual-Priority Schedulingp. 19
3 Power-Low Modified Dual-Priority Schedulingp. 21
4 Experimental Resultsp. 28
5 Summaryp. 36
Referencesp. 36
3 Toward the Placement of Power Management Points in Real-Time Applicationsp. 37
1 Introductionp. 37
2 Modelp. 39
3 Sources of Overheadp. 40
3.1 Computing the New Speedp. 40
3.2 Setting the New Speedp. 40
4 Speed Adjustment Schemesp. 41
4.1 Proportional Dynamic Power Managementp. 41
4.2 Dynamic Greedy Power Managementp. 42
4.3 Evaluation of Power Management Schemesp. 43
5 Optimal Number of PMPsp. 44
5.1 Evaluation of the Analytical Modelp. 45
6 Conclusionp. 48
Appendix Derivation of Formulasp. 48
Referencesp. 51
4 Energy Characterization of Embedded Real-Time Operating Systemsp. 53
1 Introductionp. 53
2 Related Workp. 55
3 System Overviewp. 56
3.1 The Hardware Platformp. 56
3.2 RTOS overviewp. 57
4 Characterization Strategyp. 59
5 RTOS Characterization Resultsp. 60
5.1 Kernel Servicesp. 60
5.2 I/O Driversp. 62
5.2.1 Burstiness Testp. 62
5.2.2 Clock Speed Testp. 63
5.2.3 Resource Contention Testp. 64
5.3 Application Example: RTOS vs Stand-alonep. 65
5.4 Cache Related Effects in Thread Switchingp. 66
6 Summary of Findingsp. 66
7 Conclusionsp. 67
Referencesp. 72
5 Dynamic Cluster Reconfiguration for Power and Performancep. 75
1 Motivationp. 77
2 Cluster Configuration and Load Distributionp. 78
2.1 Overviewp. 78
2.2 Implementationsp. 81
3 Methodologyp. 83
4 Experimental Resultsp. 84
5 Related Workp. 89
6 Conclusionsp. 91
Referencesp. 91
6 Energy Management of Virtual Memory on Diskless Devicesp. 95
1 Introductionp. 96
2 Related Workp. 97
3 Problem Formulationp. 98
4 EEL[subscript RM] Prototype Compilerp. 100
4.1 Phase 1 - Analysisp. 100
4.2 Phase 2 - Code Generationp. 101
4.3 Performance Modelp. 102
4.4 Examplep. 102
4.5 Implementation Issuesp. 103
5 Experimentsp. 105
5.1 Benchmark Characteristicsp. 106
5.2 Simulation Resultsp. 107
6 Future Workp. 110
7 Conclusionp. 111
Referencesp. 111
7 Propagating Constants Past Software to Hardware Peripherals on Fixed-Application Embedded Systemsp. 115
1 Introductionp. 116
2 Examplep. 119
3 Parameters in Coresp. 120
4 Propagating Constants from Software to Hardwarep. 123
5 Experimentsp. 125
5.1 8255A Programmable Peripheral Interfacep. 126
5.2 8237A DMA Controllerp. 127
5.3 PC16550A UARTp. 128
5.4 Free-DCT-L Corep. 128
5.5 Resultsp. 131
6 Future Workp. 133
7 Conclusionsp. 134
Referencesp. 134
8 Constructive Timing Violation for Improving Energy Efficiencyp. 137
1 Introductionp. 137
2 Low Power via Fault-Tolerancep. 139
3 Evaluation Methodologyp. 143
4 Simulation Resultsp. 143
5 Related Workp. 147
6 Conclusion and Future Workp. 151
Referencesp. 151
9 Power Modeling and Reduction of VLIW Processorsp. 155
1 Introductionp. 155
2 Cycle-Accurate VLIW Power Simulationp. 156
2.1 IMPACT Architecture Frameworkp. 156
2.2 Power Modelsp. 157
2.3 PowerImpactp. 158
3 Clock Rampingp. 159
3.1 Clock Ramping with Hardware Prescan (CRHP)p. 160
3.2 Clock Ramping with Compiler-based Prediction (CRCP)p. 162
3.2.1 Basic CRCP Algorithmp. 162
3.2.2 Reduction of Redundant Ramp-up Instructionsp. 164
3.2.3 Control Flowp. 165
3.2.4 Load Instructionsp. 165
4 Experimental Resultsp. 165
5 Conclusions and Discussionp. 169
Referencesp. 170
10 Low-Power Design of Turbo Decoder with Exploration of Energy-Throughput Trade-offp. 173
1 Introductionp. 173
2 Data Transfer and Storage Exploration Methodologyp. 176
3 Global Data Flow and Loop Transformationsp. 178
3.1 Removal of Interleaver Memoryp. 178
3.2 Enabling Parallelismp. 179
4 Storage Cycle Budget Distributionp. 180
4.1 Memory Hierarchy Layer Assignmentp. 181
4.2 Data Restructuringp. 182
4.3 Loop Transformations for Parallelizationp. 183
4.3.1 Loop Mergingp. 183
4.3.2 Loop Pipeliningp. 184
4.3.3 Partial Loop Unrollingp. 184
4.3.4 Loop Transformation Resultsp. 185
4.4 Storage Bandwidth Optimizationp. 185
5 Memory Organizationp. 186
5.1 Memory Organization Explorationp. 186
5.2 Memory Organization Decisionp. 188
6 Conclusionsp. 190
Referencesp. 190
11 Static Analysis of Parameterized Loop Nests for Energy Efficient Use of Data Cachesp. 193
1 Introductionp. 193
2 Energy and Line Sizep. 195
3 Backgroundp. 195
4 The Parameterized Loop Analysisp. 197
4.1 Reduction to Single Reference Interferencep. 199
4.2 Interference and Reuse Trade-offp. 200
5 STAMINA Implementation Resultsp. 200
5.1 Swim from SPEC 2000p. 201
5.2 Self Interferencep. 201
5.3 Tiling and Matrix Multiplyp. 202
6 Summary and Future Workp. 203
Referencesp. 203
12 A Fresh Look at Low-Power Mobile Computingp. 209
1 Introductionp. 209
2 Architecturep. 211
3 Handover and the Quantization of Computational Resourcesp. 212
3.1 Standardization of Execution Environment's Parametersp. 214
3.2 A Commercial Vision: Impact on Billing, Customer Loyalty and Churnp. 215
4 Segmentation of Functionality: The XU-MS Splitp. 215
4.1 Use of Field-Programmable Hardware in the Mobile Stationp. 217
4.2 Special End-To-End Application Requirementsp. 217
5 Status and Research Visionp. 218
Referencesp. 219
Indexp. 221