Next: Use of fixed CPU
Up: Experimental Evaluation
Previous: Experimental Evaluation
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: Use of fixed CPU
Up: Experimental Evaluation
Previous: Experimental Evaluation
Mansoor Alicherry
2001-05-01