cs1675 hw1

HW1

Read the following paper excerpts, and answer the questions below.

Reading

Questions

The total length of your response should not exceed ~500 words. Submit responses via gradescope.

Summarization

Briefly describe the differences between the following three approaches to network IO: (i) blocking sockets + threads, (ii) nonblocking sockets + epoll, (iii) netmap.

Comprehension

  1. Note that above, approaches (i) and (ii) described threads and epoll, respectively, as the concurrency model. What concurrency model(s) does netmap support?

  2. Describe each memory copy operation that an echo server (similar to the server in project 0) must perform, for each of approaches (i)-(iii).

Synthesis

Describe an application (e.g., “an echo server”) and setting (e.g., “a VM in a cloud datacenter”) for which each of approaches (i)-(iii) would be most appropriate, in terms of (a) throughput, (b) latency, (c) CPU utilization rate (we can consider this a proxy for energy usage).