Readme file for Gigabit Traffic Traces AS (08/17/00) -------------------------------------- This readme file describes the traffic trace files collected for a gigabit traffic characterization study. Contact Ken Christensen (christen@csee.usf.edu) for information. Traffic data was collected by Aamir Shaikh, graduate student funding from NSF ANI-9875177 at the University of South Florida. Characterization results are published in: A. Shaikh and K. Christensen, "Traffic Characteristics of Bulk Data Transfers on a Gigabit Ethernet," in preparation for 2001 IEEE International Performance, Computing, and Communications Conference. The test bed consisted of: * One Alteon 180 Gigabit Ethernet 9 port switch * Three 700 Mhz Dell Pentium III PCs with 128MB of RAM * Three 866 Mhz Dell Pentium III PCs with 128 MB of RAM * One Dual 300Mhz Pentium II PC with 64 MB RAM All PCs except the 300Mhz machine, have two ethernet cards, a 3COM 10/100 3c905X and an Alteon ACENIC gigabit ethernet adapter. The 300Mhz PC has only one 3COM 3C905X ethernet card. One of the 700Mhz PCs runs as the server (dual boot for Windows NT with IIS 4.0 and Linux Redhat 6.1 kernel version 2.2.12-20) with the standard Apache Server and Linux FTP Server. The second 700Mhz PC is the client (dual boot for Windows NT Workstation 4.0 or Linux RedHat 6.1 same kernel version). The Third 700Mhz PC is the trace collection machine operating on Windows NT workstation 4.0 and running Windump (a porting of tcpdump for windows - see [1]). We use port mirroring to mirror all the traffic from the server port to the port where the trace collection machine is connected. The three 866Mhz PCs run Windows 2000 Professional and are used as clients during the experiments. The 300Mhz PC runs Linux (same version as before) and acts as our load generator machine using http_load [2] as the load generator software. The http_load generator was used to request 10 files per second on 1000-Mbps link and 5 files per second on a 100-Mbps link to generate an average load of 30% on the Server CPU. In order to have an approximately heavy-tailed distribution of the file sizes, the files sizes are: 3 files of 2000 Bytes, 3 files of 2 MBbytes, and 1 file of 20 MBytes. We have ensured that the load_generator starts generating load before the FTP/Netperf transfer is begun, and ends after the FTP/Netperf transfer ends. For this we ran http_load with the same rate but for different times depending on the link speed of the experiment. The mean transfer rate for http_load was 40Mbps. All the collected trace files are in standard tcpdump [3] text format and can be opened with any text editor. For collcting disk-to-disk transfer data, we transferred a very large file (200MByte) from the server to the client. For collecting memory-to-memory transfers, we ran netperf [4] on both the server and client to transfer around 200MB of data. The netperf command line was: netperf -H "server_ip_addr" -- -s 65535 -S 65535 Tuning Parameters : For Linux and Windows NT, the Tcp window size, the send and receive buffer sizes are all set to 64KBytes. For the gigabit ethernet link speed, Jumbo frames are disabled during the experiments. The following experiments were conducted (multiple runs were made to make sure that we have at least a million packets for each trace file): 1) Single client, single server experiments For these experiments, data is transferred from the Server to a single client and the trace is collected. This is the configuration when the server is not loaded. For a disk-to-disk transfer FTP is used to transfer the file whereas for a memory-to-memory transfer Netperf is used to transfer around 200MB of data. When the server is loaded, http_load is used to generate load on the Webserver and simultaneously an ftp transfer is done between server and the client and only that particular data is collected. The data from/to the load generator machine is filtered out. The above experiment is repeated for different link speeds eg. 1000Mbps (Server -> client), 100Mbps(Server -> Client) and 1000Mbps(Server) -> 100Mbps(Client) and also for different operating systems like Windows and Linux. Note that the load generator always runs on a 100Mbps link no matter which experiment is run. 2) Multiple client, single server experiments In this case, the server runs Windows NT Server whereas the clients are all 866MHz PCs running Windows 2000. We use the standard FTP client available on Windows 2000 to fetch the same 200MB file from the server. This had different cases: Case 1: Only one client accesses a file on the server Case 2: Two clients accessing the same file on the server simultaneously. Case 3: Three clients accessing the same file on the server simultaneously. Case 4: Two clients fetching different files from the server simultaneously. Case 5: Three clients fetching different files from the server simultaneously. The traces are collected such that all the data transferred to and from the server is collected. /*******************************************************/ /******* Single client, single server files **********/ /*******************************************************/ The single client, single server results are found in 90 files named with the following convention : 1st Letter - Operating System of the server and client (N for Windows NT 4.0 and L for Linux Redhat 6.1) 2nd Letter - Link Speed (T for Server and Client at 1000-Mbps, H for Server and Client at 100-Mbps, M for Server at 1000-Mbps and Client at 100-Mbps) 3rd Letter - Type of Experiment as Disk-to-Disk or Memory-to-Memory (F for FTP disk-to-disk and N for Netperf memory-to-memory) 4th Letter - Load on the Server (L for server is loaded, N for server is not loaded) 5th Letter - Run index (multiple runs were required to collect sufficient data for some of the experiments) For example: NTNL1.TXT = Windows NT, server and client at 1000-Mbps, Netperf memory-to-memory transfer, and with load on the server. This is run #1. LMFN1.TXT = Linux, server at 1000-Mbps and client at 100-Mbps, FTP disk-to-disk transfer, and with no load on the server. This is run #1. /**********************************************************/ /******* Multiple clients, single server files **********/ /**********************************************************/ The multiple client, single server results are found in 22 files named with the following convention. 1st Letter - Operating System of the server and client (N for Windows NT 4.0 and L for Linux Redhat 6.1) 2nd Letter - Link Speed (T for Server and Client at 1000-Mbps, H for Server and Client at 100-Mbps, M for Server at 1000-Mbps and Client at 100-Mbps) 3rd Letter - Type of Experiment as Disk-to-Disk (F for FTP disk-to-disk) 4th and 5th Letter - Number of Clients accessing the server simultaneously. 2C - 2 Clients accessing the server simultaneously. 3C - 3 Clients accessing the server simultaneously. 6th Letter - Type of Access on the server. S - Accessing the same file on the server. D - Accessing disparate files on the server. 7th Letter - Run index (multiple runs were required to collect sufficient data for some of the experiments) For example: NTF2CS1.TXT = Windows NT, server and client at 1000-Mbps, FTP disk-to-disk transfer, and with 2 Clients accessing. Same file on the server. This is run #1. NTF3CD2.TXT = Windows NT, server and client at 1000-Mbps, FTP disk-to-disk transfer, and with 3 Clients accessing different files on the server. This is run #2. REFERENCES: [1] Windump : tcpdump for windows, Available at http://netgroup-serv.polito.it/windump/ [2] http_load - multiprocessing http test client, Available at http://www.acme.com/software/http_load/ [3] tcpdump format : http://netgroup-serv.polito.it/windump/docs/manual.htm [4] Netperf Available at http://www.netperf.org. ---