CS429H, Spring 2011 Memory Mountain Assigned: Apr. 8, Due: Friday Apr. 15, 11:59PM
CS429H, Spring 2011 Memory Mountain Assigned: Apr. 8, Due: Friday Apr. 15, 11:59PM
Memory Mountain
Assigned: Apr. 8, Due: Friday Apr. 15, 11:59PM
1 Introduction
In this lab, you will learn about the memory throughput of an x86 processor. When you have completed the
lab, you will have a better appreciation for bandwidth between main memory, the caches, and the micropro-
cessor.
2 Logistics
This is an individual project. All handins are electronic. Clarifications and corrections will be posted on the
course Web page.
3 Handout Instructions
The homework assignment and this instruction sheet can be downloaded from the CS429H labs webpage:
http://www.cs.utexas.edu/˜fussell/courses/cs429h/labs/labs.shtml
The assignment is password protected; use the password we gave you in class to access it.
4 Memory Mountain
Your task is to compile and run the memory mountain code. For the code provided, you will need to
use a Linux system running on top of the machine with an x86 architecture; any of the CS department
machines are suitable. The files are contained in the memlab.tar archive. The program is contained in
1
the files clock.c, fcyc.c, and mountain.c, along with the two associated header files clock.h and
fcyc.h. Just run make to build the project, and ./mountain to execute it.
The output of this program will be a matrix of values that present the memory bandwidth of the computer
for different sized working sets and different stride sizes.
To complete your laboratory, you need to graph your results. In addition, you need to write down the
model and speed of the microprocessor that you use to get the bandwidth results. You can find some of the
information by typing the commands:
cat /proc/cpuinfo
cat /proc/meminfo
With that information, you can look up the configuration of the internal caches on Intel’s website. Your
writeup should include this information and an explanation of why the graph of the memory mountain looks
as it does. This writeup should not exceed two pages – be concise and clear.
5 Evaluation
Your score will be computed out of a maximum of 30 points: 15 for your graphs, and 15 for the quality
of your explanations. You are graded on the quality of your report, so take care to make it intelligible and
well-written!
6 Handin Instructions
You will turn in your code using the department’s turnin program. Convert your report to a PDF file, then
submit it as follows:
If you turn in the file more than once, your previous submission is overwritten and the timestamp is updated.
You can also use the --verify option to check what you last submitted.
We will be using the turnin timestamps to keep track of late submissions. You have a combined total of
3 late days to use on all projects this semester, so be careful to submit your project on time.