120 likes | 139 Views
Develop a multicast program, measure throughput on nodes, identify bottleneck, using PlanetLab. Follow components and constraints. Tips for success and detailed deliverables included.
E N D
Homework Assignment #1Network Programming on PlanetLab 2005 Spring CS441 TA Seungyeop Han (syhan@an.kaist.ac.kr)
Objective • To write an application-layer multicast program and evaluate it • Execute it on Planet-Lab • Measure thruput on each node • Find bottleneck node
Compoments of Application-Layer Multicast • Root • Functions as a server • Intermediate nodes • Function as both server and client • Leaf nodes • Function as clients
Program Overview • Root sends 1 GByte to multiple children nodes concurrently • Do not create 1 GB file!!!! • Intermediate nodes receive data from Root and send it out to children nodes • Leaf nodes only receive from parent nodes
Constraints • Root transmits not sequentially, but in parallel to children nodes • Round-robin in small chunks • Intermediate nodes receive and transmit at the same time • Also transmit in parallel to children nodes • Have all nodes up and TCP connections established before transmission is initiated • Total # of nodes used must be min 8
Running overview Root Intermediate Intermediate Leaf Leaf Leaf Leaf
Running overview (2) • Node1] multi 9000 root 0 3 filename myport I’m root # of children • Node2] multi 9000 143.248.139.168 9000 2 Address of parent Port of parent • Node4] multi 9000 143.248.139.168 9000 0
How to login to PlanetLab • Regular PlanetLab User • Register on www.planet-lab.org • Request a slice • PI (Sue Moon) enables the user and assigns a slice • Problem? • # of slices per site < 10 • # of students in cs441 > 30
As a CS441 Student TA assigns a user id • TA assigns a set of nodes a user can use • User can login to assigned nodes • Not onto a slice, but as a private user • $ssh -l [userid] -p 1026 [node_addr] • ssh version >= • User can copy to PL nodes • $scp –P 1026 [userid]@[node_addr]:[filename] [dest]
Program Evaluation • At each node except for root • Measure and print out thruput every 100Mbyte • Thruput = # of bits / time • Make sure leaf nodes received correctly • Add sequence # to each chunk • Mark slowest link
Some Tips • PlanetLab notoriously unreliable • Ever-evolving distributed computing system • Do homework as early as possible • SOSP deadline 3/25 • Cause heavy traffic/load • Do coding/simple debugging on other Linux nodes
Deliverables • Program source code (with many comments) • Document • Output of Thruput every 100MB • Slowest link (bottleneck link) • Explain why it is the slowest • To syhan@an.kaist.ac.kr • Due: 4/5 (Tue) • No Late Turn-ins • Partial Credits to Incompletes