|
|
VAMNET - performance
One of the incredible results of the VAM project is the fact that the
Amoeba emulation layer AMUNIX with the user process implementation of the
protocol stack FLIP and the virtual machine approach have only a slightly
decreased performance compared with the native VX-Kernel and Amoeba
implementation. The following tables gives an impression of the performance
and capabilities of the native VX-Kernel system, the AMUNIX and the VAM on
the top of AMUNIX system.
The main indicator for the performance of a distributed operating system is
the performance of the messaging system, that means the data transfer rate
and latency of messages without content (only the message header is
transferred).
| (Tab.
1) RPC Test: remote with native VX-Amoeba kernel |
| Machine configuration |
Transfer direction |
Transfer rate |
Latency |
| 1:AMD-Duron 650 MHz CPU, 64MB RAM, 3COM905 100MBit/s
Ethernet |
1 => 2 |
11,2 MBytes/s |
130 us |
| 2:Celeron 700 MHz CPU, 64MB RAM, 3COM905 100MBit/s
Ethernet |
2 => 1 |
10,6 MBytes/s |
136 us |
| (Tab.
2) RPC Test: remote with native VX-Amoeba kernel |
| Machine configuration |
Transfer direction |
Transfer rate |
Latency |
| 1:AMD-Duron 650 MHz CPU, 64MB RAM, 3COM905 100MBit/s
Ethernet |
1 => 2 |
10,5 MBytes/s |
170 us |
| 2:Cyrix 100 MHz CPU, 32MB RAM, 3COM905 100MBit/s
Ethernet |
2 => 1 |
9,54 MBytes/s |
170 us |
| (Tab.
3) RPC Test: remote with native VX-Kernel and AMUNIX |
| Machine configuration |
Transfer direction |
Transfer rate |
Latency |
| 1:AMD-Duron 650 MHz CPU, 64MB RAM, 3COM905 100MBit/s
Ethernet, VX-Kernel |
1 => 2 |
8,7 MBytes/s |
270 us |
| 2:Celeron 700 MHz CPU, 64MB RAM, 3COM905 100MBit/s Ethernet,
FreeBSD + AMUNIX |
2 => 1 |
9,1 MBytes/s |
260 us |
| (Tab.
4) RPC Test: remote with VX-Kernl and AMUNIX and VAM |
| Machine configuration |
Transfer direction |
Transfer rate |
Latency |
| 1:AMD-Duron 650 MHz CPU, 64MB RAM, 3COM905 100MBit/s
Ethernet, VX-Kernel |
1 => 2 |
8,7 MBytes/s |
300 us |
| 2:Celeron 700 MHz CPU, 64MB RAM, 3COM905 100MBit/s Ethernet,
FreeBSD + AMUNIX + VAM |
2 => 1 |
8,7 MBytes/s |
300 us |
The above measurements are example measurements with an accuracy of about
< pm>10%. Of course, table 1 shows that the transfer performance of a
RPC message transfer from one to another machine reaches it's maximal value.
Not only compared with the following AMUNIX and VAM system, also compared
with the maximal possible physical transfer rate of 100MBit/s ethernet: 11,9
MBytes/s. This result shows the optiomal adaption of the FLIP protocol stack
and the underlying ethernet device drivers to this network system. Table 2
shows results with a different machine 2: a very old Pentium like CPU (Cyrix
MMX) with only 100 MHZ core frequency. The VX-Kernel yields to good
performance results downto i486 CPU machines.
Using the AMUNIX layer communicating with a native VX-Kernel (Table 3), only
a slight decrease in performance and latency can be observed. The transfer
rates decreases about 20%, and the latency increased about 100%. With
additonal VAM (Table 4), there is no significant difference. This result
shows the suitability of ML programming and virtual machine concepts for
client-server implementations.
The RPC message passing is not only used for the remote case, but for the
local case, too. The following table shows results for the various
environments.
| (Tab.
5) RPC Test: local case |
| Machine configuration |
Transfer direction |
Transfer rate |
Latency |
| 1:AMD-Duron 650 MHz CPU, 64MB RAM, VX-Kernel |
1 => 1 |
136 MBytes/s |
12 us |
| 1:Celeron 700 MHz CPU, 128MB RAM, FreeBSD <
oplus>AMUNIX |
1 => 1 |
26 MBytes/s |
275 us |
| 1:Celeron 700 MHz CPU, 128MB RAM, FreeBSD +
AMUNIX + VAM |
1 => 1 |
22,4 MBytes/s |
400 us |
No surprise the native VX-kernel is the winner. But the AMUNIX and VAM
system have sufficient transfer rates and latency times to implement
efficient local RPC communication.
(*) us = micro seconds
Generated by MANDoc (C) 2005 BSSLAB Dr. Stefan Bosse
Revision 1113489155
|