Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due
CS-350 - Fundamentals of Computing Systems
Homework Assignment #7 - EVAL
Due on November 7, 2024 — Late deadline: November 9, 2024 EoD at 11:59 pm
EVAL Problem 1
In this EVAL problem, we will study the impact of the workload created by the client on our monitored hardware counters in our image server.
a) For this part, we are interested in the observing distribution of the instruction count for various requests and how that relates to request length.
Here, it is immediately important to remember that your results might wildly vary when you compare them with those obtained by your colleagues, because you will be running your code on very different machines. The only good point is that now you can compete with your friends about who has the best machine!
To carry out these experiments, run the following command:
./build/server_img_perf -q 1000 -h INSTR 2222 & ./build/client -a 30 -I images/ -n 1000 2222
(NOTE: if your machine is too weak—#noshame—and starts rejecting requests with the parameters above, you can reduce the arrival rate of requests sent by the client, but keep the same total number -n 500).
Now, let’s create a plot comparing the length of the request and the collected instruction count for each of the six different image operations. First, split the collected data by the requested image operation (excluding REGISTER). Each operation’s data will be plotted in it’s own subplot.
In each subplot, create a scatter plot where instruction count is on the x-axis and request length on the y-axis. Keep each plot small enough so that you can fit all of them in a single page, maybe 3 plots per row. Then, create a line of best fit for each of the data plots (i.e. via linear regression).
Again, as in the hw6 eval, I strongly encourage you not to generate each plot manually, but rather use some form of scripting.
Now look at the plots, and answer the following: (1) What is the relationship between instruction count and request length as reported by your line of best fit? (2) Do different image operations behave differently in terms of their instruction counts and time? Answer this question by comparing the characteristics of your linear regression. (3) If the observed relationship is not linear, what could cause any noise, or discrepency between instruction count and request length?
b) For this part, we now want to observe LLC Cache Misses as we either perform random requests, or perform operations on the same image in succession.
To do this, we will use the -L functionality of the client in order to specify a very specific request script. In this request script, we dictate to the client exactly which image operations we want it to request.
Run the following experiment for RUN1:
./server_img_perf -q 1500 -w 1 -h LLCMISS 2222 & ./client 2222 -I ./images/ \ -L