Check out the new USENIX Web site. next up previous
Next: Use of fixed CPU Up: Experimental Evaluation Previous: Experimental Evaluation

Performance overhead

We ran lmbench[13] to evaluate the performance of RCLinux compared to an unmodified version of Linux. The tests were performed on a 400 MHz Celeron with 128MB memory. We found that the overhead was very minimal. The results are summerized in table 1.


Table 1: Time taken for various operations(in micro seconds)
operation RCLinux Linux
Simple syscall 0.71 0.71
Simple read/write 1.04 1.05
Simple stat 5.94 5.88
Simple open/close 7.66 7.54
Select on 100 tcp fd's 35.95 35.32
Signal handler installation 2.18 2.23
Signal handler overhead 2.92 2.92
Protection fault 1.48 1.48
Pipe latency 7.95 9.30
Process fork+exit 394.57 440.46
Process fork+execve 4109.00 4139.00
Process fork+/bin/sh 15023.00 14977.00


Figure 4 shows the context switch time for different number of processes for different sizes. The processes are connected in a ring of Unix pipes. Each process reads a token from its pipe, possibly does some work, and then writes the token to the next process. A size of zero is the baseline process that does nothing except pass the token on to the next process. A process size of greater than zero means that the process does some work before passing on the token. The work is simulated as the summing up of an array of the specified size. The graph shows that RCLinux performs slightly better when number of processes is large.


next up previous
Next: Use of fixed CPU Up: Experimental Evaluation Previous: Experimental Evaluation
Mansoor Alicherry 2001-05-01