Software Systems
Fall 2006
Homework 1
Due: Thursday 7 September
The reading for this assignment is Patterson, `Latency Lags
Bandwidth.'
Note: in the table on page 72, in the Local Area Network section,
the line marked Latency is in units of microseconds (s), not
milliseconds (ms) as labelled.
b |
bit |
|
B |
Byte |
8 bits |
s |
second |
|
G |
giga |
or |
M |
mega |
or |
K |
kilo |
or |
m |
milli |
|
|
micro |
|
n |
nano |
|
Annoyingly, network speeds are usually measured in bits (Mb/s for
example); most other measurements are in bytes.
The table on page 72 of Patterson's article is reasonably current,
but of course things are always changing. Choose one of the four
technologies described and find peroformance specifications for a
product that is as close as possible to the current state of the
art. Post the information you find on the class wiki at
http://www.allendowney.com/wiki.
For wireless media and optical fiber, the lower bound on latency is
determined by the speed of light, which is roughly
m/s. Electrical signals in wire propagate about 30% more slowly;
a good rule of thumb is m/s.
- How far does light travel in one nanosecond? one
microsecond? one millisecond?
- How long (in ns) does it take an electrical signal to cross
a chip that is 15 mm wide?
- Latencies for current DRAMs are roughly 50 ns. Do you think
electrical propagation time is a significant part of this latency?
- Latencies for current disk drives are roughly 6 ms. Do you think
electrical propagation time is a significant part of this latency?
- If a disk spins at 15,000 rev/minute, how long (in ms)
does it take to make one revolution?
- What was the point of the last two questions?
- If the capacity of your hard drive is 100 GB, and it's full, how
long would it take to transmit the entire contents over the T3 carrier
that connects the Olin campus to the rest of the world, which has a
capacity of 44.7 Mb/s? What does this mean for remote backup systems?
- If your monitor displays 1280 x 1024 pixels, and the
`depth' is 32 bits per pixel, and the refresh rate is
85 Hz, what is the bandwidth from your
video card to your monitor? How does that compare with
the bandwidth of local area networks? What does this mean for
remote display protocols?
- According to a press release (ha!), Netflix has the capacity to
ship 1 million DVDs per day by USPS. The contents of the DVDs vary,
of course, but I would guess that the average size of the contents is
7 GB. Assuming that my guess is at least in the ballpark, what is the
total data delivery capacity of the Netflix distribution centers, in
Mb/s?
- If Netflix switched from mailing DVDs to sending movies
by 10 Gigabit Ethernet, how many Ethernet lines would they need?
What effect would this change have on latency?
- Use ping to estimate the network latency from your machine
to four sites: one on campus, one on the East Coast, one on the West
Coast, and one in Asia or Australia. Let it run for 10-20 iterations.
When you hit Control-C, ping prints some summary statistics.
For each site, what is the minimum latency, and what is the range
between the minimum and maximum? Please add your results to the wiki
page.
- In general, humans cannot detect delays shorter than 1/10th
of a second, or 100 ms. If you use ssh to connect to a machine
in California, every time you press a key, it takes one round-trip
latency before the key appears on your screen. How often would you
see a noticeable delay?
- If the time to get one byte from disk is 6 ms and the
bandwidth from the disk to memory is 90 MB/s, how long does it
take to transfer a 512 B block from disk to memory? How about
an 8 KB block?
How about an entire track, which is 369 KB?
- How long would it take to write 1 GB of data from memory
onto disk, assuming that the limiting factor is bandwidth?
- How long would it take to write 1 GB of data if the average
time to write each 512 B block is 3 ms?
- What is the point of the previous two questions?
- Imagine a network path that contains three links, a
Fast Ethernet, a Gigabit Ethernet, and a 10 Gigabit Ethernet.
What is the total time it would take a small packet to traverse
all three links and return?
- At what bandwidth could we transfer a large file along
this path?
- A cheap way to build a `supercomputer' is to connect up
a rack of off-the-shelf servers with a Gigabit Ethernet. In a
setup like this, how long does it take for a
given processor to access the memory module on another processor?
How does this compare with the time to access local memory?
How about a local disk?
- In the same `supercomputer,' how fast (bandwidth) could
we move data from one processor's memory to another's?
- What was the point of the last two questions?
|