peer-to-peer is not always decentralized …when centralization is good nelson minar nelson

26
Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar <[email protected]> http://www.media.mit.edu/~nelson/

Upload: louisa-rogers

Post on 16-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

Peer-to-Peer is Not Always Decentralized…when Centralization is Good

Nelson Minar

<[email protected]>http://www.media.mit.edu/~nelson/

Page 2: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar 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

Page 3: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

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

Page 4: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

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

Page 5: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

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?

Page 6: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

2001-11-06Slide 6/23

Network Topologies: Nelson Minar

Centralized

• Client/server

• Web servers

• Databases

• Napster search

• Instant Messaging

• Popular Power

Page 7: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

2001-11-06Slide 7/23

Network Topologies: Nelson Minar

Ring

• Fail-over clusters

• Simple load balancing

• Assumption– Single owner

Page 8: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

2001-11-06Slide 8/23

Network Topologies: Nelson Minar

Hierarchical

• DNS

• NTP

• Usenet (sort of)

Page 9: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

2001-11-06Slide 9/23

Network Topologies: Nelson Minar

Decentralized

• Gnutella

• Freenet

• Hive

• Internet routing

Page 10: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

2001-11-06Slide 10/23

Network Topologies: Nelson Minar

Page 11: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

2001-11-06Slide 11/23

Network Topologies: Nelson Minar

Centralized + Centralized

• N-tier apps

• Database heavy systems

• Web services gateways

• Grand Central

Page 12: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

2001-11-06Slide 12/23

Network Topologies: Nelson Minar

Centralized + Ring

• Serious web applications

• High availability servers

Page 13: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

2001-11-06Slide 13/23

Network Topologies: Nelson Minar

Centralized + Decentralized

• Clip2 Gnutella Reflector

• FastTrack / KaZaA– Morpheus

• Email

Page 14: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

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?

Page 15: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

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

Page 16: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

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?

Page 17: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

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?

Page 18: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

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

Page 19: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

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

Page 20: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

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

Page 21: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

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

Page 22: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

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?

Page 23: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

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

Page 24: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

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

Page 25: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson

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

Page 26: Peer-to-Peer is Not Always Decentralized …when Centralization is Good Nelson Minar nelson