SlideShare a Scribd company logo
Lecture 5 - Other Distributed Systems CSE 490h – Introduction to Distributed Computing, Spring 2007 Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License.
Outline DNS BOINC PlanetLab OLPC & Ad-hoc Mesh Networks Lecture content wrap-up
DNS: The  Distributed  System in the Distributed System
Domain Name System Mnemonic identifiers work considerably better for humans than IP addresses “ www.google.com? Surely you mean 66.102.7.99!” Who maintains the mappings from name  IP?
A Manageable Problem © 2006 Computer History Museum. All rights reserved.  www.computerhistory.org
In the beginning… Every machine had a file named hosts.txt Each line contained a name/IP mapping New hosts files were updated and distributed via email …  This clearly wasn’t going to scale
DNS Implementations Modern DNS system first proposed in 1983 First implementation in 1984 (Paul Mockapetris) BIND (Berkeley Internet Name Domain) written by four Berkeley students in 1985.  Many other implementations today
Hierarchical Naming DNS names are arranged in a hierarchy: www.cs.washington.edu Entries are either  subdomains  or  hostnames subdomains contain more subdomains, or hosts (up to 127 levels deep!) Hosts have individual IP addresses
Mechanics: Theory DNS Recurser (client) parses address from right to left Asks root server (with known, static IP address) for name of first subdomain DNS server Contacts successive DNS servers until it finds the host
Mechanics: In Practice ISPs provide a DNS recurser for clients DNS recursers cache lookups for period of time after a request Greatly speeds up retrieval of entries and reduces system load
BOINC
What is BOINC? “ Berkeley Open Infrastructure for Network Computing” Platform for Internet-wide distributed applications Volunteer computing  infrastructure Relies on many far-flung users volunteering spare CPU power
Some Facts 1,000,000+ active nodes 521 TFLOPS of computing power 20 active projects (SETI@Home, Folding@Home, Malaria Control…) and several more in development (Current as of March 2007)
Comparison to MapReduce Both are frameworks on which “useful” systems can be built Does not prescribe particular programming style Much more heterogeneous architecture Does not have a formal aggregation step Designed for much longer-running systems (months/years vs. minutes/hours)
Architecture Central server runs LAMP architecture for web + database End-users run client application with modules for actual computation BitTorrent used to distribute data elements efficiently
System Features Homogenous redundancy Work unit “trickling” Locality scheduling Distribution based on host parameters
Client software Available as regular application, background “service”, or screensaver Can be administered locally or LAN-administered via RPC Can be configured to use only “low priority” cycles
Client/Task Interaction Client software runs on variety of operating systems, each with different IPC  Uses  shared memory message passing  to transmit information from “manager” to actual tasks and vice versa
Why Participate? Sense of accomplishment, community involvement, or scientific duty Stress testing machines/networks Potential for fame (if your computer “finds” an alien planet, you can name it!) “ Bragging rights” for computing more units “ BOINC Credits”
Credit & Cobblestones Work done is rewarded with “cobblestones” 100 cobblestones = 1 day of CPU time for a computer with performance equaling 1,000 double-precision floating-point MIPS (Whetstone) & 1,000 integer VAX MIPS (Dhrystone) Computers are benchmarked by the BOINC system and receive credit appropriate to their machine
Anti-Cheating Measures Work units are computed redundantly by several different machines, and results are compared by the central server for consistency Credit is awarded after the internal server validates the returned work units Work units must be returned before a deadline
Conclusions Versatile infrastructure SETI tasks take a few hours Climate simulation tasks take months Network monitoring tasks are not CPU-bound at all! Scales extremely well to internet-wide applications Provides another flexible middleware layer to base distributed applications on Volunteer computing comes with add’l considerations (rewards, cheating)
PlanetLab
What if you wanted  to: Test a new version of Bittorrent that might generate GB’s and GB’s of data? Design a new distributed hashtable algorithm for thousands of nodes? Create a gigantic caching structure that mirrored web pages in several sites across the USA?
Problem Similarities Each of these problems requires: Hundreds or thousands of servers Geographic distribution An isolated network for testing and controlled experiments Developing one-off systems to support these would be  Costly Redundant
PlanetLab A multi-university effort to build a network for large-scale simulation, testing, and research “ Simulate the Internet”
Usage Stats Servers: 722+ Slices: 600+ Users: 2500+ Bytes-per-day: 3 - 4 TB IP-flows-per-day: 190M Unique IP-addrs-per-day: 1M As of Fall, 2006
Project Goals Supports short- and long-term research goals System put up “as fast as possible” – PlanetLab design evolves over time to meet changing needs  PlanetLab is a  process , not a result
Simultaneous Research Projects must be isolated from one another Code from several researchers: Untrustworthy? Possibly buggy?  Intellectual property issues? Time-sensitive experiments must not interfere with one another Must provide realistic workload simulations
Architecture Built on Linux, ssh, other standard tools Provides “normal” environment for application development Hosted at multiple universities w/ separate admins Requires  trust relationships  with respect to previous goals
Architecture (cont.) Network is divided into “slices” – server pools created out of virtual machines Trusted intermediary “PLC” system grants access to network resources Allows universities to specify who can use slices at each site Distributed trust relationships  Central system control    Federated control
Resource allocation PLC authenticates users and understands relationships between principals; issues tickets SHARP system at site validates ticket + returns lease
User Verification Public-key cryptography used to sign modules entered into PlanetLab X.509 + SSL keys are used by PLC + slices to verify user authenticity Keys distributed “out of band” ahead of time
Final Thoughts Large system with complex relationships Currently upgrading to version 4.0 New systems (GENI) are being proposed Still provides lots of resources to researchers CoralCache, several other projects run on PlanetLab
OLPC “ They want to deliver vast amounts of information over the Internet. And again, the Internet is not something you just dump something on. It's not a big truck. It's a  series of tubes .”
The Internet is a series of tubes The internet is composed of a lot of infrastructure: Clients and servers Routers and switches Fiber optic trunk lines, telephone lines, tubes and trucks And if we map the density of this infrastructure…
…  it probably looks something like this Photo: cmu.edu
How do we distribute knowledge when there are no tubes? What if we wanted to share a book? Pass it along, door-to-door. What if we wanted to share 10,000 books? Build community library. How about 10 million books? Or 300 copies of one book? A very large library?
Solutions We need to build infrastructure to make large-scale distribution easy (i.e., computers and networking equipment) We need to be cheap Most of those dark spots don’t have much money We need reliability where reliable power is costly Again, did you notice that there weren’t so many lights? It’s because there’s no electricity!
The traditional solution: a shared computer with Internet India 75% of people in rural villages 90% of phones in urban areas Many villagers share a single phone, usually located in the town post office Likewise, villages typically share a few computers, located at the school (or somewhere with reliable power) What’s the downside to this model? It might provide shared access to a lot of information, but it doesn’t solve the “300 copies of a book” case
The distributed solution: the XO AKA: Children’s Machine, OLPC, $100 laptop A cheap (~$150) laptop designed for children in developing countries OLPC = One Laptop Per Child. Photo: laptop.org
XO design Low power consumption No moving parts (flash memory, passive cooling) Dual-mode display In color, the XO consumes 2-3 watts In high-contrast monochrome, less than 1 watt Can be human powered by a foot-pedal Rugged, child-friendly design Low material costs Open-source software
XO networking The XO utilizes far-reaching, low-power wireless networking to create ad-hoc mesh networks If any single XO is connected to the Internet, other nearby computers can share the connection in a peer-to-peer scheme Networks can theoretically sprawl as far as ten miles, even connecting nearby villages
XO storage and sharing XO relies on network for content and collaboration Content is stored on a central servers Textbooks Cached websites (Wikipedia) User content Software makes it easy to see other users on the network and share content
XO distribution XO must be purchased in orders of 1 million units by governments in developing nations (economies of scale help to lower costs) Governments are responsible for distribution of laptops Laptops are only for children, designed solely as a tool for learning
XO downfalls Distribution downfalls What about children in developed nations? Sell to developed markets at a higher price to subsidize costs for developing nations. Can governments effectively distribute? What about black markets? OLPC could perhaps partner with local schools and other NGOs to aid in distribution, training and maintenance Too expensive? Some nations can only afford as much $20 per child per year. How can we cater to them?
What can the XO achieve? Today, only 16 percent of the world’s population is estimated to have access to the Internet Develop new markets Microcredit Make small loans to the impoverished without requiring collateral Muhammad Yunus and the Grameen Bank won the 2006 Nobel Peace Prize for their work here The power of the village economy As millions of users come online in developing nations, there will be many new opportunities for commerce. Helps those in developing nations to advance their economies and develop stronger economic models
Why give the XO to children? UN Millennium Development Goal #2: “achieve universal primary education” Empower children to think and compete in a global space Children are a nations greatest resource Backed by a bolstered economy, they will grow to solve other issues (infrastructure, poverty, famine)
The Course Again (in 5 minutes) So what did we see in this class? Moore’s law is starting to fail More computing power means more machines This means breaking problems into sub problems Sub-problems cannot interfere with or depend on one another Have to “play nice” with shared memory
MapReduce MapReduce is one paradigm for breaking problems up Makes the “playing nice” easy by enforcing a decoupled programming model Handles lots of the behind-the-scenes work
Distributed Systems & Networks The network is a fundamental part of a distributed system Have to plan for bandwidth, latency, etc We’d like to think of the network as an abstraction Sockets = pipes RPC looks like a normal procedure call, handles tricky stuff under the hood Still have to plan for failures of all kinds
Distributed Filesystems The network allows us to make data available across many machines Network file systems can hook into existing infrastructure Specialized file systems (like GFS) can offer better performance with loss of generality Raises issues of concurrency, process isolation, and how to combat stale data
And finally… There are lots of distributed systems out there MapReduce, BOINC, MPI, several other architectures, styles, problems to solve

More Related Content

What's hot (20)

PPTX
Beowulf cluster
Yash Karanke
 
PDF
Week 8 lecture material
Ankit Gupta
 
PPTX
cluster computing
anjalibhandari11011995
 
PPTX
Cluster computing ppt
DC Graphics
 
PPTX
WAN & LAN Cluster with Diagrams and OSI explanation
Jonathan Reid
 
DOC
Computer cluster
Shiva Krishna Chandra Shekar
 
PPTX
High performance computing
punjab engineering college, chandigarh
 
PDF
“TinyML Isn’t Thinking Big Enough,” a Presentation from Perceive
Edge AI and Vision Alliance
 
PDF
Manta: a new internet-facing object storage facility that features compute by...
Hakka Labs
 
PPT
Computing Outside The Box
Ian Foster
 
PPTX
Cloud computing
ahmedfaragmostafa
 
PPTX
Cluster Computing
AAKASH SINGH
 
PPT
The Trouble with Cloud Forensics
Sharique Rizvi
 
PPTX
Cluster computing pptl (2)
Rohit Jain
 
PDF
191
vivatechijri
 
PPT
CLUSTER COMPUTING
KITE www.kitecolleges.com
 
PPTX
Cluster computing
Raja' Masa'deh
 
PDF
BitTorrent Protocol
gkmv
 
PPT
Cluster Tutorial
cybercbm
 
Beowulf cluster
Yash Karanke
 
Week 8 lecture material
Ankit Gupta
 
cluster computing
anjalibhandari11011995
 
Cluster computing ppt
DC Graphics
 
WAN & LAN Cluster with Diagrams and OSI explanation
Jonathan Reid
 
High performance computing
punjab engineering college, chandigarh
 
“TinyML Isn’t Thinking Big Enough,” a Presentation from Perceive
Edge AI and Vision Alliance
 
Manta: a new internet-facing object storage facility that features compute by...
Hakka Labs
 
Computing Outside The Box
Ian Foster
 
Cloud computing
ahmedfaragmostafa
 
Cluster Computing
AAKASH SINGH
 
The Trouble with Cloud Forensics
Sharique Rizvi
 
Cluster computing pptl (2)
Rohit Jain
 
CLUSTER COMPUTING
KITE www.kitecolleges.com
 
Cluster computing
Raja' Masa'deh
 
BitTorrent Protocol
gkmv
 
Cluster Tutorial
cybercbm
 

Viewers also liked (20)

PDF
Introduction to Concurrency
Sri Prasanna
 
PPT
Authentication (Distributed computing)
Sri Prasanna
 
PPT
Introduction & Parellelization on large scale clusters
Sri Prasanna
 
PPT
Distributed file systems
Sri Prasanna
 
PPT
Mapreduce: Theory and implementation
Sri Prasanna
 
PPT
Network and distributed systems
Sri Prasanna
 
PDF
Locks (Concurrency)
Sri Prasanna
 
PPT
Clusters (Distributed computing)
Sri Prasanna
 
PPT
Sandboxing (Distributed computing)
Sri Prasanna
 
PPTX
Introduction to Distributed Architecture
Justin Weinberg
 
PDF
Large Scale Distributed Storage Systems in Volunteer Computing - Slide
Arinto Murdopo
 
PPTX
hadoop
Deep Mehta
 
PDF
MOINC Server
Aravinda Dassanayake
 
PPTX
Volunteer Computing using BOINC
Pooyan Mehrparvar
 
PPT
Lecture 1 (distributed systems)
Fazli Amin
 
PDF
Virtual Machines & Volunteer Computing
Daniel Lombraña González
 
PPTX
"Volunteer Computing With Boinc" por Diamantino Cruz e Ricardo Madeira
Núcleo de Electrónica e Informática da Universidade do Algarve
 
PPT
Intro (Distributed computing)
Sri Prasanna
 
PPT
SETI@Home - Looking for some E.T
SpaceUpPoland
 
Introduction to Concurrency
Sri Prasanna
 
Authentication (Distributed computing)
Sri Prasanna
 
Introduction & Parellelization on large scale clusters
Sri Prasanna
 
Distributed file systems
Sri Prasanna
 
Mapreduce: Theory and implementation
Sri Prasanna
 
Network and distributed systems
Sri Prasanna
 
Locks (Concurrency)
Sri Prasanna
 
Clusters (Distributed computing)
Sri Prasanna
 
Sandboxing (Distributed computing)
Sri Prasanna
 
Introduction to Distributed Architecture
Justin Weinberg
 
Large Scale Distributed Storage Systems in Volunteer Computing - Slide
Arinto Murdopo
 
hadoop
Deep Mehta
 
MOINC Server
Aravinda Dassanayake
 
Volunteer Computing using BOINC
Pooyan Mehrparvar
 
Lecture 1 (distributed systems)
Fazli Amin
 
Virtual Machines & Volunteer Computing
Daniel Lombraña González
 
"Volunteer Computing With Boinc" por Diamantino Cruz e Ricardo Madeira
Núcleo de Electrónica e Informática da Universidade do Algarve
 
Intro (Distributed computing)
Sri Prasanna
 
SETI@Home - Looking for some E.T
SpaceUpPoland
 
Ad

Similar to Other distributed systems (20)

PDF
"Volunteer Computing with BOINC Client-Server side" por Diamantino Cruz e Ric...
Núcleo de Electrónica e Informática da Universidade do Algarve
 
PPT
Cloud Computing,雲端運算-中研院網格計畫主持人林誠謙
Tracy Chen
 
PPT
Serverless (Distributed computing)
Sri Prasanna
 
PPTX
WebScience_Part3_DistributedApproaches.pptx
JoshuaEddyson1
 
PDF
Bertenthal
Jesse Lingeman
 
PPT
GRID COMPUTING.ppt
4173CarreonIraMaeL
 
PPT
Komputasi Awan
Michael Sunggiardi
 
PPT
Blowing up the Box--the Emergence of the Planetary Computer
Larry Smarr
 
PDF
Evolution of The Twitter Stack
Chris Aniszczyk
 
PPT
Grid optical network service architecture for data intensive applications
Tal Lavian Ph.D.
 
ODP
Sneakernets: Bringing the Mountain to You
Sameer Verma
 
PPT
Peer-to-peer Systems.ppt
Ashok Chandrasekaran
 
PPTX
ACES QuakeSim 2011
marpierc
 
PDF
Sharing Economy 2.0 & The Internet of People (IoP) Workshop
Hristian Daskalov
 
PPT
Metacomputer Architecture of the Global LambdaGrid
Larry Smarr
 
PPT
Gridcomputingppt
navjasser
 
PDF
Software and Education at NSF/ACI
Daniel S. Katz
 
PPT
Cyberinfrastructure and Applications Overview: Howard University June22
marpierc
 
PDF
XS: OLPC School Server
Sameer Verma
 
PDF
Access to Information: How will the other 70% get it?
Sameer Verma
 
"Volunteer Computing with BOINC Client-Server side" por Diamantino Cruz e Ric...
Núcleo de Electrónica e Informática da Universidade do Algarve
 
Cloud Computing,雲端運算-中研院網格計畫主持人林誠謙
Tracy Chen
 
Serverless (Distributed computing)
Sri Prasanna
 
WebScience_Part3_DistributedApproaches.pptx
JoshuaEddyson1
 
Bertenthal
Jesse Lingeman
 
GRID COMPUTING.ppt
4173CarreonIraMaeL
 
Komputasi Awan
Michael Sunggiardi
 
Blowing up the Box--the Emergence of the Planetary Computer
Larry Smarr
 
Evolution of The Twitter Stack
Chris Aniszczyk
 
Grid optical network service architecture for data intensive applications
Tal Lavian Ph.D.
 
Sneakernets: Bringing the Mountain to You
Sameer Verma
 
Peer-to-peer Systems.ppt
Ashok Chandrasekaran
 
ACES QuakeSim 2011
marpierc
 
Sharing Economy 2.0 & The Internet of People (IoP) Workshop
Hristian Daskalov
 
Metacomputer Architecture of the Global LambdaGrid
Larry Smarr
 
Gridcomputingppt
navjasser
 
Software and Education at NSF/ACI
Daniel S. Katz
 
Cyberinfrastructure and Applications Overview: Howard University June22
marpierc
 
XS: OLPC School Server
Sameer Verma
 
Access to Information: How will the other 70% get it?
Sameer Verma
 
Ad

More from Sri Prasanna (20)

PDF
Qr codes para tech radar
Sri Prasanna
 
PDF
Qr codes para tech radar 2
Sri Prasanna
 
DOC
Test
Sri Prasanna
 
DOC
Test
Sri Prasanna
 
PDF
assds
Sri Prasanna
 
PDF
assds
Sri Prasanna
 
PDF
asdsa
Sri Prasanna
 
PDF
dsd
Sri Prasanna
 
PDF
About stacks
Sri Prasanna
 
PDF
About Stacks
Sri Prasanna
 
PDF
About Stacks
Sri Prasanna
 
PDF
About Stacks
Sri Prasanna
 
PDF
About Stacks
Sri Prasanna
 
PDF
About Stacks
Sri Prasanna
 
PDF
About Stacks
Sri Prasanna
 
PDF
About Stacks
Sri Prasanna
 
PPT
Introduction to Cluster Computing and Map Reduce (from Google)
Sri Prasanna
 
PPT
Map reduce (from Google)
Sri Prasanna
 
PPT
Distributed file systems (from Google)
Sri Prasanna
 
PPT
Pagerank (from Google)
Sri Prasanna
 
Qr codes para tech radar
Sri Prasanna
 
Qr codes para tech radar 2
Sri Prasanna
 
About stacks
Sri Prasanna
 
About Stacks
Sri Prasanna
 
About Stacks
Sri Prasanna
 
About Stacks
Sri Prasanna
 
About Stacks
Sri Prasanna
 
About Stacks
Sri Prasanna
 
About Stacks
Sri Prasanna
 
About Stacks
Sri Prasanna
 
Introduction to Cluster Computing and Map Reduce (from Google)
Sri Prasanna
 
Map reduce (from Google)
Sri Prasanna
 
Distributed file systems (from Google)
Sri Prasanna
 
Pagerank (from Google)
Sri Prasanna
 

Recently uploaded (20)

PDF
July Patch Tuesday
Ivanti
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
July Patch Tuesday
Ivanti
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 

Other distributed systems

  • 1. Lecture 5 - Other Distributed Systems CSE 490h – Introduction to Distributed Computing, Spring 2007 Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License.
  • 2. Outline DNS BOINC PlanetLab OLPC & Ad-hoc Mesh Networks Lecture content wrap-up
  • 3. DNS: The Distributed System in the Distributed System
  • 4. Domain Name System Mnemonic identifiers work considerably better for humans than IP addresses “ www.google.com? Surely you mean 66.102.7.99!” Who maintains the mappings from name  IP?
  • 5. A Manageable Problem © 2006 Computer History Museum. All rights reserved. www.computerhistory.org
  • 6. In the beginning… Every machine had a file named hosts.txt Each line contained a name/IP mapping New hosts files were updated and distributed via email … This clearly wasn’t going to scale
  • 7. DNS Implementations Modern DNS system first proposed in 1983 First implementation in 1984 (Paul Mockapetris) BIND (Berkeley Internet Name Domain) written by four Berkeley students in 1985. Many other implementations today
  • 8. Hierarchical Naming DNS names are arranged in a hierarchy: www.cs.washington.edu Entries are either subdomains or hostnames subdomains contain more subdomains, or hosts (up to 127 levels deep!) Hosts have individual IP addresses
  • 9. Mechanics: Theory DNS Recurser (client) parses address from right to left Asks root server (with known, static IP address) for name of first subdomain DNS server Contacts successive DNS servers until it finds the host
  • 10. Mechanics: In Practice ISPs provide a DNS recurser for clients DNS recursers cache lookups for period of time after a request Greatly speeds up retrieval of entries and reduces system load
  • 11. BOINC
  • 12. What is BOINC? “ Berkeley Open Infrastructure for Network Computing” Platform for Internet-wide distributed applications Volunteer computing infrastructure Relies on many far-flung users volunteering spare CPU power
  • 13. Some Facts 1,000,000+ active nodes 521 TFLOPS of computing power 20 active projects (SETI@Home, Folding@Home, Malaria Control…) and several more in development (Current as of March 2007)
  • 14. Comparison to MapReduce Both are frameworks on which “useful” systems can be built Does not prescribe particular programming style Much more heterogeneous architecture Does not have a formal aggregation step Designed for much longer-running systems (months/years vs. minutes/hours)
  • 15. Architecture Central server runs LAMP architecture for web + database End-users run client application with modules for actual computation BitTorrent used to distribute data elements efficiently
  • 16. System Features Homogenous redundancy Work unit “trickling” Locality scheduling Distribution based on host parameters
  • 17. Client software Available as regular application, background “service”, or screensaver Can be administered locally or LAN-administered via RPC Can be configured to use only “low priority” cycles
  • 18. Client/Task Interaction Client software runs on variety of operating systems, each with different IPC Uses shared memory message passing to transmit information from “manager” to actual tasks and vice versa
  • 19. Why Participate? Sense of accomplishment, community involvement, or scientific duty Stress testing machines/networks Potential for fame (if your computer “finds” an alien planet, you can name it!) “ Bragging rights” for computing more units “ BOINC Credits”
  • 20. Credit & Cobblestones Work done is rewarded with “cobblestones” 100 cobblestones = 1 day of CPU time for a computer with performance equaling 1,000 double-precision floating-point MIPS (Whetstone) & 1,000 integer VAX MIPS (Dhrystone) Computers are benchmarked by the BOINC system and receive credit appropriate to their machine
  • 21. Anti-Cheating Measures Work units are computed redundantly by several different machines, and results are compared by the central server for consistency Credit is awarded after the internal server validates the returned work units Work units must be returned before a deadline
  • 22. Conclusions Versatile infrastructure SETI tasks take a few hours Climate simulation tasks take months Network monitoring tasks are not CPU-bound at all! Scales extremely well to internet-wide applications Provides another flexible middleware layer to base distributed applications on Volunteer computing comes with add’l considerations (rewards, cheating)
  • 24. What if you wanted to: Test a new version of Bittorrent that might generate GB’s and GB’s of data? Design a new distributed hashtable algorithm for thousands of nodes? Create a gigantic caching structure that mirrored web pages in several sites across the USA?
  • 25. Problem Similarities Each of these problems requires: Hundreds or thousands of servers Geographic distribution An isolated network for testing and controlled experiments Developing one-off systems to support these would be Costly Redundant
  • 26. PlanetLab A multi-university effort to build a network for large-scale simulation, testing, and research “ Simulate the Internet”
  • 27. Usage Stats Servers: 722+ Slices: 600+ Users: 2500+ Bytes-per-day: 3 - 4 TB IP-flows-per-day: 190M Unique IP-addrs-per-day: 1M As of Fall, 2006
  • 28. Project Goals Supports short- and long-term research goals System put up “as fast as possible” – PlanetLab design evolves over time to meet changing needs PlanetLab is a process , not a result
  • 29. Simultaneous Research Projects must be isolated from one another Code from several researchers: Untrustworthy? Possibly buggy? Intellectual property issues? Time-sensitive experiments must not interfere with one another Must provide realistic workload simulations
  • 30. Architecture Built on Linux, ssh, other standard tools Provides “normal” environment for application development Hosted at multiple universities w/ separate admins Requires trust relationships with respect to previous goals
  • 31. Architecture (cont.) Network is divided into “slices” – server pools created out of virtual machines Trusted intermediary “PLC” system grants access to network resources Allows universities to specify who can use slices at each site Distributed trust relationships Central system control  Federated control
  • 32. Resource allocation PLC authenticates users and understands relationships between principals; issues tickets SHARP system at site validates ticket + returns lease
  • 33. User Verification Public-key cryptography used to sign modules entered into PlanetLab X.509 + SSL keys are used by PLC + slices to verify user authenticity Keys distributed “out of band” ahead of time
  • 34. Final Thoughts Large system with complex relationships Currently upgrading to version 4.0 New systems (GENI) are being proposed Still provides lots of resources to researchers CoralCache, several other projects run on PlanetLab
  • 35. OLPC “ They want to deliver vast amounts of information over the Internet. And again, the Internet is not something you just dump something on. It's not a big truck. It's a series of tubes .”
  • 36. The Internet is a series of tubes The internet is composed of a lot of infrastructure: Clients and servers Routers and switches Fiber optic trunk lines, telephone lines, tubes and trucks And if we map the density of this infrastructure…
  • 37. … it probably looks something like this Photo: cmu.edu
  • 38. How do we distribute knowledge when there are no tubes? What if we wanted to share a book? Pass it along, door-to-door. What if we wanted to share 10,000 books? Build community library. How about 10 million books? Or 300 copies of one book? A very large library?
  • 39. Solutions We need to build infrastructure to make large-scale distribution easy (i.e., computers and networking equipment) We need to be cheap Most of those dark spots don’t have much money We need reliability where reliable power is costly Again, did you notice that there weren’t so many lights? It’s because there’s no electricity!
  • 40. The traditional solution: a shared computer with Internet India 75% of people in rural villages 90% of phones in urban areas Many villagers share a single phone, usually located in the town post office Likewise, villages typically share a few computers, located at the school (or somewhere with reliable power) What’s the downside to this model? It might provide shared access to a lot of information, but it doesn’t solve the “300 copies of a book” case
  • 41. The distributed solution: the XO AKA: Children’s Machine, OLPC, $100 laptop A cheap (~$150) laptop designed for children in developing countries OLPC = One Laptop Per Child. Photo: laptop.org
  • 42. XO design Low power consumption No moving parts (flash memory, passive cooling) Dual-mode display In color, the XO consumes 2-3 watts In high-contrast monochrome, less than 1 watt Can be human powered by a foot-pedal Rugged, child-friendly design Low material costs Open-source software
  • 43. XO networking The XO utilizes far-reaching, low-power wireless networking to create ad-hoc mesh networks If any single XO is connected to the Internet, other nearby computers can share the connection in a peer-to-peer scheme Networks can theoretically sprawl as far as ten miles, even connecting nearby villages
  • 44. XO storage and sharing XO relies on network for content and collaboration Content is stored on a central servers Textbooks Cached websites (Wikipedia) User content Software makes it easy to see other users on the network and share content
  • 45. XO distribution XO must be purchased in orders of 1 million units by governments in developing nations (economies of scale help to lower costs) Governments are responsible for distribution of laptops Laptops are only for children, designed solely as a tool for learning
  • 46. XO downfalls Distribution downfalls What about children in developed nations? Sell to developed markets at a higher price to subsidize costs for developing nations. Can governments effectively distribute? What about black markets? OLPC could perhaps partner with local schools and other NGOs to aid in distribution, training and maintenance Too expensive? Some nations can only afford as much $20 per child per year. How can we cater to them?
  • 47. What can the XO achieve? Today, only 16 percent of the world’s population is estimated to have access to the Internet Develop new markets Microcredit Make small loans to the impoverished without requiring collateral Muhammad Yunus and the Grameen Bank won the 2006 Nobel Peace Prize for their work here The power of the village economy As millions of users come online in developing nations, there will be many new opportunities for commerce. Helps those in developing nations to advance their economies and develop stronger economic models
  • 48. Why give the XO to children? UN Millennium Development Goal #2: “achieve universal primary education” Empower children to think and compete in a global space Children are a nations greatest resource Backed by a bolstered economy, they will grow to solve other issues (infrastructure, poverty, famine)
  • 49. The Course Again (in 5 minutes) So what did we see in this class? Moore’s law is starting to fail More computing power means more machines This means breaking problems into sub problems Sub-problems cannot interfere with or depend on one another Have to “play nice” with shared memory
  • 50. MapReduce MapReduce is one paradigm for breaking problems up Makes the “playing nice” easy by enforcing a decoupled programming model Handles lots of the behind-the-scenes work
  • 51. Distributed Systems & Networks The network is a fundamental part of a distributed system Have to plan for bandwidth, latency, etc We’d like to think of the network as an abstraction Sockets = pipes RPC looks like a normal procedure call, handles tricky stuff under the hood Still have to plan for failures of all kinds
  • 52. Distributed Filesystems The network allows us to make data available across many machines Network file systems can hook into existing infrastructure Specialized file systems (like GFS) can offer better performance with loss of generality Raises issues of concurrency, process isolation, and how to combat stale data
  • 53. And finally… There are lots of distributed systems out there MapReduce, BOINC, MPI, several other architectures, styles, problems to solve

Editor's Notes

  • #9: This allows multiple machines named “CS” in the world For unfortunate reasons, the most significant label is to the right, instead of the left.
  • #10: Pitfalls of this design: -- requires literally billions or more queries to root servers in a day – far too much stress -- requires every individual computer to make lots of requests to many different machines
  • #37: Alright, maybe Senator Stevens isn’t entirely correct, but he’s right about one thing: the internet is composed of some sort of infrastructure.
  • #38: This is a composited satellite image of the earth at night. This is meant to demonstrate that there are a lot of spaces which lack infrastructure even for electricity. A real map of internet infrastructure would probably show even greater infrastructural disparity between the wealthier developed nations and the developing nations.
  • #40: Cheap: Fiber costs nearly $50k per mile in rural areas, Cisco routers with 80 ports are around $7k, desktop computers are $300-$400, and the cost of powering this equipment reliably is tremendously expensive in a developing nation
  • #42: Founded by Nicholas Negroponte while he was working at MediaLab. Took the project outside of the lab to form a new non-profit NGO called OLPC. Backed by many industry leaders, including: Quanta (manufacturer), eBay, AMD, Google, Red Hat. Mission: provide the laptop at a low cost (in terms of both hardware and operation) to facilitate its purchase by governments of developing nations; provide rich, open-source software tools to allow teachers and children to create, develop and discover knowledge; provide high-bandwidth connectivity to enable the development of knowledge communities. OLPC: If you give each child access simultaneous access to the Internet (or even a local copy of Wikipedia stored at some village server) you can provide them with more knowledge than the biggest library in the world, and at a lower cost. Improving the educational experience in drastic ways to create long-term effects towards providing fair, equitable, and economically and socially viable societies.
  • #48: Of course, all of this is good for us (and the rest of the developed nations). Simple math can tell you that an expansion of the market (potentially 5 fold!) means more commerce here too!
  • #49: Certainly, children are the future of any nation. If we can elevate the level of education, we can create more opportunities for them to compete and grab a share of global markets, and standard of living will rise. India and China are already bringing themselves out of poverty, largely because of the commerce they have with developed nations.