UCSD CSE 221 Project
You can compile some of the code with the make file.
- 'make cpu' will compile cpu code.
- 'make mem' will compile mem code.
- 'make fs' will compile fs code.
Many experiments return an instance of measured time to standard out. The avg.py is a script which will average the results from standard out.
- e.g. './cpu1.out 200000 | ./avg.py' will execute cpu1 experiment 1 and return the average result.
- Run 'make cpu'
- Measurement overhead: './cpu1.out <# of runs> | ./avg.py'
- Procedure overhead: './cpu2_<# of arugments>.out <# of runs> | ./avg.py'
- Syscall overhead: './cpu3.out <# of runs> | ./avg.py'
- Process creation: './cpu4process.out'
- Thread overhead: './cpu4thread.out'
- Process context switch: './cpu5.out <# of runs> | ./avg.py'
- Process context switch: './cpu5thread.out <# of runs> | ./avg.py'
- Run 'make mem'
- RAM Latency: './latency64.out '
- first value is latency in cycles.
- RAM Bandwidth: './bandwidth.out '
- Pagefault: './pagefault.sh'
- value above segfault is page fault in cycles.
- First run 'make fs'
- For file cache experiment, generate input files with 'makeFiles.sh /tmp'
- File cache: './file_cache.sh'
- 'make fs'
- Pick a directory to create files in.
- './makeFilesReads.sh ' will create files in
- './file_read_seq.sh ' will run the sequential experiment on
- './file_read_random.sh ' will run the random experiment on
- 'make fs'
- './makeFilesContention.sh /tmp' to create files in /tmp dir.
- './contention.out <# of processes> | ./avg.py' to get result.
- Round trip time. Compare with the time to perform a ping (ICMP requests are handled at kernel level).
rtt_client.c: argv[1] would be the IP address of the server.
rtt_server.c: No arguments needed.
- Peak bandwidth.
peakbandwidth_client.c: argv[1] would be the IP address of the server.
peakbandwidth_server.c: No arguments needed.
- Connection overhead: Report setup and tear-down.
connection_client.c: argv[1] would be the IP address of the server.
connection_server.c: No arguments needed.