peer-to-peer is not always decentralized …when centralization is good nelson minar nelson
TRANSCRIPT
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
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
Manageable
Coherent
Extensible
Fault Tolerant
Secure
Lawsuit-proof
Scalable
System is all in one place All information is in one place
X No one can add on to system
X Single point of failure Simply secure one host
X Easy to shut down
? One machine. But in practice?
2001-11-06Slide 18/23
Network Topologies: Nelson Minar
Ring
Manageable
Coherent
Extensible
Fault Tolerant
Secure
Lawsuit-proof
Scalable
Simple rules for relationships Easy logic for state
X Only ring owner can add Fail-over to next host As long as ring has one owner
X Shut down owner Just add more hosts
2001-11-06Slide 19/23
Network Topologies: Nelson Minar
Hierarchical
Manageable
Coherent
Extensible
Fault Tolerant
Secure
Lawsuit-proof
Scalable
½ Chain of authority
½ Cache consistency
½ Add more leaves, rebalance
½ Root is vulnerable
X Too easy to spoof links
X Just shut down the root Hugely scalable – DNS
2001-11-06Slide 20/23
Network Topologies: Nelson Minar
Decentralized
Manageable
Coherent
Extensible
Fault Tolerant
Secure
Lawsuit-proof
Scalable
X Very difficult, many owners
X Difficult, unreliable peers Anyone can join in! Redundancy
X Difficult, open research No one to sue! (…but follow $)
? Theory – yes : Practice – no
2001-11-06Slide 21/23
Network Topologies: Nelson Minar
Centralized + Ring
Manageable
Coherent
Extensible
Fault Tolerant
Secure
Lawsuit-proof
Scalable
Just manage the ring As coherent as ring
X No more than ring Ring is a huge win As secure as ring
X 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
Manageable
Coherent
Extensible
Fault Tolerant
Secure
Lawsuit-proof
Scalable
X Same as decentralized
½ Better than decentralized Anyone can still join! Plenty of redundancy
X 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