Experiments to characterize and understand a system's performance.
cd src
and then follow the commands below
- Measurement overhead:
- Overhead of reading time:
make readTimeOverhead
- Overhead of using a loop:
make readTimeOverheadLoop
- Overhead of reading time:
- Procedure call overhead:
make procedureCallOverhead
- System call overhead:
make syscall
- Task creation time:
- Time to create a process:
make createProcess
- Time to create a thread:
make createThread
- Time to create a process:
- Context switch time(process switch):
make ctxswitch
. The data is output indata/CPU/ctxswitch.csv
. - Context switch time(kenel thread switch):
make ctxswitchkernel
. The data is output indata/CPU/ctxswitchkernel.csv
.
- RAM access time:
make ramAccessTime
- RAM bandwidth(read):
make readBW
- RAM bandwidth(write):
make writeBW
- Page fault service time:
- First install cgroups using
apt install cgroup-tools
- Then
make pageFault
- First install cgroups using
-
Round trip time(remote and loopback):
- On remote machine:
make remote_rtt
. - On primary machine:
make rtt
. You will need to modify the ip address specified in the make file for thertt
rule.
- On remote machine:
-
Peak bandwidth(remote and loopback):
- On remote machine:
make remote_netbw
. - On primary machine:
make netbw
. You will need to modify the ip address specified in the make file for thenetbw
rule.
- On remote machine:
-
Connection overhead: Loopback connection setup
- On primary machine (server):
make server
- On primary machine (client):
make loopback_client_setup
Loopback connection teardown
- On primary machine (server):
make server
- On primary machine (client):
make loopback_client_teardown
Remote connection setup
- On remote machine (server):
make server
- On primary machine (client):
make remote_client_setup
. You will need to modify the ip address specified in the make file for theremote_client_setup
rule.
Remote connection teardown
- On remote machine (server):
make server
- On primary machine (client):
make remote_client_teardown
. You will need to modify the ip address specified in the make file for theremote_client_teardown
rule.
- On primary machine (server):
- Size of file cache:
make fscacheSize
- File read time:
make fileReadTime
- Remote file read time:
- Create an NFS directory on the remote. REF
- Mount the directory on the
temp
folder insrc/Filesystem/temp
using the commandsudo mount -t nfs -o noac,lookupcache=none XXX.XX.XX.XX:/{remote_nfs_dir} Filesystem/temp
make remote_fileReadTime
- Contention:
make fileContentionCompleteRun