Peer-to-Peer is Not Always Decentralized …when Centralization is Good
description
Transcript of Peer-to-Peer is Not Always Decentralized …when Centralization is Good
Peer-to-Peer is Not Always Decentralized…when Centralization is Good
Nelson Minar
<[email protected]>http://www.media.mit.edu/~nelson/
2001-11-06Slide 2/23
Network Topologies: Nelson Minar
Talk Overview• Where I come from• Topologies of distributed systems• Strengths and weaknesses• Conclusions
Warning: Broad generalizations ahead
2001-11-06Slide 3/23
Network Topologies: Nelson Minar
Systems I’ve Designed• MIT Media Lab: Hive
– Distributed Agents for Networking Things– Distributed objects– Mobile agents– Fully decentralized (cheating a bit)
• Popular Power– Give your computer something to dream about– SOAP-like client/server system– Mobile code– Fully centralized
2001-11-06Slide 4/23
Network Topologies: Nelson Minar
What is P2P Anyway?• Decentralized Systems: no
– Popular Power fails test– Napster fails test– Most Instant Messaging fails test– Confuses topology with function
• Edge Resources: yes– Small computers on edges contribute back– All peers are active participants
2001-11-06Slide 5/23
Network Topologies: Nelson Minar
Distributed Systems Topologies• Get away from fundamentalism
– “Pure P2P”, “True P2P”, etc• Focus instead on system architecture
– How do the pieces fit together?• Concentrate on connection topology• Which topology for which problem?
2001-11-06Slide 6/23
Network Topologies: Nelson Minar
Centralized• Client/server• Web servers• Databases• Napster search• Instant Messaging• Popular Power
2001-11-06Slide 7/23
Network Topologies: Nelson Minar
Ring• Fail-over clusters• Simple load balancing• Assumption
– Single owner
2001-11-06Slide 8/23
Network Topologies: Nelson Minar
Hierarchical• DNS• NTP• Usenet (sort of)
2001-11-06Slide 9/23
Network Topologies: Nelson Minar
Decentralized• Gnutella• Freenet• Hive• Internet routing
2001-11-06Slide 10/23
Network Topologies: Nelson Minar
2001-11-06Slide 11/23
Network Topologies: Nelson Minar
Centralized + Centralized• N-tier apps• Database heavy systems• Web services gateways• Grand Central
2001-11-06Slide 12/23
Network Topologies: Nelson Minar
Centralized + Ring• Serious web applications• High availability servers
2001-11-06Slide 13/23
Network Topologies: Nelson Minar
Centralized + Decentralized• Clip2 Gnutella Reflector• FastTrack / KaZaA
– Morpheus• Email
2001-11-06Slide 14/23
Network Topologies: Nelson Minar
What about other topologies?• Centralized + Hierarchical?
– Back end tree of information– Caching architectures
• Decentralized + Ring?– P2P network of fail-over clusters
• Decentralized + Hierarchical?• Decentralized + Centralized?
2001-11-06Slide 15/23
Network Topologies: Nelson Minar
Strengths and Weaknesses• Plenty of topologies to choose from• What is each kind good for?• Need a set of properties to measure• Caution: What follows is very high level
2001-11-06Slide 16/23
Network Topologies: Nelson Minar
Things to Measure• Manageability
– How hard is it to keep working?• Information coherence
– How authoritative is info? (Auditing, non-repudiation) • Extensibility
– How easy is it to grow?• Fault tolerance
– How well can it handle failures?• Security
– How hard is it to subvert?• Resistance to legal or political intervention
– How hard is it to shut down? (Can be good or bad)• Scalability
– How big can it grow?
2001-11-06Slide 17/23
Network Topologies: Nelson Minar
Centralized
ManageableCoherent
ExtensibleFault Tolerant
SecureLawsuit-proof
Scalable
System is all in one place All information is in one placeX No one can add on to systemX Single point of failure Simply secure one hostX Easy to shut down? One machine. But in practice?
2001-11-06Slide 18/23
Network Topologies: Nelson Minar
Ring
ManageableCoherent
ExtensibleFault Tolerant
SecureLawsuit-proof
Scalable
Simple rules for relationships Easy logic for stateX Only ring owner can add Fail-over to next host As long as ring has one ownerX Shut down owner Just add more hosts
2001-11-06Slide 19/23
Network Topologies: Nelson Minar
Hierarchical
ManageableCoherent
ExtensibleFault Tolerant
SecureLawsuit-proof
Scalable
½ Chain of authority½ Cache consistency½ Add more leaves, rebalance½ Root is vulnerableX Too easy to spoof linksX Just shut down the root Hugely scalable – DNS
2001-11-06Slide 20/23
Network Topologies: Nelson Minar
Decentralized
ManageableCoherent
ExtensibleFault Tolerant
SecureLawsuit-proof
Scalable
X Very difficult, many ownersX Difficult, unreliable peers Anyone can join in! RedundancyX Difficult, open research No one to sue! (…but follow $)? Theory – yes : Practice – no
2001-11-06Slide 21/23
Network Topologies: Nelson Minar
Centralized + Ring
ManageableCoherent
ExtensibleFault Tolerant
SecureLawsuit-proof
Scalable
Just manage the ring As coherent as ringX No more than ring Ring is a huge win As secure as ringX Still single place to shut down Ring is a huge win
Common architecture for web applications
2001-11-06Slide 22/23
Network Topologies: Nelson Minar
Centralized + Decentralized
ManageableCoherent
ExtensibleFault Tolerant
SecureLawsuit-proof
Scalable
X Same as decentralized½ Better than decentralized Anyone can still join! Plenty of redundancyX Same as decentralized Still no one to sue? Looking very hopeful
Best architecture for P2P networks?
2001-11-06Slide 23/23
Network Topologies: Nelson Minar
Centralized vs. Decentralized• Centralized is pretty good!
– Manageable– Coherent– Security
• Decentralized is exciting– Extensible– Massive fault tolerance– Lawsuit-proof
• Scalability is the big question
2001-11-06Slide 24/23
Network Topologies: Nelson Minar
Conclusions• Centralized is easy to deal with
– Major architecture for distributed systems– Combines well with rings
• Decentralized is good, needs research– Coherence, Manageability, Security– Scalability
• Hierarchical is overlooked• Combining architectures is powerful
Peer-to-Peer is Not Always Decentralized…when Centralization is Good
Nelson Minar
<[email protected]>http://www.media.mit.edu/~nelson/
Thanks to Marc Hedlund, Raffi Krikorian, Tony White