DanielKerrigan / os-final

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CS-GY 6233 Final Project

Racquel Fygenson (rlf9859)

Daniel Kerrigan (djk525)

Instructions

Our experiments were performed on a recent version of Ubuntu. The below instructions assume that the user has permission to execute the ./build, ./fast, ./run2, and ./clear-cache-linux.sh scripts. If the user does not have execute permissions, then they may run:

chmod +x ./build
chmod +x ./fast
chmod +x ./run2
chmod +x ./clear-cache-linux.sh

Compiling

To compile our code, you can run ./build.

Part 1

Reading and writing files using a single thread can be done with the following command:

./run <filename> [-r|-w] <block_size> <block_count>

Part 2

To find the reasonable block count for a given block size, you can run the following command:

./run2 <filename> <block_size>

Part 3 and 4

To measure the performance of cold cache reads for various block sizes, the following command can be used:

sudo ./benchmark --perf_no_cache <filename>

To measure the performance of warm cache reads for various block sizes, the following command can be used:

./benchmark --perf_cache <filename>

Part 5

To measure the performance of fstat, lseek, getuid, and getpid, the following command can be used:

./benchmark --sys_calls <filename>

Part 6

To measure the performance of cold cache reads for various block sizes and number of threads, the following command can be used:

sudo ./benchmark --perf_no_cache_threads <filename>

To measure the performance of warm cache reads for various block sizes and number of threads, the following command can be used:

./benchmark --perf_cache_threads <filename>

To run the fast read version of our ./run program, which uses 8 threads and 32 KiB block size, the following command can be used:

./fast <file_to_read>

About


Languages

Language:C 97.1%Language:Shell 2.9%