you need to design and implement a member benchmark to measure the memory speed

timer Asked: Apr 28th, 2017

Question description

1. Assignments:

This project is to teach you how to benchmark the memory speed of a computer system. You should use C/C++ for implementation and use a Linux/Unix machine for the development and testing. In this assignment, you need to design and implement a member benchmark to measure the memory speed. Your parameter space should include read operations, write operations, sequential access and random access, and varying the concurrency (1 thread, 2 threads, 4 threads, and 8 threads). The metrics you should be measuring is the throughput (Megabytes per second, MB/sec).

Other requirements:

 You must write the source code from scratch. You can use well known benchmarking software to verify your results, but you must implement your own benchmark. Do not use code you find online, as you will get 0 credits for this assignment.

 Experiments should be done in such a way that they take multiple seconds to minutes to run, in order to amortize any startup costs of the experiments.

 Not all timing functions have the same accuracy; you must find one that has at least 1ms accuracy or better.

 No GUIs are required. Simple command line interfaces are fine

2. What you will submit

Each program must work correctly and be detailed inline documented. You should submit:

1) Manual (20%): A separate (typed) design document (named manual.pdf) should describe:

 The overall program design, and design tradeoffs and considered and made.

 A manual describing how the program works. The manual should be able to instruct users other than the developer to run the program step by step. The manual should contain example command.

2) Source code (30%): All of the source code. In order to get full credit for the source code, your code must have in-line documents, must compile, and must be able to run by the instructor for verification purpose.

3) Report (50%): A separate report (named report.pdf) should include your computer configuration, benchmark verification and performance test.

 Configuration: please describe the hardware specifications your test-bed in details, including processor, memory, cache and etc.

 Verification: compare your program to with other commercial benchmarks such as cachebench to convince yourself that it is indeed correct. More information about cachebench could be found on website

 Performance test is one of the most important parts. You must evaluate the developed benchmark varying the parameters mentioned above.

4) Since there are many experiments to run, write scripts to automate the performance evaluation. (10 points)

Studypool has helped 1,244,100 students
flag Report DMCA
Similar Questions
Hot Questions
Related Tags
Study Guides

Brown University

1271 Tutors

California Institute of Technology

2131 Tutors

Carnegie Mellon University

982 Tutors

Columbia University

1256 Tutors

Dartmouth University

2113 Tutors

Emory University

2279 Tutors

Harvard University

599 Tutors

Massachusetts Institute of Technology

2319 Tutors

New York University

1645 Tutors

Notre Dam University

1911 Tutors

Oklahoma University

2122 Tutors

Pennsylvania State University

932 Tutors

Princeton University

1211 Tutors

Stanford University

983 Tutors

University of California

1282 Tutors

Oxford University

123 Tutors

Yale University

2325 Tutors