This preview shows page 1-2-3-4-5-6-7-8-56-57-58-59-60-61-62-63-113-114-115-116-117-118-119-120 out of 120 pages.
The Datacenter as a Computer An Introduction to the Design of Warehouse Scale Machines iii Synthesis Lectures on Computer Architecture Editor Mark D Hill University of Wisconsin Madison Synthesis Lectures on Computer Architecture publishes 50 to 150 page publications on topics pertaining to the science and art of designing analyzing selecting and interconnecting hardware components to create computers that meet functional performance and cost goals The Datacenter as a Computer An Introduction to the Design of Warehouse Scale Machines Luiz Andr Barroso and Urs H lzle 2009 Computer Architecture Techniques for Power Efficiency Stefanos Kaxiras and Margaret Martonosi 2008 Chip Multiprocessor Architecture Techniques to Improve Throughput and Latency Kunle Olukotun Lance Hammond James Laudon 2007 Transactional Memory James R Larus Ravi Rajwar 2007 Quantum Computing for Computer Architects Tzvetan S Metodi Frederic T Chong 2006 Copyright 2009 by Morgan Claypool All rights reserved No part of this publication may be reproduced stored in a retrieval system or transmitted in any form or by any means electronic mechanical photocopy recording or any other except for brief quotations in printed reviews without the prior permission of the publisher The Datacenter as a Computer An Introduction to the Design of Warehouse Scale Machines Luiz Andr Barroso and Urs H lzle www morganclaypool com ISBN 9781598295566 paperback ISBN 9781598295573 ebook DOI 10 2200 S00193ED1V01Y200905CAC006 A Publication in the Morgan Claypool Publishers series SYNTHESIS LECTURES ON COMPUTER ARCHITECTURE Lecture 6 Series Editor Mark D Hill University of Wisconsin Madison Series ISSN ISSN 1935 3235 print ISSN 1935 3243 electronic The Datacenter as a Computer An Introduction to the Design of Warehouse Scale Machines Luiz Andr Barroso and Urs H lzle Google Inc SYNTHESIS LECTURES ON COMPUTER ARCHITECTURE 6 vi Abstract As computation continues to move into the cloud the computing platform of interest no longer resembles a pizza box or a refrigerator but a warehouse full of computers These new large datacenters are quite different from traditional hosting facilities of earlier times and cannot be viewed simply as a collection of co located servers Large portions of the hardware and software resources in these facilities must work in concert to efficiently deliver good levels of Internet service performance something that can only be achieved by a holistic approach to their design and deployment In other words we must treat the datacenter itself as one massive warehouse scale computer WSC We describe the architecture of WSCs the main factors influencing their design operation and cost structure and the characteristics of their software base We hope it will be useful to architects and programmers of today s WSCs as well as those of future many core platforms which may one day implement the equivalent of today s WSCs on a single board Keywords computer organization and design Internet services energy efficiency fault tolerant computing cluster computing data centers distributed systems cloud computing vii Acknowledgments While we draw from our direct involvement in Google s infrastructure design and operation over the past several years most of what we have learned and now report here is the result of the hard work the insights and the creativity of our colleagues at Google The work of our Platforms Engineering Hardware Operations Facilities Site Reliability and Software Infrastructure teams is most directly related to the topics we cover here and therefore we are particularly grateful to them for allowing us to benefit from their experience Ricardo Bianchini Fred Chong and Mark Hill provided extremely useful feedback despite being handed a relatively immature early version of the text Our Google colleagues Jeff Dean and Jimmy Clidaras also provided extensive and particularly useful feedback on earlier drafts Thanks to the work of Kristin Weissman at Google and Michael Morgan at Morgan Claypool we were able to make this lecture available electronically without charge which was a condition for our accepting this task We were fortunate that Gerry Kane volunteered his technical writing talent to significantly improve the quality of the text We would also like to thank Catherine Warner for her proofreading and improvements to the text at various stages We are very grateful to Mark Hill and Michael Morgan for inviting us to this project for their relentless encouragement and much needed prodding and their seemingly endless patience This edition of the book benefits from the feedback and corrections submitted by Christian Belady Jeremy Dion Robert Hundt Artur Klauser David Konerding Mike Marty Vijay Rao Jordi Torres Amund Tveit Juan Vargas Pedro Reviriego Vasallo and Kristin Weissman We are sincerely thankful for their help viii Note to the Reader We very much appreciate any thoughts suggestions or corrections you might have on our manuscript We plan to revise the book relatively often and will make sure to acknowledge explicitly any input that can help us improve its usefulness and accuracy Thanks in advance for taking the time to contribute Please submit your feedback at http tinyurl com wsc comments http spreadsheets google com viewform formkey cmFrdHUxcTJ2SndCV2E4RzdTOT A0QXc6MA ix Contents 1 Introduction 1 1 1 Warehouse Scale Computers 2 1 2 Emphasis on Cost Efficiency 3 1 3 Not Just a Collection of Servers 4 1 4 One Datacenter vs Several Datacenters 4 1 5 Why WSCs Might Matter to You 5 1 6 Architectural Overview of WSCs 5 1 6 1 Storage 6 1 6 2 Networking Fabric 7 1 6 3 Storage Hierarchy 8 1 6 4 Quantifying Latency Bandwidth and Capacity 8 1 6 5 Power Usage 10 1 6 6 Handling Failures 11 2 Workloads and Software Infrastructure 13 2 1 Datacenter vs Desktop 13 2 2 Performance and Availability Toolbox 15 2 3 Cluster Level Infrastructure Software 19 2 3 1 Resource Management 20 2 3 2 Hardware Abstraction and Other Basic Services 20 2 3 3 Deployment and Maintenance 20 2 3 4 Programming Frameworks 21 2 4 Application Level Software 21 2 4 1 Workload Examples 22 2 4 2 Online Web Search 22 2 4 3 Offline Scholar Article Similarity 24 2 5 A Monitoring Infrastructure 26 2 5 1 Service Level Dashboards 26 the datacenter as a computer 2 6 2 7 2 5 2 Performance Debugging Tools 27 2 5 3 Platform Level Monitoring 28 Buy vs Build 28 Further Reading 29 3 Hardware Building Blocks 31 3 1 Cost Efficient Hardware 31 3 1 1 How About Parallel Application
View Full Document
Unlocking...