Read the following paper excerpts, and answer the questions below.
The total length of your response should not exceed ~500 words. Submit responses via gradescope.
Briefly describe the differences between open-loop, closed-loop, and partially-open-loop request generation.
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.
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?
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.