cs1675 hw0

HW0

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 open-loop, closed-loop, and partially-open-loop request generation.

Comprehension

The readings state that closed-loop designs can underestimate request latency in the tail. Why is this the case?

Section IIB of Treadmill states that:

one should extract the interested metrics (e.g., 99th-percentile latency) at each client individually, and aggregate them properly.

How exactly should the user “properly” aggregate these metrics? Construct an example set of results and show the process and results of your aggregation.

Synthesis

Describe an example of an application for which evaluating with a closed-loop request generator would be most appropriate. What would happen if one used an open-loop request generator to measure that application’s performance instead?

Rust Programming Warm-Up

As a warm-up for Project 0, write an echo server in Rust that measures the round-trip latency between the client (the process that calls connect()) and server (the process that calls listen()). Make a graph using your favorite plotting library of the latency distribution on a localhost connection. In the PDF you submit on Gradescope, include this graph as well as the code you write.

The reference solution to this programming assignment is 50 lines of Rust, about half of which is for parsing command line arguments. If you get stuck, Chapter 21 of the Rust Book will help.