18
Computer Architecture and Design Methodologies Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Anupam Chattopadhyay Energy Efficient High Performance Processors Recent Approaches for Designing Green High Performance Computing

Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

Computer Architecture and Design Methodologies

Jawad Haj-YahyaAvi Mendelson Yosi Ben AsherAnupam Chattopadhyay

Energy Efficient High Performance ProcessorsRecent Approaches for Designing Green High Performance Computing

Page 2: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

Computer Architecture and DesignMethodologies

Series editors

Anupam Chattopadhyay, Noida, IndiaSoumitra Kumar Nandy, Bangalore, IndiaJürgen Teich, Erlangen, GermanyDebdeep Mukhopadhyay, Kharagpur, India

Page 3: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

Twilight zone of Moore’s law is affecting computer architecture design like neverbefore. The strongest impact on computer architecture is perhaps the move fromunicore to multicore architectures, represented by commodity architectures likegeneral purpose graphics processing units (gpgpus). Besides that, deep impact ofapplication-specific constraints from emerging embedded applications is presentingdesigners with new, energy-efficient architectures like heterogeneous multi-core,accelerator-rich System-on-Chip (SoC). These effects together with the security,reliability, thermal and manufacturability challenges of nanoscale technologies areforcing computing platforms to move towards innovative solutions. Finally, theemergence of technologies beyond conventional charge-based computing has led toa series of radical new architectures and design methodologies.

The aim of this book series is to capture these diverse, emerging architecturalinnovations as well as the corresponding design methodologies. The scope willcover the following.

Heterogeneous multi-core SoC and their design methodologyDomain-specific Architectures and their design methodologyNovel Technology constraints, such as security, fault-tolerance and their impact

on architecture designNovel technologies, such as resistive memory, and their impact on architecture

designExtremely parallel architectures

More information about this series at http://www.springer.com/series/15213

Page 4: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

Jawad Haj-Yahya • Avi MendelsonYosi Ben Asher • Anupam Chattopadhyay

Energy Efficient HighPerformance ProcessorsRecent Approaches for Designing Green HighPerformance Computing

123

Page 5: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

Jawad Haj-YahyaSchool of Computer Science andEngineering

Nanyang Technological UniversitySingaporeSingapore

Avi MendelsonDepartment of Computer ScienceTechnion—Israel Institute of TechnologyHaifaIsrael

Yosi Ben AsherDepartment of Computer ScienceUniversity of HaifaHaifaIsrael

Anupam ChattopadhyaySchool of Computer Science andEngineering

Nanyang Technological UniversitySingaporeSingapore

ISSN 2367-3478 ISSN 2367-3486 (electronic)Computer Architecture and Design MethodologiesISBN 978-981-10-8553-6 ISBN 978-981-10-8554-3 (eBook)https://doi.org/10.1007/978-981-10-8554-3

Library of Congress Control Number: 2018933463

© Springer Nature Singapore Pte Ltd. 2018This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or partof the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations,recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmissionor information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilarmethodology now known or hereafter developed.The use of general descriptive names, registered names, trademarks, service marks, etc. in thispublication does not imply, even in the absence of a specific statement, that such names are exempt fromthe relevant protective laws and regulations and therefore free for general use.The publisher, the authors and the editors are safe to assume that the advice and information in thisbook are believed to be true and accurate at the date of publication. Neither the publisher nor theauthors or the editors give a warranty, express or implied, with respect to the material contained herein orfor any errors or omissions that may have been made. The publisher remains neutral with regard tojurisdictional claims in published maps and institutional affiliations.

Printed on acid-free paper

This Springer imprint is published by Springer NatureThe registered company is Springer Nature Singapore Pte Ltd.The registered company address is: 152 Beach Road, #21-01/04 Gateway East, Singapore 189721, Singapore

Page 6: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

Preface

There is a growing demand worldwide for resource conservation in all aspects ofdaily life. Utilizing resources effectively, improving environmental performance,and defending global warming are in priority on the list of global challenges thatmust be addressed urgently. Governments and business associations have intro-duced a range of initiatives to address environmental challenges, particularly globalwarming and energy use. Business associations have mainly developed initiativesto reduce energy costs and to demonstrate corporate social responsibility. And thisis correct for computing systems.

Green computing is a large and increasing area. The need for saving energy hasbecome a top priority in almost all segments of the IT market. In addition, the needfor power efficiency has become a critical factor in the design of High-PerformanceComputing (HPC). The high technology industries are heavily investing inresearch, development, and manufacturing of energy-efficient computing systems inall ranges of applications, from embedded systems to enterprise data center.

Designing energy-efficient devices has a great return on investment, whether it isto create power-aware embedded system, extending the battery life of portabledevices (such as mobile phones, tablets, or PCs) or saving cost in cooling datacenters.

This book is intended for system, hardware, and software engineers, helpingthem understand energy-aware computing, and provide them with hardware andsoftware methodologies and techniques for power and energy savings that can beused when designing computing solutions, so they can contribute to the globaleffort of building green computing systems.

Recently, many initiatives and efforts investing in energy-efficient computing inmany areas, here we share part of them.

v

Page 7: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

The Green Data Center

Data centers are found in all economic sectors, as they provide computationalinfrastructure for a wide range of applications. It is expected that data centersshould always be available with their data. The need for power efficiency hasbecome a critical factor in the design of data centers. In cloud computing, datacenters gain popularity as an effective platform for scheduling of resources andhosting cloud applications. A tremendous amount of energy is consumed by thesedata centers, which leads to high operational costs and contributes toward carbonfootprints to the environment.

Nearly half of the data center energy is spent on cooling. Recently, a project heldby the National Snow and Ice Data Center (NSIDC) called Green Data Centerproject. The project funded by the National Science Foundation (NSF) in the UnitedStates with additional support from NASA. The project shows that there is sig-nificant opportunity to improve the efficiency of data centers. The heart of thedesign includes new cooling technology that uses 90% less energy than traditionalair conditioning, and an extensive rooftop solar array that results in a total energysavings of 70%. The Green Data Center design takes advantage of Colorado’s aridclimate, using a new technology called indirect evaporative cooling. These units,cool by blowing air over water, using less energy than compressors. Unlike tra-ditional evaporative cooling, indirect evaporative cooling does not add humidity tothe room, maintaining the dry environment that computers need. During muchof the year, the system cools the data center by pulling in and filtering outdoor air.On hot days, the new cooling units automatically step in. The solar array feedsenergy back into the electrical grid, further reducing the center’s net carbonfootprint.

Heterogeneous Computing

Today’s computer systems have high performance demand while they need tomaintain low energy consumption. Creating a system that can supply high per-formance while keeping energy low is a huge challenge to System on Chip(SoC) architects. Recently, heterogeneous computing has been implemented inhigh-performance computing system in order to raise the energy efficiency.

One of these architectures is the ARM big.LITTLE heterogeneous computingarchitecture developed by ARM Holdings, coupling relatively battery-saving andslower processor cores (LITTLE) with relatively high-performance and power-hungryones (big). The architecture is pairing a high-performance Cortex-A15 MPCore and alow power Cortex-A7 processors. Big.LITTLE processing allows devices to select theright processor for the right task, based on performance requirements. Importantly, thisdynamic selection is transparent to the application software or middleware running onthe processors.

vi Preface

Page 8: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

This technology was implemented in many SoCs that are used for mobiledevices, such as Samsung Exynos 9 Octa (8895 model) which is used insideSamsung Galaxy devices.

Connected Standby

Connected Standby is a feature used in laptops, tablets, and smartphones in order toreduce energy consumption when the device is fully idle, while maintaining userexperience on instant-on and responsiveness. At first, only ARM-based devices (iPad,Android tablets, and smartphones) had this feature, and later on, windows had col-laborated with Intel in order to support this feature at Intel-based laptops (Core- andAtom-based); today, the feature is becoming more common in portable devices.

A PC with Connected Standby enters to this state when the device is idle insteadof entering into Sleep and Hibernate states. This allows to keep the processor readyfor resuming the execution (instant-on) while keeping low power consumption.

Book Structure

This book is divided into five chapters; each chapter covers different aspects of themodern processor’s power management.

Chapter 1: IntroductionChapter 1 introduces the concept of green computing in face of the power wall inportable consumer electronics. It envisions the structure and necessary componentsfor power management of such a system and identifies power management blocksas the bottleneck for overall efficiency improvement. As an introduction, it alsodescribes the uniqueness of power management design and the rationale behind thestudy thereof.

Chapter 2: Dynamic Optimizations for Energy EfficiencyFor the deep understanding of how the energy is distributed and how energyoptimizations are applied at modern processor, Chap. 2 covers the main methodsthat optimize certain processor features for energy efficiency.

Chapter 3: Power Modeling at High-Performance Computing ProcessorsCentral to saving power and energy at modern processor, it is essential to be able tomodel the power at these systems. In Chap. 3, we explain the importance of powermodeling and present an accurate tool that breaks down the power consumption ofmodern processors at sub-processor core/thread granularity on real systems.

Chapter 4: Compiler-Directed Energy EfficiencyChapter 4 focuses on how software combined with system features can affectenergy efficiency at modern processors. It describes how compilation techniques

Preface vii

Page 9: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

along with hardware and firmware changes can reduce the energy consumptionof the platform.

Chapter 5: Static Power Modeling for Modern ProcessorPower and energy estimation tools are essential tools that are used by systemdesigners, software developers, and compiler developers to raise the energy effi-ciency of their designs. Chapter 5 presents the static estimation and analyses ofenergy and power of programs. We demonstrate how these tools can be used tooptimize the power and energy of programs at compile time by choosing compilerflags that minimize the energy or power of the program.

Singapore, Singapore Jawad Haj-YahyaHaifa, Israel Avi MendelsonHaifa, Israel Yosi Ben AsherSingapore, Singapore Anupam Chattopadhyay

viii Preface

Page 10: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

Acknowledgements

We would like to thank technical and content reviewers who significantly improvedthe quality of the book. This includes Ahmad Yasin, Efraim Rotem, and RanGinosar.

We thank Intel for providing access to the computer systems and simulators dataas well as for Tal Katz for lab support.

Thanks to our editors and the people at Springer for their support and patience.Finally, the authors would like to thank their families for their support while theauthors spent nights, weekends, and vacations to make this book happen.

ix

Page 11: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

Contents

1 Power Management of Modern Processors . . . . . . . . . . . . . . . . . . . . 11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Power Versus Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.2 Energy Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Power Consumption—Where Does the Power Go? . . . . . . . . . . . . 51.2.1 Dynamic Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.2 Static Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.3 Power Savings Techniques . . . . . . . . . . . . . . . . . . . . . . . . 7

1.3 Power Management Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.3.1 Static Power Management . . . . . . . . . . . . . . . . . . . . . . . . 181.3.2 Dynamic Power Management . . . . . . . . . . . . . . . . . . . . . . 19

1.4 Power Management at Operating System . . . . . . . . . . . . . . . . . . . 311.4.1 System Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311.4.2 Advanced Configuration and Power Interface (ACPI) . . . . 331.4.3 Performance Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . 441.4.4 Energy Efficiency Versus Performance Control

at Modern Processors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461.5 Power Estimation Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

1.5.1 Runtime Power Estimation . . . . . . . . . . . . . . . . . . . . . . . . 481.5.2 Offline Power Estimation . . . . . . . . . . . . . . . . . . . . . . . . . 50

References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

2 Dynamic Optimizations for Energy Efficiency . . . . . . . . . . . . . . . . . . 572.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

2.2.1 Turbo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592.2.2 Energy Efficiency Metrics . . . . . . . . . . . . . . . . . . . . . . . . 60

2.3 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

xi

Page 12: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

2.4 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632.4.1 DVFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642.4.2 Energy Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . 642.4.3 Code Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652.4.4 Architectural Enhancements . . . . . . . . . . . . . . . . . . . . . . . 65

2.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652.6 Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692.7 Conclusions and Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . 70References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

3 Power Modeling at High-Performance Computing Processors . . . . . 733.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

3.1.1 Problem and Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753.1.2 Our Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

3.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.2.1 Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773.2.2 Processor Energy Measurements . . . . . . . . . . . . . . . . . . . . 773.2.3 Core Microarchitecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.2.4 Counter-Based Power Estimation . . . . . . . . . . . . . . . . . . . 783.2.5 Methods for Performance Analysis . . . . . . . . . . . . . . . . . . 79

3.3 Power Breakdown Methodology . . . . . . . . . . . . . . . . . . . . . . . . . 803.3.1 Events Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813.3.2 Training-Set Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.3.3 Reference and Estimated Power Calculation . . . . . . . . . . . 84

3.4 Power Estimation Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853.4.1 Tool Auto-calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853.4.2 Model Accuracy Validation . . . . . . . . . . . . . . . . . . . . . . . 863.4.3 Over-Time Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . 893.4.4 The Scope of the Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

3.5 Experiments and Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903.5.1 System Setup Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 903.5.2 Sample Optimizations . . . . . . . . . . . . . . . . . . . . . . . . . . . 913.5.3 Floating-Point Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963.5.4 Integer Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 983.5.5 Case Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993.5.6 Trace Over Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

3.6 Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003.7 Summary and Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

xii Contents

Page 13: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

4 Compiler-Directed Energy Efficiency . . . . . . . . . . . . . . . . . . . . . . . . 1074.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074.2 Power Delivery Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

4.2.1 Maximum Current Delivery . . . . . . . . . . . . . . . . . . . . . . . 1094.2.2 Voltage Droops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094.2.3 Voltage Emergencies Prediction . . . . . . . . . . . . . . . . . . . . 112

4.3 The Algorithmic Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144.3.1 Problem Formal Definition . . . . . . . . . . . . . . . . . . . . . . . . 1144.3.2 K-TH Legal Graph Example . . . . . . . . . . . . . . . . . . . . . . 1154.3.3 The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164.3.4 Algorithm Description and Example . . . . . . . . . . . . . . . . . 116

4.4 Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194.4.1 VEL Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204.4.2 Power Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204.4.3 LLVM Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1224.4.4 Detection Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

4.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244.5.1 System Under Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . 1244.5.2 Scenarios Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254.5.3 Technique Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

4.6 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274.7 Multi-core and Multithreads Handling . . . . . . . . . . . . . . . . . . . . . 1294.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

5 Static Power Modeling for Modern Processor . . . . . . . . . . . . . . . . . . 1355.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1355.2 Symbolic Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

5.2.1 Why Symbolic Execution? . . . . . . . . . . . . . . . . . . . . . . . . 1375.2.2 How Symbolic Execution Works? . . . . . . . . . . . . . . . . . . 138

5.3 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1405.3.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1405.3.2 Programs Infeasible Paths . . . . . . . . . . . . . . . . . . . . . . . . 1415.3.3 Dataflow Versus Symbolic Execution Analysis . . . . . . . . . 1425.3.4 Symbolic Execution and Power/Energy Statistics

Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1435.3.5 Memory Accesses and SAT Solver . . . . . . . . . . . . . . . . . . 147

5.4 Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1485.4.1 Energy Model and Power Simulator . . . . . . . . . . . . . . . . . 1485.4.2 Cache Emulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1495.4.3 Symbolic Execution Engine . . . . . . . . . . . . . . . . . . . . . . . 151

Contents xiii

Page 14: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

5.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1525.5.1 Simple Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1535.5.2 Bounding Heuristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1565.5.3 Real Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

5.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1605.6.1 Modeling Additional SoC Components . . . . . . . . . . . . . . . 1605.6.2 Modeling Low Power States . . . . . . . . . . . . . . . . . . . . . . . 1615.6.3 Optimal Compiler Settings for Energy Reduction . . . . . . . 161

5.7 Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1625.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

xiv Contents

Page 15: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

Chapter 1Power Management of ModernProcessors

1.1 Introduction

The trend toward global warming is virtually certain: According to an ongoingtemperature analysis conducted by scientists at NASA’s Goddard Institute for SpaceStudies (GISS) [1], the average global temperature on Earth has increased by about0.8 °C (1.4 °F) since 1880. Two-thirds of the warming has occurred since 1975, ata rate of roughly 0.15–0.20 °C per decade. There is a strong consensus amongscientists that this is a result of the emission of greenhouse gases, preeminent ofwhich is CO2, mainly originating from fossil fuel burning. Aside from the negativeenvironmental impact, fossil fuels are nonrenewable resources that take millions ofyears to form, but are now depleting at a much faster speed than new ones are beingmade. As a result, the world is facing an unprecedented challenge to switch fromfossil fuel, carbon emission driven growth to an eco-friendly, low-carbon economyto meet the energy need as well as mitigating the environmental consequences [2].

Next to the replacement of fossil fuels by alternatives, such as solar, wind,geothermal, biomass, and so forth, there is also increasing awareness that scrutinyof existing technology and applications can have an immediate and profoundimpact [3]. Energy efficiency, which is to reduce the amount of energy required toprovide products and services, is often considered as the parallel pillar to renewableenergy (RE) in a sustainable energy economy [4]. Parallel to the large-scale energygrand challenge, portable and battery-powered products are facing a similar powercrisis: consumers, who appreciate the multimedia experience and ubiquitous con-nectivity in an increasingly compact size, are unwilling to sacrifice and evendemand longer battery life for new generations of devices.

This book, therefore, is focused on improving the energy efficiency of electronicproducts, especially portable and battery-powered ones, using advanced powermanagement and Very-Large-Scale Integration (VLSI) design techniques, whichwill not only effectively reduce the power consumption and extend the battery lifefor current consumer products, but also enable and assist future clean energy

© Springer Nature Singapore Pte Ltd. 2018J. Haj-Yahya et al., Energy Efficient High Performance Processors,Computer Architecture and Design Methodologies,https://doi.org/10.1007/978-981-10-8554-3_1

1

Page 16: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

generation and distribution, leading to a new era of “Green Electronics” in thefuture renewable energy economy.

Power consumption in electronic products has become a critical issue that affectsthe further development of processors. High-power consumption adds challenges tothe system design due to the effects of high thermal output, high current require-ments, and battery life and electricity costs. In order to raise the awareness,Green500 [5, 6] lists the most energy-efficient supercomputers twice a yearaccording to the ratio of performance and power consumption (as opposed to pureperformance ranking). Furthermore, quantifying the power consumption of indi-vidual applications is a critical component for software-based power capping,scheduling, and provisioning techniques in modern datacenters [7]. Fine-grainpower breakdown is essential for other fronts like power and performance opti-mization guidelines.

To show the scope of the energy consumption in computer systems, we will takethe data centers as an example. Energy efficiency of data centers has attained a keyimportance in recent years due to its high economic, environmental, and perfor-mance impact. First, data centers have high economic impact due to multiple rea-sons. A typical data center may consume as much energy as 25,000 households.Data center spaces may consume up to 100–200 times as much electricity asstandard office space [8]. Furthermore, the energy costs of powering a typical datacenter double every 5 years [9]. Therefore, with such increase in electricity use andrising electricity costs, power bills have become a significant expense for today’sdata centers [8, 10]. In some cases, power costs may exceed the cost of purchasinghardware [11]. Second, data center energy usage creates a number of environmentalproblems [12, 13]. For example, in 2005, the total data center power consumptionwas 1% of the total United States power consumption [14]. In 2010, the globalelectricity usage by data centers was estimated to be between 1.1 and 1.5% of thetotal worldwide electricity usage [15], while in the US the data centers consumed1.7–2.2% of all US electrical usage [16]. Van Heddeghem et al. [17] have foundthat data centers worldwide consumed about 270 TWh of energy in 2012 and thisconsumption had a Compound Annual Growth Rate (CAGR) of 4.4% from 2007 to2012. Due to these reasons, data center energy efficiency is now considered as achief concern for data center operators, ahead of the traditional considerations ofavailability and security. Finally, even when running in the idle mode, serversconsume a significant amount of energy. Large savings can be made by turning offthese servers. This and other measures such as workload consolidation need to betaken to reduce data center electricity usage. At the same time, these power savingtechniques reduce system performance, pointing to a complex balance betweenenergy savings and high performance.

The energy consumed by a data center can be broadly categorized into two parts[18]: energy use by IT equipment (e.g., servers, networks, storage, etc.) and usageby infrastructure facilities (e.g., cooling and power conditioning systems). Theamount of energy consumed by these two subcomponents depends on the design ofthe data center as well as the efficiency of the equipment. For example, according tothe statistics published by the Infotech group, the largest energy consumer in a

2 1 Power Management of Modern Processors

Page 17: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

typical data center is the cooling infrastructure (50%) [17, 19], as shown in Fig. 1.1,while servers and storage devices (26%) rank second in the energy consumptionhierarchy. Note that these values might differ from data center to data center [20].

1.1.1 Power Versus Energy

To understand power and energy management mechanisms, it is essential to clearlydistinguish the basic terms. We explain the terms of joule, watt, and watt-hour.

Electric current is the flow of electric charge measured in amperes (Amps orsimply denoted with A). Amperes define the amount of electric charge transferredby a circuit per second. Power and energy can be defined in terms of work that asystem performs. Power is the rate at which the system performs the work, whileenergy is the total amount of work performed over a period of time. In other words,power can be shown as the rate in which energy is consumed.

Power and energy are measured in watts (W) and joules (J) respectively, othermetrics are used for energy, such as watt-hour (Wh). Work is done at the rate of onewatt when one ampere is transferred through a potential difference of one volt.

Ligh ng (3%)Network (10%)

Conversion (11%)

Server/Storage (26%)

Cooling (50%)

Fig. 1.1 A breakdown of energy consumption by different components of a data center [19]

1.1 Introduction 3

Page 18: Jawad Haj-Yahya Avi Mendelson Yosi Ben Asher Energy ...€¦ · High Performance Computing. Computer Architecture and Design Methodologies Series editors Anupam Chattopadhyay, Noida,

A kilowatt-hour (kWh) is the amount of energy equivalent to a power of 1 kW(1000 W) running for 1 h. Formally, power and energy can be defined as in (1.1)and (1.2).

P ¼ WT

ð1:1Þ

E ¼ P � T ; ð1:2Þ

where P is power, T is a period of time, W is the total work performed in that period oftime, and E is energy. It is very important to differentiate between the energy and thepower, because reduction of the power consumption does not always reduce theconsumed energy. For example, the power consumption can be decreased by loweringthe CPU performance, however, in this case, a program may require longer time tocomplete its execution consuming the same or more amount of energy. On one hand,reduction of the peak power consumption will result in decreased costs of theinfrastructure provisioning, such as costs associated with capacities of UninterruptiblePower Supply (UPS), Power Distribution Unit (PDU), power generators, coolingsystem, and power distribution equipment. On the other hand, decreased energyconsumption will lead to reduction of the electricity bills. The energy consumption canbe reduced temporarily using Dynamic Power Management (DPM) techniques orpermanently applying Static Power Management (SPM). DPM utilizes knowledge ofthe real-time resource usage and application workloads to optimize the energy con-sumption. However, it does not necessarily decrease the peak power consumption. Incontrast, SPM includes the usage of highly efficient hardware equipment, such asCPUs, disk storage, network devices, UPS, and power supplies. These structuralchanges usually reduce both the energy and peak power consumption.

1.1.2 Energy Efficiency

Energy efficiency means using less energy to provide the same service. Forexample, a compact fluorescent light bulb is more efficient than a traditionalincandescent light bulb as it uses less electrical energy to produce the same amountof light. Similarly, an efficient boiler takes less fuel to heat a home to a giventemperature than a less efficient model.

Electrical devices are rated by the amount of energy they consume while inoperation and while idle. For example, a 40 W incandescent (traditional) light bulbconsumes 40 J of energy per second and produces about 550 Lumens (denoted bylm—a measure of the total amount of visible light to the human eye from a lamp orlight source). While on the other hand, Light-Emitting Diode (LED) light bulbconsumes about 7 W (i.e., 7 J/s) and can produce 700 Lumens. The energy effi-ciency of the light bulb denoted by the produced amount of light over the consumedelectrical energy. Table 1.1 compares the energy efficiency of the two light bulbs.

4 1 Power Management of Modern Processors