p2p simulation platform enhancement shih chin, chai superviser: dr. tim moors assessor: dr. robert...
Post on 18-Dec-2015
224 views
TRANSCRIPT
P2P Simulation Platform Enhancement
Shih Chin, ChaiSuperviser: Dr. Tim MoorsAssessor: Dr. Robert Malaney
INTRODUCTION
Part of the Peer-to-Peer (P2P) Sharing of Networks Performance Measurements Project
Focus on enhancing the current simulation platform for the development of meaningful simulations
P2P Network
A distributed system architecture:No centralized controlNodes are symmetric in
function Large number of unreliable
nodes
Bob Alice
JaneJudy
001 012
212305
332
212 ?212 ?
Fully decentralised
Centralised
P2P networking Focus at the application level
MOTIVATION
Many internet applications, currently based on the client-server architecture, will be more robust if built on decentralized self-organizing overlays (aka Peer-to-Peer Systems).
More Robust????
Reliable: no single point of failure, many replicas.
Scalable: evolves smoothly to millions of nodes.
High capacity through parallelism: many disks, many network connections, many CPUs.
Latest Generation
Chord (MIT) Tapestry (UCB) Pastry (Microsoft & Rice) CAN (UCB & ACIRI) ………..
Basic lookup in Chord
N32
N90
N105
N60
N10N120
K80
“Where is key 80?”
“N90 has K80”
Consistent Hashing
keyID = SHA_1(key)
nodeID = SHA_1(IP)
7-bit ID space
K15, K30
P2P networking
Locality Awareness
Minimize wide-area traffic, bandwidth utilization, congestion, and sensitivity to wide-area faults
Performance in the local area is particulary important when many paths can stay entirely within the local area.
We want to make sure that the lookup path stay locally whenever it’s possible.
Search for Low Stretch
The measure of locality efficiency is stretch, the ratio of the distance traveled to find a copy of an object to the distance to the closest copy.
Two of the Distributed Hash Tables(DHT): Tapestry & Pastry
Roles of Simulators
Evaluate the performance of p2p systems, in terms of cost (e.g. bandwidth) and value (e.g. reliability)
Provide a "good" abstraction of the real network and application for experimental purposes.
The Dangers in Simulating P2P
Differences in performance may be due to simulator, not p2p system, if different simulators are used.
Simplified to the point where key facets of the network behavior have been lost
Today’s P2P Research
Lack of common simulation platform until recently p2psim, peersim have been developed, & publicly available.
Current projects still mainly use own simulators. (Bad..)
Q: Could a small change in the model result in a large change in the outputs? More treacherous..
My Approach
The most useful simulator for long-term research interests would be the one that incorporates various proposals by different researchers, e.g. ns-2, Opnet
This thesis is about a collaborative effort to contribute toward a common network simulator in P2P networking.
Intro to p2psim
Developed by MIT research group Written in C++ Multi-threaded Discrete-event simulator Currently supports Chord, Accordion,
Koorde, Kelips, Tapestry, and Kademlia.
Initial (Part A) simulation results
Aim: To evaluate the stretch performance of Tapestry
Setup: Hardware: Pentium 4 CPU 3GHz OS: Linux 9, gcc version 3.2.2 Topology: King-topology Node: 1740 Run Time: ~40hours Method: Evaluation under churn
Simulation Results
Analysis
The graph shows that the stretch decreases as bandwitch per node increases. However, the actual path of a query takes does not show.
Conclusion: More aggressive approach is needed to evaluate the actual locality performance
Goals for thesis part B
Modify p2psim to output path information for individual queries so that complete stretch characteristics can be determined
& Implement DHTs that have good support
for locality, proximity and stretch in p2psim, such as Pastry
Plan Part I
Expected challenge: Current simulator only supports end-to-end latencies.
Possible solution: Use an IP-layer topology file, GT-ITM with p2psim, because GT-ITM deals with IP-layer nodes, which possibly enable us to count IP hops of a query.
Plan Part II
Expected challenge: Huge program. >3000 lines of C++ code as the outcome.
Proposed tools:The Tapestry codeBased on the paper, “Pastry: Scalable,
decentralised object location and routing for large-scale p2p systems.” (Microsoft & Rice)
P2psim mailing list
Task Schedule
Week 1-4: Modify p2psim to output stretch
Week 5 – 10: Implement Pastry
Week 11 – 12: Evaluation and Testing
Debugging & Refinement
Documentation & Project Management
Week 13 – 14: Final Report and Open Day
Summary
Enhance p2psim Add in new features:
Output query pathNew protocol
To evaluate the stretch issues our project after. Nonetheless,
For long term research interest.
Reference
Li JY, Stribling J, Morris R., Kaashock M.F., Gil T.M., A performance vs. cost framwork for evaluating DHT design tradeoffs under churn, MIT.
Stoica I., Morris R., Karger D., Kaashock MF., Balakrishnan H., Chord, MIT and Berkeley.
Zhao B.Y, Kubiatowicz J., Joseph AD., Tapestry, UCB. Rowstron A., Druschel P., Pastry, Microsoft and Rice University. Kurose J., Levine B., Towsley D., Peer-peer and Application level
networking, http://gaia.cs.umass.edu/cs791n Floyd S., Paxson V., 2001, Difficulties in simulating the Internet,
ACIRI, Berkeley. Risson J., Moors T., Towards Robust Internet Applications: Self-
Organizing Overlays, UNSW.
ANY QUESTION?
4
2
3
3
3
2
2
1
2
4
1
2
3
3
1
34
1
1
4 3
2
4
Tapestry MeshIncremental suffix-based routing
NodeID0x43FE
NodeID0x13FENodeID
0xABFE
NodeID0x1290
NodeID0x239E
NodeID0x73FE
NodeID0x423E
NodeID0x79FE
NodeID0x23FE
NodeID0x73FF
NodeID0x555E
NodeID0x035E
NodeID0x44FE
NodeID0x9990
NodeID0xF990
NodeID0x993E
NodeID0x04FE
NodeID0x43FE
Routing to NodesExample: Octal digits, 218 namespace, 005712 627510
005712
340880 943210
387510
834510
727510
627510
Neighbor MapFor “5712” (Octal)
Routing Levels1234
xxx1
5712
xxx0
xxx3
xxx4
xxx5
xxx6
xxx7
xx02
5712
xx22
xx32
xx42
xx52
xx62
xx72
x012
x112
x212
x312
x412
x512
x612
5712
0712
1712
2712
3712
4712
5712
6712
7712
005712 0 1 2 3 4 5 6 7
340880 0 1 2 3 4 5 6 7
943210 0 1 2 3 4 5 6 7
834510 0 1 2 3 4 5 6 7
387510 0 1 2 3 4 5 6 7
727510 0 1 2 3 4 5 6 7
627510 0 1 2 3 4 5 6 7
Object LocationRandomization and Locality
Pastry: Routing
Proximity Neighbor Selection
Node is chosen based on the proximity metric
Routing step: 1. check the
leaf set 2. then the
routing table