Configuration | Fast Ethernet (100Mbps) | Gigabit Ethernet (1000Mbps) | ||
Throughput | % Reduction | Throughput | % Reduction | |
Linux 2.4.3 | 94.1 0.0 | - | 459.5 1.6 | - |
MAGNeTized | 94.1 0.1 | 0.01 | 452.5 1.8 | 1.53 |
magnet-read/rcv | 90.8 0.8 | 3.56 | 444.3 1.7 | 3.30 |
magnet-read/snd | 90.7 0.9 | 3.67 | 440.2 2.1 | 4.19 |
tcpdump/rcv | 89.4 1.5 | 5.04 | 290.7 15.6 | 36.74 |
tcpdump/snd | 89.4 0.8 | 5.42 | 343.2 18.7 | 25.30 |
As an indication of how much MAGNeT affects network applications, we measure the maximum data rate between a sender and receiver. We also measure the overhead of running tcpdump as a point of comparison.
In total, we run six different configurations, each on 100-Mbps and Gigabit Ethernet networks. The first configuration, our baseline, runs between two machines with stock Linux 2.4.3 kernels. The second configuration (i.e., MAGNeTized) uses the same machines but with the MAGNeT patches installed on both sender and receiver. Although present in the kernel, MAGNeT instrumentation records are not saved to disk. The third configuration is the same as the second except magnet-read runs on the receiver to drain the kernel-event buffer. The fourth configuration is also the same as the second except magnet-read runs on the sender. For the fifth and sixth configurations, we run tcpdump on either the sender or the receiver, with a stock Linux 2.4.3 kernel (i.e., no MAGNeT code installed). For each trial, we run netperf [12] on the sender to transmit data as fast as possible.6
Table 1 shows the results of our bandwidth experiments. Along with the mean, the width of the 95% confidence interval is given. As shown in this table, MAGNeT never reduces the achievable network bandwidth by more than 4.5%. By comparison, while tcpdump has roughly the same impact on performance for Fast Ethernet, it suffers dramatically as network speeds increase to Gigabit Ethernet. Thus, we conclude that MAGNeT is better able to adapt to tomorrow's networking infrastructure than the current version of tcpdump.
It is worth noting that these comparisons are not entirely fair. As discussed in Section 3.6, MAGNeT and tcpdump are designed to record different (but similar) sets of information. However, since no tool exists which captures the same information as MAGNeT, we use tcpdump as the closest commonly-available tool.
By default (and as used in our experiments), tcpdump stores the first 68 bytes of every packet. During these tests, the MAGNeT per-event record size is 24 bytes. However, since MAGNeT instruments the entire network stack, it records the packet's transitions between the application, TCP, and IP layers, as well as transmission onto the network. Thus, although MAGNeT stores approximately 1/3 less data than tcpdump per event, MAGNeT records up to four events per packet whereas tcpdump only records one event per packet. Hence, the total data saved by MAGNeT per packet is up to 96 bytes per packet or 41% more than tcpdump.