Homework 2
Objective
PlanetLab is a global
networking testbed founded to give academic researchers a way to
evaluate and deploy true Internet-scale services and applications.
It currently supports over 700 individual machines spread across
over 330 locations on 5 continents. The objective of this
homework is to experiment with PlanetLab and gather first-hand
measurements of the Internet from a global perspective, as it is today.
Specifically, we are looking to evaluate (at a very rough
granularity) the types of unexpected and abnormal behavior first
observed in [Pax96].
Assignment
In this assignment, you will implement a simple measurement platform
where 20 Internet PL nodes of your choice periodically perform
pair-wise path measurements using ping and traceroute. Your
service should run as daemons on the subset of PlanetLab hosts you
choose, gathering data over a period of at least 1 week. Your
measurement nodes should maintain and store logs on the local disk, and
move them periodically to your CSIL account. Once all of
your measurements have completed, you should analyze the measurement
data to answer the questions below. Note that you want to save some
time at the end in case you want to go back and perform additional
measurements to support your answers.
Questions
- How often did you detect outages in pair-wise paths between your nodes (as a portion of all paths monitored)?
- How many of them were temporary? For each temporary
failure, can you determine the likely cause from your measurements?
If so, what is it? If not, what missing data would allow you to
determine the real cause?
- How many failures were long term outages? Remember that PL
machines go down often for maintenance and repair. You should
read the PL-user mailing list to hear announcements of planned
downtime. Can you determine the root cause for each of your
long-term outages? What are they?
- Did you detect route "fluttering", if so, where and how often?
- Did you detect "abnormal" triangle routing, where the traceroute
path traversed a network hop out of the "expected" general direction of
the destination? Describe these routes, if any.
- Plot your average pair-wise latency distributions in a CDF. Based on your measurements, can
you detect which nodes in your network are Internet2 hosts?
(Hint: some Internet2 hosts are reachable only by other Internet2
hosts, and not by Internet1 hosts.)
- Based on your small sample of measurement data, do you think
routing abnormalities have increased or decreased in number from the
days when Paxson first performed these measurements? Why?
Choosing PlanetLab nodes
Beware that a number of PlanetLab hosts are "Alpha" machines. I
suggest logging into each of your desired nodes first to see if they
are designated Alpha nodes. Alpha nodes will report their status to you
every time you log in. In general, you want to choose nodes that
are spread out in geographic location. I have allocated at least 100
nodes to each slice, so you should have plenty of choices to choose
from. I suggest choosing nodes such that you include the
following subsets:
- at least 2-3 nodes from continents other than N. America
- at least 1 transatlantic and 1 transpacific link
- at least 1 group of 2-3 hosts from the same site, so you can include LAN results in your measurements
Choosing measurement periodicity
Remember that some node-pairs can be very far apart (a la Estonia to
New Zealand). You should measure at a frequency that allows each prior
traceroute to finish before the new traceroute starts. 1
measurement every 10 minutes is probably safe.
Project partners
I understand that writing, deploying, and analyzing a PlanetLab
measurement is quite a lot to ask in a homework. So I will allow each
person to work with 1 partner from the same slice. You can do the
homework together and turn in 1 writeup. In the table below,
I have listed the slice names and users in each
slice. Some of the slices have not had their nodes initialized.
You can do it yourself by going to your slice and then choosing manage
nodes.
PL Slicename |
Users |
ucsb_cs276a |
badams@cs, pranav_bhardwaj@umail
|
ucsb_cs276b |
abhimanyu@umail, amirazg@ece
|
ucsb_cs276c |
camilla@cs, pegah@cs
|
ucsb_cs276d |
alugowski@cs, chphilli@cs
|
ucsb_cs276e |
kpm@cs, min@cs
|
ucsb_cs276f |
spark2007@cs, shriram@cs |
ucsb_cs276g |
pramod_ramappa@umail, madhu.venu@gmail |
ucsb_cs276h |
wkr@cs, daniel@cs |
ucsb_cs276i |
anjinishukla@gmail, xiazhou@cs |
ucsb_cs276j |
shravan@cs, madhusudhan_ravi@umail |
ucsb_cs276k |
hwassel@cs, sford@umail |
ucsb_cs276l |
pranay.meshram@gmail,
deepdesai@gmail |
ucsb_cs276m |
skand@cs, asavage@cs |
ucsb_cs276n |
abbas.diana@gmail, a.sibirtseva@gmail |
ucsb_cs276o |
umaramnath30@gmail,
mock@cs |
ucsb_cs276p |
arda@cs,
janinesb@gmail |
ucsb_cs276q |
reddy.sravan@gmail, mnakaa@gmail |
Submission
This homework assignment is due by 11:59pm on November 27. Late
homework will not be accepted. Submit your homework as two files via
email attachment to vinod at
cs. The email MUST have as its subject "276HW2" (without
quotes). The attachments should be two files: one PDF file
called LASTNAME1-LASTNAME2.pdf, and one ZIP file called LASTNAME1-LASTNAME2.zip
(substitute in you and your
partners' lastnames).
Your
pdf file should include:
- A write-up that describe your methodology, observations and answers to
the questions above. Avoid verbose discussion of the results. Additional results,
insight, and analysis of the results, however, are strongly encouraged.
-
Submit
any graphs that are relevant to your
analysis, including a CDF of the 400 path latencies observed. Use
your judgment. Be concise but make any arguments
convincingly. Graphs are to be
plotted using xgraph or gnuplot only. Avoid printing one graph per
page. Logical organization of content (text and graphs) is expected!
Your
zip file should include:
- The names of the hosts you used in your experiments. The zip
file should also contain all of your code and all scripts you used to parse, process
and analyze the results.
Finally, when you are all done submitting the homework,
REMEMBER to
KILL your daemons.
Grading Guidelines
You will be graded on the consistency of your measurements the quality of your analysis, including your
findings, explanation and presentation of your findings.
Cheating Policy
This
assignment is to be done only with your chosen partner. Cheating will not be tolerated.
Please read the
UCSB Academic Code of Conduct to find out more about
Student Conduct and Discipline.