170 likes | 299 Views
The Role of Centralized Brokers in Distributed Computations Alex Lopez-Ortiz. Outline. Distributed systems in practice WWW Internap Cloud computing v1.0 Amazon S3 Lessons drawn. WWW. Arguably the most successful distributed system Flat hierarchy. WWW. Systems view. WWW.
E N D
The Role of Centralized Brokers in Distributed ComputationsAlex Lopez-Ortiz
Outline • Distributed systems in practice • WWW • Internap • Cloud computing v1.0 • Amazon S3 • Lessons drawn
WWW • Arguably the most successful distributed system • Flat hierarchy
WWW • Systems view
WWW • User view Centralized broker
Border Gateway Protocol • Used as a means to discover routes from point A to point B on the internet A B
BGP Protocol • Routers exchange local information about connectivity with neighbours • Update reachability information • Shortest path computation to break ties • Update choice of routes • Goto 1 Another successful distributed system
BGP scoresheet • Exponential time to converge in the worst case (actually n!) • Leads to suboptimal route choices (e.g. price of anarchy) • Requires relatively little memory • It works in practice (sort of) • Protects privacy
Internap Distributed architecture • Perform distributed global measurements • Compute centralized shortest path computation • Distribute routing tables
99.9% reliability (vs 95%) in 2001 Currently: • 100% reliability • variance < 0.5 ms Users “buy” routing tables from Internap
Cloud Computing version 2.0 • Data worth a million dollars of computing time is likely very sensitive • If service is important, we want control over it. • CC isn’t that much cheaper • Jim Gray technical report • NASA report (last issue of CACM)
Cloud Computing version 3.0 Amazon S3
Amazon S3 Q: Why is S3 successful? A: Scalability, on the face of unknown demand loads E.g. cuil search engine
Lessons Learned • Standard applications are better run centralized • Find novel applications for which distributiveness is essential (e.g. Torrents, low power devices) • Use centralized brokers to increase availability and resiliency
Distributed Systems donewrite Don’t get religiolous about it: • Implement the parts that are best distributed in a distributed fashion • Use centralized brokers to hold key global state • Disruptive technology: don’t try to implement the old using the new; find novel applications which cannot be done the old centralized way to start with