200 likes | 213 Views
Introduction to Data Center Computing. Derek Murray October 2010. What we’ll cover. Techniques for handling “big data” Distributed storage Distributed computation Focus on recent papers describing real systems. Example: web search. Crawling. Indexing. Querying. WWW.
E N D
Introduction to Data Center Computing Derek Murray October 2010
What we’ll cover • Techniques for handling “big data” • Distributed storage • Distributed computation • Focus on recent papers describing real systems
Example: web search Crawling Indexing Querying WWW
A system architecture? Network Computers Storage
Data Center architecture Core switch Rack switch Rack switch Rack switch Server Server Server Server Server Server Server Server Server
Distributed storage • High volume of data • High volume of read/writerequests • Fault tolerance
The Google file system (2003) GFS Master Client Chunk server Chunk server Chunk server
Dynamo (2007) Client
Distributed computation • Parallel distributed processing • Single Program, Multiple Data (SPMD) • Fault tolerance • Applications
Task farming Master Worker Worker Worker Storage
Dryad (2007) • Arbitrarydirected acyclic graph (DAG) • Vertices and channels • Topological ordering
DryadLINQ(2008) • Language Integrated Query (LINQ) vartable = PartitionedTable.Get<int>(“…”); varresult = from x in table selectx * x; intsumSquares = result.Sum();
Scheduling issues • Heterogeneous performance • Sharing a cluster fairly • Data locality
Percolator (2010) • Built on Google BigTable • Transactions via snapshot isolation • Per-column notifications (triggers)
Skywriting and Ciel(2010) • Universal distributed execution engine • Script language for distributed programs • Opportunities for student projects…
References • Storage • Ghemawatet al., “The Google File System”, Proceedings of SOSP 2003 • DeCandiaet al., “Dynamo: Amazon’s Highly-Available Key-value Store”, Proceedings of SOSP 2007 • Computation • Dean and Ghemawat, “MapReduce: Simplified Data Processing on Large Clusters”, Proceedings of OSDI 2004 • Isardet al., “Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks”, Proceedings of EuroSys 2007 • Yu et al., “DryadLINQ: A System for General-Purpose Distributed Data-Parallel Computing Using a High-Level Language”, Proceedings of OSDI 2008 • Olstonet al., “Pig Latin: A Not-So-Foreign Language for Data Processing”, Proceedings of SIGMOD 2008 • Murray and Hand, “Scripting the Cloud with Skywriting”, Proceedings of HotCloud 2010 • Scheduling • Zahariaet al., “Improving MapReduce Performance in Heterogeneous Environments”, Proceedings of OSDI 2008 • Isardet al., “Quincy: Fair Scheduling for Distributed Computing Clusters”, Proceedings of SOSP 2009 • Zahariaet al., “Delay Scheduling: A Simple Technique for Achieving Locality and Fairness in Cluster Scheduling”, Proceedings of EuroSys2010 • Transactions • Peng and Dabek, “Large-Scale Incremental Processing using Distributed Transactions and Notifications”, Proceedings of OSDI 2010
Conclusions • Data centers achieve high performance with commodity parts • Efficient storage requires application-specific trade-offs • Data-parallelism simplifies distributed computation on the data
Questions • Now or after the lecture • Email • Derek.Murray@cl.cam.ac.uk • Web • http://www.cl.cam.ac.uk/~dgm36/