Check out the new USENIX Web site. next up previous
Next: Design of tcpdump vs. Up: MAGNeT Performance Previous: Streaming MAGNeT


Network Perturbation

Adding CPU cycle-counting code in magnet_add() allows us to determine the amount of time taken to save events to the buffer. In a similar manner (by instrumenting the relevant areas of magnet-read), we can determine the average time taken to events from the buffer to disk. The sum of these values is the amount of time taken by MAGNeT to record events.

Our tests indicate magnet_add() uses 556 cycles per 1500-byte packet while magnet-read uses 425 cycles. So, on our 400-MHz machines, MAGNeT takes $(556 \textrm{cycles}+ 425 \textrm{cycles}) /
(400 \textrm{Mcycles/second}) = 2.4 \mu\textrm{sec}$ to record each packet. On a 100-Mbps Ethernet, a minimal TCP packet (that is, a packet of 40 bytes) will take at least $(40 \textrm{bytes} \times 8 \textrm{bits/byte}) / 100\
\textrm{Megabits/second} = 3.2 \mu\textrm{sec}$ to transfer. This comparison suggests MAGNeT-induced disturbances into TCP traffic streams should be quite small. 7



Jeffrey R. Hay 2001-09-12