Experimental Evaluation of Speed Scaling Systems

Experimental Evaluation of Speed Scaling Systems

University of Calgary PRISM: University of Calgary's Digital Repository Graduate Studies The Vault: Electronic Theses and Dissertations 2016 Experimental Evaluation of Speed Scaling Systems Skrenes, Arsham Bryan Skrenes, A. B. (2016). Experimental Evaluation of Speed Scaling Systems (Unpublished master's thesis). University of Calgary, Calgary, AB. doi:10.11575/PRISM/26057 http://hdl.handle.net/11023/3315 master thesis University of Calgary graduate students retain copyright ownership and moral rights for their thesis. You may use this material in any way that is permitted by the Copyright Act or through licensing that has been assigned to the document. For uses that are not allowable under copyright legislation or licensing, you are required to seek permission. Downloaded from PRISM: https://prism.ucalgary.ca UNIVERSITY OF CALGARY Experimental Evaluation of Speed Scaling Systems by Arsham Bryan Skrenes A THESIS SUBMITTED TO THE FACULTY OF GRADUATE STUDIES IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE GRADUATE PROGRAM IN COMPUTER SCIENCE CALGARY, ALBERTA SEPTEMBER, 2016 © Arsham Bryan Skrenes 2016 Abstract Speed scaling policies are a critical component in modern operating systems, impacting both energy efficiency and performance. Energy efficiency is important from a sustainability standpoint, especially since datacenters account for roughly 2% of the global energy consumption, growing by 6% per year. Understanding the features of modern processors facilitates the development of more effective policies. As a first contribution, this thesis provides such information, along with the details necessary to properly interpret experimental measurement results. The second contribution is a profiler that makes it easy to perform controlled workloads made up of precise units of work at defined speeds, and produces high-resolution timing and energy measurement data broken down by process and workload. The profiler is used to collect empirical data about several theoretical speed scaling policies using a modern processor, with detailed analysis and comparisons to the most common policy on contemporary operating systems. ii Acknowledgements First and foremost, I would like to thank Carey Williamson. From the very first email to arrange our initial meeting, and throughout my entire program, he has continually been kind and encouraging, exemplifying outstanding leadership and invoking inspiration, not only in myself, but also in those who have had the privilege of knowing him. I cannot imagine a better supervisor nor can words adequately express my gratefulness. I am also immensely thankful to my wife, Allison Skrenes, who was never doubtful and always encouraging, even when I felt demotivated. Her advice and strategies, forged from her own academic successes, were instrumental. Our children, Tyrian and Nyala, have had to endure this long haul, but when I had to “work on the thesis”, they had the most amazing mother at their side. I must also thank my parents and in-laws for their encouragement. My mother was the person who initially inspired me to pursue graduate studies. She also gave me valuable advice that helped me finish the thesis. Finally, I am grateful to my defense committee members, Dr. Mea Wang, Dr. Diwaker Krishnamurthy, and Dr. Carey Williamson, who took the time to read my thesis and provide their feedback. iii Table of Contents Abstract ............................................................................................................................... ii Acknowledgements ............................................................................................................ iii Table of Contents ............................................................................................................... iv List of Tables ..................................................................................................................... vi List of Figures and Illustrations ........................................................................................ vii List of Abbreviations ....................................................................................................... viii CHAPTER 1: INTRODUCTION ........................................................................................1 1.1 Objectives ..................................................................................................................3 1.2 Thesis Roadmap .........................................................................................................3 CHAPTER 2: BACKGROUND AND RELATED WORK ................................................5 2.1 The Importance of Energy Efficiency .......................................................................5 2.2 Theory and Practice ...................................................................................................6 2.3 Speed Scaling Process Schedulers .............................................................................8 2.4 Summary ..................................................................................................................10 CHAPTER 3: PROBLEM FORMULATION ...................................................................12 3.1 Profiling Schedulers on Real Systems .....................................................................12 3.2 High-Resolution Hardware Timers ..........................................................................14 3.3 Running Average Power Limit (RAPL) ..................................................................15 3.3.1 Using the RAPL MSRs within Profilo ............................................................20 3.4 Summary ..................................................................................................................22 CHAPTER 4: DESIGN AND IMPLEMENTATION .......................................................23 4.1 Design Choices ........................................................................................................23 4.1.1 User Mode .......................................................................................................23 4.1.2 Kernel Mode ....................................................................................................24 4.1.3 Kernel/User Mode Hybrid ...............................................................................25 4.1.4 Workload .........................................................................................................25 4.1.5 Units of Work ..................................................................................................29 4.2 Implementation ........................................................................................................30 4.2.1 Kernel Module .................................................................................................31 4.2.2 Lockup Detectors .............................................................................................35 4.2.3 Clocks ..............................................................................................................36 4.2.4 User Mode Application ...................................................................................38 4.2.4.1 Processing the Arguments .....................................................................38 4.2.4.2 CPU Compatibility ................................................................................43 4.2.4.3 Environment Setup ................................................................................45 4.2.4.4 Preparations for Profiling .......................................................................50 4.2.4.5 Profiling .................................................................................................52 4.2.4.6 Concluding Profiling ..............................................................................55 4.2.5 Idler Utility ......................................................................................................56 4.3 Summary ..................................................................................................................57 iv CHAPTER 5: MICRO-BENCHMARKING .....................................................................59 5.1 Platform ...................................................................................................................59 5.2 ACPI Specification ..................................................................................................61 5.3 Total System Power Consumption ..........................................................................63 5.3.1 Global Sleep States ..........................................................................................63 5.3.2 Normalizing Measurements .............................................................................66 5.3.3 Idle Power Consumption .................................................................................69 5.3.3.1 Linux cpuidle .........................................................................................70 5.3.3.2 CPU Sleep States ...................................................................................73 5.3.4 Active Power Consumption .............................................................................82 5.4 Profilo Workload Benchmarking .............................................................................88 5.5 Mode and Context Switches ....................................................................................92 5.6 Switch Test ..............................................................................................................96

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    154 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us