ABSTRACT Exploiting Unused Storage Resources to Enhance
Total Page:16
File Type:pdf, Size:1020Kb
ABSTRACT Exploiting Unused Storage Resources to Enhance Systems’ Energy Efficiency, Performance, and Fault-Tolerance by Hai Huang Chair: Kang G. Shin The invention of better fabrication materials and processes in solid-state devices has led to unprecedented technological breakthroughs in computer hardware. Today’s system software, however, often cannot take full advantage of the hardware’s rapidly improving capabilities, thus resulting in idling resources, e.g., unoccupied memory and disk space. To make hardware operate more efficiently and to reduce the amount of idle resources, this thesis proposes several techniques that can harness such resources to the benefit of users. Although there are many different types of hardware resources, this thesis focuses on the reclamation of idle resources in the storage hierarchy. First, we implemented a pure software technique to reduce the power dissipation of main memory. By aggregating un- mapped and unused memory pages and powering down unused memory ranks, a signifi- cant amount of energy can be saved with little or no performance degradation. Next, we explored several architectural-level solutions that can more aggressively reduce energy, but at the expense of performance. We also developed techniques to exploit unused disk capacity to improve disks’ perfor- mance and energy-efficiency. These techniques are realized in our implementation of the Free Space File System (FS2). Unlike traditional file systems where extra disk space is not used, FS2 actively makes use of it to hold replicas of temporally-related data blocks that were poorly placed by the underlying file system. Using contiguous regions of free disk space to place related data blocks closer to one another enables disk heads to work more efficiently. Free disk space may also be used to enhance the fault-tolerance of disks. The placement of replicas is shown to be critical to both the fault-tolerance and performance of file systems that make use of replicas. However, without a thorough understanding of how disks fail and how data become corrupted when failures occur, good data placement strategies are difficult to devise. We studied a large number of failed disks and analyzed their failure characteristics. This characterization study will help design more fault-tolerant file systems that can take advantage of today’s large capacity hard drives. ii Exploiting Unused Storage Resources to Enhance Systems’ Energy Efficiency, Performance, and Fault-Tolerance by Hai Huang A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Computer Science and Engineering) in The University of Michigan 2006 Doctoral Committee: Professor Kang G. Shin, Chair Professor Peter Chen Associate Professor Dawn Tilbury Assistant Professor Jason Flinn c Hai Huang 2006 All Rights Reserved To my parents. ii ACKNOWLEDGEMENTS First, I would like to thank my advisor, Professor Kang G. Shin, for his guidance and support during my six years at U of M. This work would not be possible without his enor- mous amount of patience and understanding, for which, I am deeply grateful. I would also like to thank Professors Peter M. Chen, Jason Flinn, and Dawn Tilbury for serving on my thesis committee. I am most indebted to my parents, my mother Mei L. Jin and my father Yong K. Huang, who have stood by me from the beginning and supported me with unconditional love. During my six years of graduate school, in spite of their long drives across states and some bad weather conditions, they would come and visit me very often, just to encourage me to keep going. This thesis is dedicated to them. I would also like to express my sincere thanks to all my officemates—those who are still here and those who have already left, for their friendship. I would like to especially thank Babu Pillai for his help during my early years in graduate school and collaboration on several projects, John Reumann for being my technical sounding board, Hani Jamjoom, Cheng Jin, Haining Wang, Cong Yu, Zhiheng Wang, Songkuk Kim, Howard Tsai, Mo- hamed El Gendy, Jian Wu, Wei Sun, Zhigang Chen, and Jisoo Yang, just for being good friends. Finally, I would like to thank my fianc´ee, Xiaoyu Jia, for her patience, tolerance, and constant encouragement. Having her with me has made this journey much less painful and a lot more fun. iii TABLE OF CONTENTS DEDICATION ..................................... ii ACKNOWLEDGEMENTS .............................. iii LIST OF TABLES ...................................viii LIST OF FIGURES .................................. x CHAPTERS 1 Introduction ................................. 15 1.1 Resource-RichHardware . 15 1.2 PrimaryResearchContributions. 19 1.2.1 EnergyManagement . 19 1.2.2 PerformanceImprovement . 23 1.2.3 Fault-ToleranceEnhancement. 23 1.3 ThesisOverviewandOrganization . 24 2 Power-AwareVirtualMemory . 26 2.1 Motivation.............................. 26 2.2 MemorySystemModel . 27 2.2.1 DynamicRandomAccessMemory . 28 2.2.2 Double-DataRateDRAM . 29 2.3 Power-AwareVirtualMemory. 32 2.3.1 TrackingActiveRanks . 33 2.3.2 ReducingActiveSetSize . 34 2.3.3 ANUMAManagementLayer . 35 2.3.4 HidingLatency ....................... 36 2.4 PAVMImplementation . 38 2.4.1 InitialImplementation. 38 2.4.2 SharedMemoryIssues . 40 2.4.3 AggregationofSharedLibraries . 42 2.4.4 PageMigration ....................... 44 2.4.5 ReducingMigrationOverhead . 46 2.5 Evaluation.............................. 47 iv 2.5.1 SimulationSetup . 48 2.5.2 SPECBenchmarks . 49 2.5.3 PowerManagementTechniques . 51 2.5.4 Results............................ 52 2.6 Discussion:DMAandKernelThreads . 56 2.7 Conclusions ............................. 57 3 Software-Directed Memory Power Management . .. 59 3.1 Motivation.............................. 59 3.2 Overview .............................. 60 3.3 PMUArchitecture.......................... 61 3.3.1 DesignofaContext-AwarePMU . 64 3.3.2 CooperationwithPAVM . 67 3.3.3 Summary .......................... 67 3.4 Evaluation.............................. 68 3.4.1 SyntheticWorkload . 68 3.4.2 SPECBenchmarks . 74 3.4.3 SensitivityAnalysis . 78 3.5 Conclusions ............................. 79 4 ActiveMemory-TrafficReshaping. 81 4.1 Motivation.............................. 81 4.2 MemoryInterleaving . 82 4.3 Activevs.PassivePowerManagement . 84 4.4 MemoryTrafficReshaping . 86 4.4.1 HotRanksandColdRanks . 87 4.4.2 ReducingMigrationOverhead . 88 4.4.3 Implementation . 90 4.5 Evaluation.............................. 90 4.5.1 RankInterleaving . 91 4.5.2 MemoryTrafficReshaping . 93 4.6 Conclusions ............................. 97 5 FS2:FreeSpaceFileSystem. 98 5.1 Motivation.............................. 98 5.1.1 MotivatingExample. 99 5.1.2 DynamicManagementofDiskLayout . 101 5.2 Background .............................104 5.2.1 MechanicalComponents . .104 5.2.2 ControllerComponents . .107 5.2.3 Performance, Fault-Tolerance, and Power . 107 5.3 Design................................109 5.3.1 AvailabilityofFreeDiskSpace . 110 5.3.2 BlockReplication . .112 5.3.3 KeepingTrackofReplicas . .113 v 5.4 Prototype ..............................115 5.4.1 BlockDeviceImplementation . 115 5.4.2 FileSystemImplementation . 118 5.4.3 User-levelTools. .119 5.5 ExperimentalEvaluation . .120 5.5.1 ExperimentalSetup . .121 5.5.2 EvaluationMethodology . .121 5.5.3 TheTPC-WBenchmark . .124 5.5.4 CVS.............................132 5.5.5 StartingXServerandKDE . .133 5.5.6 SURGE ...........................134 5.6 Discussion..............................135 5.6.1 DegreeofReplication. .135 5.6.2 ReducingReplicationOverhead . 136 5.6.3 Multi-DiskIssues . .136 5.6.4 JournalingFileSystem . .137 5.7 Conclusions .............................137 6 DiskFailureCharacterization . 139 6.1 Motivation..............................139 6.2 ProbingforPhysicalGeometry . .142 6.3 ACaseStudyofFailedDisks . .145 6.3.1 Overview ..........................146 6.3.2 IBMDeskstar75GXP. .148 6.3.3 IBMUltrastar36LZX. .155 6.3.4 WesternDigitalCaviar205BA . 157 6.3.5 WesternDigitalCaviarWD400BB . 158 6.3.6 Maxtor4K020H1 . .159 6.3.7 QuantumFireballLCT10 . .160 6.3.8 QuantumFireballCX10.2A. .162 6.4 Conclusions .............................163 7 RelatedWork.................................165 7.1 Energy................................165 7.1.1 Microprocessor . .165 7.1.2 Disk .............................166 7.1.3 Memory...........................166 7.1.4 WirelessDevice. .168 7.1.5 System............................168 7.2 Performance .............................169 7.2.1 Microprocessor . .169 7.2.2 Disk .............................169 7.2.3 GraphicsProcessor . .171 7.3 Fault-Tolerance . .. .. .. .. .. .. .. .172 7.3.1 Disk .............................172 vi 8 ConclusionsandFutureWork . .173 8.1 Conclusions .............................173 8.2 FutureWork .............................174 BIBLIOGRAPHY ...................................176 vii LIST OF TABLES Table 1.1 Processortrend[95]. ............................. 16 1.2 DRAMtrend[95]. .............................. 16 1.3 Magneticdisktrend[95]. 17 1.4 LocalAreaNetworktrend[95].. .. 17 2.1 A snapshot of processes’ rank usage pattern using the primitive implemen- tation of PAVM. The notation a(b) indicates a process has b pages allocated on an active rank a............................... 41 2.2 EffectofaggregatingpagesusedbyDLLs.. ..... 43 2.3 EffectofDLLaggregationwithpagemigration. ....... 45 2.4 System parameters used in Mambo. All cache lines are 128 Byteslong. 49 2.5 Summary of the low memory-intensive and high memory-intensive work- loads.