Micro-quiz 2
Question 1 of this micro-quiz involves writing a very simple function in Go, to make sure you are progressing in your learning of the language.  The rest of the questions cover some of the networking concepts discussed Tuesday.

Here's what you need to do for Question 1:

1. Download the file /afs/cs.cmu.edu/academic/class/15440-f11/q1.tar to your local directory.

2. Extract your files into your local directory.

3. In the directory q1/ibuf, you will find the implementation of a FIFO buffer for integers (ibuf.go), and a file (ibuf_reverse) containing the start of the implementation of a function that will reverse the order of the elements in a buffer.

4. Complete the code in ibuf_reverse.go.  See the file README.txt on how you can test your code.

5. Copy and paste your copy of ibuf_reverse.go into the code answer box below:
Sign in to Google to save your progress. Learn more
What is your Andrew ID? *
Copy and paste your code from ibuf_reverse.go here *
What is the ping time to www.stanford.edu, again in (fractional) seconds? *
How long does it *actually* take to download the file in (fractional) seconds, using wget from an andrew machine with a wired network connection?  http://news.stanford.edu/news/2011/september/images/junk_news.jpg *
Using the simple model of TCP and HTTP we discussed in class on Tuesday (assume TCP always knows exactly how fast to send), how much of that download time was due to the distance between CMU and Stanford? *
Estimate the achieved transfer speed (bandwidth) in bits/second between here and Stanford, using the information you calculated above. *
In TCP, receivers send ACKnowledgement packets to senders when they correctly receive packets.  If they receive a packet "out-of-sequence" (e.g., they got sequence #s 1 2 3 5 -- meaning that 4 was lost), they will send *another* ACK for the previously correctly received packet.  With this model, what is the minimum time it takes for the SENDER to know that a packet it sent was lost?   (Note:  TCP actually sequences bytes, not packets;  we're simplifying a bit.) *
You're building an application that sends a small (20 byte) query to a remote sensor located in Antartica, and gets a small (40 byte) reply.  There are 10000 sensors, and you want to query them each once per hour.  The available bandwidth to your sensors is VERY limited, but the links are pretty reliable.  Do you decide to use TCP or UDP for your application? *
Explain briefly (1-3 sentences) your choice above. *
(Please feel welcome to discuss this part of the question with your friends!)     If YouTube was packed into a single datacenter that stored and served all of its content.... how many disks would you need to store all of that content?  (See http://www.youtube.com/t/press_statistics for a starting point). *
Explain your assumptions and how you got to that #. *
and how much network capacity to the Internet, in gigabits/second, would you need to provision to that datacenter? *
Again, explain your assumptions. *
Submit
Clear form
Never submit passwords through Google Forms.
This content is neither created nor endorsed by Google. - Terms of Service - Privacy Policy

Does this form look suspicious? Report