CSL862: Low-Power Computing : PA1 : Power Measurements using performance counters
This assignment is made of multiple parts, and requires you to make a short presentation during our class meetings after each part (details later). In the end of the assignment, you should publish your findings as a technical report, and open-source measurement code (e.g., via GitHub).
The assignment can be done in groups of up to two people.
- Identify the different types of power measurement counters (core and uncore) available on the smartphone, laptop, desktop, and server grade hardware. You are free to choose any hardware in each category, but clearly mention the type of hardware, so somebody can repeat your findings based on your report.
- Measure the CPU and system power (ideally broken down by different components) in various workload scenarios. Also, measure the total energy consumed (ideally broken down by different components).
- Idle workload
- Running a while-loop on 1 core, 2 cores, 3 cores, .... Do your results depend on which cores are running the loop?
- Running a memory-intensive (`cache-buster') program like 181.mcf on 1 core, 2 cores, 3 cores, ... Do your results depend on which cores are running the program?
- Running the Linpack program that stresses the CPU's integer and floating point units. Run on 1 core, 2 cores, 3 cores, ... Do your results depend on which cores are running the program?
- Running the mprime program that stresses both CPU and memory. Run on 1 core, 2 cores, 3 cores, ... Do your results depend on which cores are running the program?
- Running the Linux 'dd' utility and the zcav program that stresses the persistent storage subsystem.
- Running the netmap program in pure TX and RX modes that stresses the networking subsystem. Experiment for two packet sizes: 64 bytes and 1500 bytes. You will need to set up a driver machine to send/receive packets to/from your system under test.
Experiment with different configurations, e.g., DVFS settings, etc. Also, we welcome your creativity in trying to identify different interesting configurations that bring new insights into energy consumption for these programs.
Presenting your Findings
We will have two short interim presentations, and one final presentation and report based on this assignment. The first presentation will be a 5 minute presentation by each group on part 1 (performance counters available on each platform they studied). The second presentation will be a 5 minute presentation on the initial results of part 2, and if any issues were encountered. The final presentation will be a 10 minute presentation on the final results, along with a report.
First presentation : Aug. 31, 2016
Second presentation : Sep. 16, 2016
Final presentation, report, and source-code : Sep. 30, 2016