An Investigation into Data Center Congestion Control with ECN
|
|
|
- Trevor Watts
- 10 years ago
- Views:
Transcription
1 An Investigation into Data Center Congestion Control with ECN Randall R. Stewart Michael Tüxen George V. Neville-Neil February 24, 2011 Abstract Data centers pose a unique set of demands on any transport protocol being used within them. It has been noted in Griffen et.al. [1] that common datacenter communication patterns virtually guarantee incidents of incast. In Vasudevan et.al. [2] solving the incast problem involved reducing the RTO.min (the minimum retransmission timeout) of the transport protocol, but this failed to alleviate the root cause of the problem, switch buffer overflow. Alizadeh et.al (DC-TCP) [3] address the same problem with thought given to using ECN [4] with a new algorithm to not only eliminate incast but to also reduce switch buffer occupancy, thus improving both elephant and mice flows within the datacenter. In this paper we attempt to revisit some of the DC- TCP work with a few differences, namely: 1. Instead of using only TCP [5] we separate the external transport protocol from the internal datacenter protocol. To achieve this separation, we use SCTP [6] instead of TCP for the internal datacenter communication, giving us more flexibility in the feature Huawei Inc., 2330 Central Expressway, Santa Clara, Ca, 95050, USA. [email protected]. Münster University of Applied Sciences, Dep. of Electrical Engineering & Computer Science, Stegerwaldstr. 39, Steinfurt, Germany. [email protected]. Neville-Neil Consulting, th Avenue, New York, NY, 10019, USA. [email protected]. 1
2 set available to our internal datacenter, and at the same time assuring that changes within the transport stack internally will not adversely effect external communications on the Internet itself. 2. When attempting to reproduce some of DC-TCP findings, we will use existing switch products to provide the appropriate ECN marking. 3. Instead of using the DC-TCP algorithm we have defined a less compute intensive modification to ECN we call Data Center Congestion Control (DCCC), implementing it within the FreeBSD SCTP stack. 4. We compare four variants of SCTP: standard SCTP, SCTP with ECN, SCTP with DCCC and an alternate form of DCCC we call Dynamic DCCC. This version of DCCC is capable of switching between regular ECN and DCCC based on the initial Round Trip Time (RTT) of the path. Keywords Data Center Congestion Control (DCCC); Stream Control Transmission Protocol (SCTP); ECN; Transmission Control Protocol (TCP). 1 Introduction At the IETF in Beijing in the fall of 2010 M. Sridharan presented some of the DC-TCP results. This was the original impetus that led to the development of this paper. In reviewing their material, several questions seemed unanswered by their work and encouraged this investigation. 1. Why was plain ECN not used in the DC-TCP work? ECN itself was mentioned but no real measurements were performed contrasting DC- TCP and plain TCP with ECN. 2. The algorithm defined by DC-TCP seemed somewhat complex, using both floating point numbers in its calculations and also introducing another state machine to track acknowledgement state. Could there be a simpler method than prescribed that would obtain similar results? 2
3 3. Could existing hardware, readily available from vendors, be used to reproduce these results? The DC-TCP paper explicitly mentions a Broadcom Triumph, Broadcom Scorpion, and Cisco CAT switch, but what is the real availability of a switch off the shelf to support ECN? 4. Could it be beneficial to use one protocol within the datacenter and a different one for accessing the datacenter? This would allow isolating any congestion control changes within the datacenter while not effecting internet traffic. 5. SCTP seems to be a perfect candidate for use within a datacenter. It provides a rich set of additional features not available in TCP (for example it can automatically discard old data after a specified time). SCTP also provides multi-homing and CMT [7] which could prove useful inside a datacenter. SCTP s ECN implementation is more conducive to knowing when each packet is marked without changing any internal ECN mechanism or maintaining a small state machine to track acknowledgment state. This would make implementation both simpler and more efficient. After considering these facts, it was decided to put together a minidatacenter to simulate the kinds of traffic highlighted in the DC-TCP work. 2 The Testnetwork 2.1 Gathering the Network Equipment At first glance one would think gathering the necessary network equipment in order to do DC-TCP like experiments would be easy: 1. Find several switches that can perform ECN and configure them to do ECN on an instantaneous basis. 2 1 The CAT4948 was explicitly mentioned as NOT supporting ECN. 2 Normally ECN is set to use average queue size for its decision to mark. 3
4 2. Setup the appropriate set of switch parameters as to when to start marking. Finding a switch that supports ECN proved surprisingly difficult. There are chipsets like the Broadcom BCM56820 and BCM56630 that natively support ECN in hardware, but the software available from vendors that use these chipsets did not have the the knobs to enable ECN. After looking at various CLI configuration guides and talking with switch manufacturers, the only switch with documented ECN support to be found was the Cisco 4500 series. Thus, instead of having several switches to use for experimentation, only one was available. A Cat 4500 is really a big buffer switch. This posed additional problems in setting up a configuration that would allow us to do DC-TCP like tests. Our final lab configuration can be seen in Figure 1. BSD8 4 core Gigabit Gigabit BSD3 8 Core 64 bit Catalyst 4500 BSD4 8 Core 64 bit 100 Megabit BSD1 2 core BSD9 4 core BSD2 2 core BSD10 4 core BSD5 2 core BSD11 4 core BSD6 2 core BSD7 2 core Figure 1: Final Laboratory Configuration 4
5 2.2 Caveats when using the Cisco 4500 We configured the switch in a way that would generate either drops or ECN with using the Data Buffer Limiting (DBL) feature. DBL allows ECN or Random Early Drop (RED) like features to be enabled on transmit queues within the switch. After some initial problems finding a software version that would support the features we wished, we finally settled on an older 12.2(31)SGA9 Enterprise Release. This version was the only one of those tested that would generate ECN marked packets. The DBL feature on a CAT 4500 proved less configurable than desired. There are four basic settings that control the ECN feature. 1. Maximum Credits - this value represents how many credits to issue to a flow. 3 The value was configurable between A credit comes in to play only when the switch decides it is congested. At the point the switch does decide it is congested, it then issues this number of credits to all identified flows 4. Every additional packet a flow adds to the outgoing transmit queue decrements the number of credits it has available. If the flow does not respond by reducing its rate of sending, then it may reach the point where it reaches the Aggressive Credits threshold, where it will be treated as an aggressive (non-responsive) flow. 2. Aggressive Credits This value represents when a flow that is not responding begins to be considered as a non-responsive flow. The aggressive credits value can be between Aggressive Buffers This is the maximum number of packets a classified non-responsive flow may have outstanding in the transmit queue. This value was configurable between Any flow having more than this many packets in a queue that is considered aggressive will have new packets dropped. 4. Exceeds Action This item can be set to either use ECN or not. When not using ECN, the switch signals with a packet drop. With ECN on, flows supporting ECN will mark the packet instead of dropping it. 3 Either identified via IP addresses or IP addresses and layer 4 ports. 4 In the case where layer 4 ports are not used then a flow is considered any packets between a source and destination IP address. 5
6 5. Exceeds Action Probability This is a percentage of random times that the Exceed Action will happen (i.e. a packet will be dropped or marked). When first examining the switch configuration, it appeared that just by setting some reasonable values in these control fields we would obtain ECN marking or drops. A first attempt was made on a Gigabit link using TCP 5, but our initial incast experiments with the eleven servers we had resulted in no DBL activity drops or ECN markings. Further investigation into the switch showed us that each Gigabit link has 1920 packet buffers dedicated to it on the transmit side 6, and the receiver side is completely non-blocking. Evidently, the threshold to obtain enough activity inside any given transmit queue was high enough that many more flows would be necessary than our small datacenter could provide with its eleven multi-core FreeBSD servers. As an alternative, most of our servers were moved to the 100 Megabit interfaces that were also available on the switch. These interfaces only have 240 packets in their transmit queues, giving a more easily overtaken set of transmit buffers. Three of the servers, two eight core and one four core, were left on Gigabit interfaces to provide higher amounts of traffic into the remaining eight servers. With this configuration we could finally obtain DBL markings and drops on a reliable basis. With the help of wireshark[8] it was established that the switch would not enter a congested state and start marking until at least packets were queued by a single flow. Two flows appeared to get the switch marking around packets from each flow. We were now left with a dilemma. In the DC-TCP experiments, the switch was configured to mark whenever a flow took more than N packets: N was set to 20 for Gigabit links and 65 for 10 Gigabit links. Our switch would not mark packets until more than 100 packets were in the queue. Without the proper controls over when the switch would start marking packets, how could the switch be configured to approximate the circumstances used in the previous work? The solution was to configure the switch to have a maximum number 5 We used TCP in our initial tests to validate that the switch would do ECN since we were unsure, at first, if SCTP would be properly marked. Later we switched to SCTP to do all of our measurements after confirming that the switch would correctly mark SCTP packets. 6 There is no configuration setting that allows us to lower this value. 6
7 of credits (15), the fall-over to an aggressive flow at a low value (5), the probability of exceeds action to 100% and the exceeds switch buffer to the maximum to 255. With this configuration, marking would happen as noted earlier around packets, and in the worst case (with two flows) around 75 packets, or 150 total packets outstanding. This then would leave somewhere between packets available before the transmit queue would overflow. It was felt that this configuration would be closer to what could be obtained with a more configurable switch with less buffer space (i.e. somewhere in the range of a switch with 100 packet buffers available configured to start marking packets around 10). The only downside to this configuration was that with 130 or more packets in queue 7 the round trip time would increase to up to 14 15ms. Though not as flexible as the configuration presented in the DC-TCP papers, it was definitely a more realistic configuration with the only off-the shelf switch we could find supporting ECN. 3 Targeted Communication Pattern In examining the results of DC-TCP it was decided to focus specifically on the interactions between the elephant flows; in a datacenter those flows updating databases on the order of a constant one or two flows sized randomly at about Megabyte per flow, and the mice; partition/aggregation flows that typically can cause incast. In the following subsections we describe each client and server that was created for our experiments and which is available online at Partition/Aggregation Flows Incast occurs when simultaneous sends by a number of hosts cause buffer overflow within a switch. For a detailed look at incast see R. Griffith et.all [1]. A partition/aggregation flow is one that sends a request to multiple servers, and all of the servers respond as rapidly as possible, usually with a small number of packets. The requestor then aggregates this data and sends it back to the external requestor. Since most of the aggregate servers will respond at almost the same time the partition/aggregation work model precisely fits a description of incast. 7 Before marking began the round trip time normally around 115us. 7
8 To simulate incast on our testbed we built a client (incast client.c) and a server (incast server.c), which do the following: 1. Open a socket and bind to a specific well known port and address 8. After creating and binding the socket issue a listen setting the backlog to X Create N 10 additional threads, besides the main thread. 3. Each thread, including the main thread, loops forever accepting from the main listening socket. 4. When a connection is accepted, a simple structure is read from the client connection that includes two fields, the number of packets (or sends) to make, and the size of each send. 5. After receiving the request, the thread then sends the requested number of packets at the set size and then closes the socket, returning to the accept call. The server was always bound to the single address that our CAT 4500 was connected to the hosts over 11 see Figure 1. The server also accepted one other option, whether to run over SCTP or TCP, allowing us to use the same server in both our early testing, validating the switches configuration for ECN, and our final tests using SCTP. The clients were a bit more complicated. It was decided to build a universal configuration file that could be reused to describe all of the peers that any particular machine had. An example of the file from bsd3 is shown below: sctp:on peer: :0:bsd1:4: peer: :0:bsd2:4: peer: :0:bsd5:4: peer: :0:bsd6:4: 8 The multi-homing behavior of SCTP was specifically disabled by binding to only a single address. 9 We used a value of 4 for the backlog value X in our tests. 10 N in our testbed was set to In our case X. 8
9 peer: :0:bsd7:4: peer: :0:bsd8:4: peer: :0:bsd9:4: peer: :0:bsd10:4: peer: :0:bsd11:4: peer: :0:bsd4:8: times:0 sends:1448 sendc:2 bind: :0:bsd3:8: All fields within the file are separated by the : character. The first line in the example contains either a sctp:on or tcp:on, which controls the transport protocol the incast client will use. The peer line is made up of the keyword peer followed by the IP address of a machine running the server. The next field indicates the port number the server is listening on, where 0 indicates that the default value for the server should be used 12. The next field represents the hostname of the peer, a value that is used only by some of the data processing routines. The final field represents how many bytes a long holds; and was used by our data processing routines to determine what record format to read 13. The line containing the keyword times indicates how many times to run the test, a value of 0 means run forever. The keyword sends indicates how many bytes to send. We always elected 1448 since this is the number of bytes that will fit in a typical timestamped TCP packet, SCTP is actually capable of fitting 1452 bytes, but it was decided to keep the same exact configuration without changing the number of bytes in each packet. The keyword sendc specifies how many packets the client should request of the incast server. The final line indicates the actual address and port to bind. The format is the same as that of a peer entry with the only difference being a bind keyword. Once the configuration file is loaded (passed to the incast client program with the required -c option), the process creates a kqueue, which it uses 12 For the incast client the default server port was bit machines write the value for a time as two 4 byte longs where as 64 bit machines write the value as two 8 byte longs. 9
10 to multiplex responses from servers. It then enters a loop for the requested number of times (which may be infinite) and does the following: 1. Record the start time in a special header record using the precise realtime clock. 2. Build a connection to each of the peers listed in its peer list (loaded from the configuration file). Building a connection includes opening a socket to each peer and setting NODELAY 14 on it, connecting to each peer, and adding an entry into the kqueue to watch for read events from the peer. 3. After all the connection were built, another precise real time clock measurement was taken. 4. Every server is now sent a request for data, and then its state is set to request sent. 5. After all the servers were sent the request, the kqueue was watched until all of the servers responded with the prescribed number of requested bytes. When the first byte of a message is read 15, a precise monotonic clock time is taken and stored with the peer entry, followed by its state being set to reading. When the last byte of a request arrives another precise monotonic clock is again taken and stored with the peer entry. 6. Once all of the peers have responded, a final precise realtime clock is taken and stored in the header record with the number of peers. 7. The results are either displayed or stored based on whether the user specified an output file on the command line. If the results are being displayed, then only peers that responded in more than 300ms are shown. If the results are being stored, the header record is written first, followed by a record for each of the responding peers with their timings. 8. This sequence is repeated until the specified number of iterations is reached. 14 NODELAY turns any Nagle[9] like algorithm off. 15 Indicated by the state being request sent. 10
11 3.2 Elephant Flows To simulate datacenter like traffic, a small number of large flows are also needed. In a real datacenter, these flows would provide updates to the various databases that all the query traffic is attempting to access. We realized these flows using a specific server (elephant sink.c) and a corresponding client (elephant source.c). In these measurements, each machine ran a server; but only two machines were chosen to run a client. The hosts that ran the elephant source (bsd3 and bsd4) were our two, eight core, 64 bit machines, connected to the switch via a Gigabit ethernet port. This allowed the elephant flows to always push at filling the transmit queues of the 100 Megabit clients. One additional host (bsd8) was also connected via Gigabit ethernet to provide an additional push on transmit queues while running the incast client. Note that the elephant flows that were sent to this additional host (bsd8) were not used in measuring overall bandwidth obtained in our datacenter simulation. The elephant sink worked much like our incast server, creating a number of threads, defaulting to 2, that would do the following after binding the specified address and port numbers: 1. Accept a connection from a peer. 2. Record both the precise monotonic time and the precise realtime clock. 3. Read all data, discarding it but counting the number of bytes read, until the connection closed. 4. Record again the precise monotonic time and the precise realtime clock. 5. Subtract the two monotonic clock values to come up with the time of the transfer. 6. Display the results either to the user, if no output file was configured, or save it to the output file. The results include the size of the transfer, the number of seconds and nanoseconds that the transfer took, and the bandwidth. Note that when writing to an output file a raw binary record was used that also included the realtime clock start and stop values. 7. Repeat this sequence indefinitely. 11
12 The elephant source used the same common configuration files that were used by the incast client program. After loading the configuration our elephant source would first seed the random number generator (by using the monotonic precise clock), and then do the following: 1. Choose a random number of bytes in the range of 100,000,000 and 536,870, Record in a header the precise realtime of the pass start. 3. Distribute the data to each peer, to do this we would connect to each peer, turning on NODELAY 17, record the precise monotonic clock with the peer record, send the specified number of bytes and close the connection. After closing the connection again, record the end monotonic precise time. 4. After distributing the data to all peers we would again obtain the realtime precise clock end time for our header record. 5. Next the results would be displayed to the user or stored. When storing the results, a header record would be written out with all of the timestamps followed by the precise times of each of the peers. 6. These steps were then repeated until the iteration count was reached (which was also allowed to be infinite). When configuring the two elephant sources, we reversed the client list order so that on a random basis they met somewhere in their distribution attempting to send data to the same elephant sink at various times during their transfers. During data analysis the elephant source file was used to first read the results, but the recorded timestamps of the elephant sink files were used to obtain the precise time of transfer (first byte read to last byte received). Any data transfer bandwidth to either bsd3, bsd4, or bsd8 was not included in our bandwidth graphs, since these three hosts had Gigabit interfaces which would unduly skew the transfers. With our pairs of clients and servers completed and tested we were almost ready to begin our experiments. But first we needed to examine SCTP 16 This number was arrived at as a mask to bound the random number since when you subtract one the number becomes 0x1fffffff. 17 NODELAY turns any Nagle[9] like algorithm off. 12
13 congestion control when handling ECN events and modify it according to our simplified algorithm. 4 Our Data Center Congestion Control Algorithm The algorithm used by SCTP for ECN provides a lot more information than the standard TCP ECN. This is due to the fact that SCTP is not limited to two bits in a header to indicate ECN and so provides a much richer environment for its implementation. The normal response of SCTP to an ECN Echo event is the same as TCP in any loss within a single window of data: ssthresh = cwnd / 2; if (ssthresh < mtu) { ssthresh = mtu; RTO <<= 1; } cwnd = ssthresh; Figure 2: Algorithm 1 When one or more losses occur in a single window of data, the cwnd is halved and the ssthresh is set to the same value. When an ecn echo is received, the congestion control algorithm is given two extra pieces of information besides the stcb and the net structures 18. These two extra pieces of information are the keys to our new DCCC algorithm, they are the in window flag as well as the number of packets marked. The in window flag is used by the current algorithm to know if it should perform the algorithm shown in Figure 2, and the number of packets marked is ignored by the existing algorithm. For our new algorithm we use both of these values combined with another value passed to us via the network structure (net). 18 The stcb and net structures are internal structure used within the FreeBSD SCTP stack to track the specific SCTP association (stcb) and the specific details of a peers destination address (net). 13
14 Each time a SCTP chunk is sent in a packet, we also record the congestion window at the time the transmission was made 19. When an ECN Echo arrives, before calling the modular congestion control, an attempt to find the TSN 20 being reported is made. The TSN will always be found if the ECN Echo is in a new window of data. If the TSN is found, the previous cwnd at the time that the TSN was sent 21, is recorded on the net structure in a special field for ECN (ecn prev cwnd). These three values are then used as shown in Figure 3. if (in_window == 0) { cwnd = ecn_prev_cwnd - (mtu * num_pkt_marked); ssthresh = cwnd - (mtu * num_pkt_marked); } else { cwnd -= mtu * num_pkt_marked; ssthresh -= mtu * num_pkt_marked; } Figure 3: Algorithm 2 It is important to remember when looking at SCTP congestion control parameters that there is a separate set of parameters for each destination address (RTO, cwnd, ssthresh and mtu). In our experiments this was never an issue since SCTP was kept in strict single-homed mode by binding explicitly a single address. As noted earlier we also used a third algorithm. We termed this version dynamic DCCC, because the algorithm would switch between normal ECN behavior and DCCC based on the initial round trip time measured on the first data packet. SCTP uses this value to try to determine if the destination address is on a local LAN. If it thinks that it is on a local LAN (i.e. having a round trip time of under 1.1ms), then it sets a flag. Our dynamic algorithm simply used that flag to switch between the algorithms shown in Figure 2 and Figure The value is recorded on an internal structure used to track the chunk. 20 A Transport Sequence Number is the unit of message transmission that SCTP uses when it sends data. 21 Found on the chunk structure mentioned earlier. 14
15 5 Measurements We first decided to examine incast and how the three algorithms (DCCC, DYN-DCCC and ECN) compared with running plain SCTP in our network. We started an incast server and elephant sink on each machine (bsd1 bsd11) and then started an incast client passing it options to start collecting data. Once all incast servers were running, we started two elephant sources one on bsd3 and the other on bsd Runtime With the switch configured to drop, i.e. not do ecn, we then record all results and were able to obtain the plots shown in Figure time to completion in milliseconds Legend bsd1 bsd2 bsd4 bsd5 bsd6 bsd7 bsd8 bsd9 bsd10 bsd iteration number Figure 4: Normal SCTP transfers experiencing incast In Figure 4 we see incast occurring in cases where the time to complete 22 Time below 15ms excluded. 15
16 a transfer exceeds 300ms 23. In some cases we see more than one retransmission. Clearly incast is occurring on a fairly regular basis. Counting the actual number of incast occurrences shows us 567 different incidents of incast represented in Figure 4. Next it was decided to turn on ECN in the switch with no changes to the congestion control algorithm. This lead to the results seen in Figure Legend bsd4 bsd5 bsd7 bsd8 bsd time to completion in milliseconds iteration number Figure 5: Normal SCTP with ECN experiencing incast Note that simply enabling ECN on the switch with our settings reduces the incidents of incast to a minimal level. There are only 4 occurrences of incast that reach the 300ms level. This is a vast improvement over our previous figure. Curiously, bsd4 shows quite a few delays in returning results, below the incast level, but still quite high. Since these measurements are taken from the perspective of the aggregator and bsd4 is connected via Gigabit ethernet, 23 The default RTO.min timeout value for SCTP. 24 Time below 15ms excluded. 16
17 clearly it must be caused by delays in the incast server receiving the initial request to transfer the two packets back to it. Most likely this is caused by a lost setup message during the connection startup. Next, the same tests were run, but this time using our DCCC algorithm in place in the SCTP stack. The results from this run can be seen in Figure Legend bsd1 bsd2 bsd4 bsd5 bsd6 bsd7 bsd8 bsd9 bsd10 bsd11 time to completion in milliseconds iteration number Figure 6: DCCC ECN experiencing incast Surprisingly, the actually occurrence of incast increases in this graph to 34 separate incidents. This was unexpected, but with a look at some of our further graphs we will see possible reasons why so much unexpected incast is occuring. Finally, we ran the tests again only this time we used our Dynamic DCCC algorithm. This allowed the SCTP stack to switch between normal ECN and DCCC ECN based on the round trip time seen when transfer of data first begins. The results of this test can be seen in Figure Time below 15ms excluded. 26 Time below 15ms excluded. 17
18 250 Legend bsd4 bsd8 200 time to completion in milliseconds iteration number Figure 7: Dynamic DCCC ECN experiencing incast Here we see no incidents of incast over 300ms, which is an unexpected outcome since we had anticipated no differences between DCCC (with its 34 incidents) and the dynamic version. If we turn, however, to the elephant graphs, we can reach a conclusion as to why these incidents are occurring. 18
19 5.2 Bandwidth of Elephant Flows Lets look at the four graphs of the elephant transfers that were being run while all the incast was occurring. Figure 8 shows a normal SCTP transfer with ECN disabled. Note the huge swings downward in throughput for both flows when the flows collide and share transfer to the same machine. During these incidents, we can be sure that a large number of drops are occurring. A look at the switch information tells us that not only are DBL drops happening but also tail drops from transmit queue overflows are occurring as well. The switch reports 19,312 DBL drops and 46 Transmit queue drops. The SCTP statistics show a large number of T3-Timeouts 27 i.e Any T3 timeout in the incast test would definitely cause an incident of incast since there is not enough data in the pipe to enable fast retransmits with only two packets being sent Normal SCTP dual bw - no ecn Legend bsd3 bsd kbytes per second Time Figure 8: Bandwidth of two flows no ECN 27 A T3-Timeout, in SCTP, is the firing of the SCTP data retransmission timer. 19
20 Figure 9 show the data transfer when ECN is enabled on the switch but no alternate congestion control is running. In this graph, we see fewer swings and a more orderly set of transfers. Checking the switch error counts we find that there occurred 1,079 DBL drops and 65 tail drops. SCTP s statistics also show 43 T3-Timeouts 28, but far from the larger number seen in the instance of no ECN Normal SCTP dual bw - with ecn Legend bsd3 bsd kbytes per second Time Figure 9: Bandwidth of two flows with ECN We enable our modified congestion control with DCCC, and the bandwidth results are seen in Figure 10, showing similar behavior to ECN but with a bit better performance in overall bandwidth. The error counters on the switch, however, show 1,890 DBL drops and 1,441 tail drops. This tells us that the more aggressive congestion control, when the two large flows meet on the same host, end up overflowing the switch transmit queues. The SCTP statistics show similar results of 422 T3-Timeouts A T3-Timeout, in SCTP, is the firing of the SCTP data retransmission timer. 29 A T3-Timeout, in SCTP, is the firing of the SCTP data retransmission timer. 20
21 SCTP dual bw - with DCCC Legend bsd3 bsd4_ele.graph kbytes per second Time Figure 10: Bandwidth of two flows with DCCC Finally, the bandwidth of our Dynamic DCCC is shown in Figure 11. Clearly the overall bandwidth is better than in any other of the tests. The switch error counters show that only 35 tail drops occurred and 1,028 DBL drops. SCTP statistics show only 42 T3-Timeouts 30. This would explain the lack of incast on our earlier incast chart for Dynamic DCCC. You can see that the large flow that arrives first on a particular host is being more aggressive, while the later arriving large flow is less aggressive. This is due to the fact that our switch will not start marking until 130 packets. At about 115us per packet this means that the round trip time must be close to 14ms by the time the second flow arrives. This pushes that flow into standard ECN mode. The combination obviously keep both flows aggregate packet load offered much smaller and thus less drops occur. One thing that is not illustrated in any Cisco documentation is what a DBL drop means. Considering that we have the exceeds action set at A T3-Timeout, in SCTP, is the firing of the SCTP data retransmission timer. 21
22 SCTP dual bw - with dynamic DCCC Legend bsd3 bsd kbytes per second Time Figure 11: Bandwidth of two flows with Dynamic DCCC packets, 15 packets above the transmit queue size, one would expect that you would only get tail drops occurring. It is important to also remember that a DBL drop would occur for any non-data packet since the ECN code-point ECT0 31 would NOT be enabled on any packet that does not contain data. Thus our DBL drops could be lost SACK s or other connection setup packets. Without further information from Cisco, it is hard to tell if the DBL drop counter is strictly drops or if it also includes the number of ECN marked packets that would have been dropped. 5.3 Aggregate Bandwidth Finally, Figure 12 shows us an aggregate bandwidth comparison of the overall throughput of the 4 different tests. Each of the two flows in the test are 31 ECT0 is the mark used in the IP level header by a transport protocol to indicate ECN support to a switch or router. 22
23 summed together to give an overall aggregate and then these are summed to give us the average goodput of the combined flow on a per second basis. 2.6e e+07 Goodput comparison Legend noecn ecn dccc dyn max 2.4e+07 bytes per second 2.3e e e+07 2e Figure 12: Aggregate Bandwidth Comparison As expected the ECN flow was better than the non-ecn flow by approximately 2%. The pure DCCC flow increased its bandwidth by nearly 5.5% over the standard SCTP with no ECN. And as expected from our earlier graphs, the Dynamic DCCC yielded close to a 7.9% bandwidth improvement over standard SCTP. As can be seen from the graph, this is quite a distance from the theoretical maximum. Note that the theoretical maximum includes a key assumption i.e. that no two flows would be transferring to the same computer at the same time. This could only be achieved by flow coordination between the two elephant flows. 23
24 6 Conclusion and Future Work After examining the data presented here, packet traces, and respective graphs from those traces 32, the most clear conclusion reached is that with proper configuration, enabling ECN will virtually eliminate incidents of incast in the datacenter. This is, of course, provided that the SCTP or TCP stack properly implements ECN within it. So what should switch vendors take away from these results? 1. They should have an implementation of ECN for their datacenter switches, and having one for non-datacenter switches could also be a benefit to their products. Many of the more modern chips (e.g. BCM56820) already support ECN in hardware and its just a matter of allowing its users access to those hardware features. 2. Vendors need to allow configuration for both network level settings (i.e. those classically called for by ECN) and Datacenter settings. Network level settings would allow the switch to use average queue size and hopefully set thresholds to start marking and dropping in terms of percentage of queue occupied by a flow. Datacenter settings would allow a switch to be configured for observing instantaneous queue size and allow control of the number of packets to start marking and dropping at, instead of percentages of queue size. 3. Vendors need to make sure that all transport protocols can be fully supported that use ECN. This means, if a vendor supports the concept of a flow, it needs to not be restricted to just TCP, but also should include SCTP. Using the same port numbers with SCTP would be acceptable, but innovative providers could also use SCTP v-tags for this purpose. 33 Other conclusions from this work are much less clear. The performance gain of the various DCCC algorithms was evident but these gains were limited (5.5 and 7.9%). Clearly this is an advantage, but is it an advantage worth 32 Not shown for brevity, but tools to generate them from a wireshark trace are included in the source code drop for those wanting to recreate our results. 33 Our observations never determined if the CAT4500 considered all traffic between IP address or individual SCTP flows since there was no way to determine if the CAT4500 understood SCTP. 24
25 changing congestion control algorithms within the transport protocol? The dynamic version is obviously most attractive since if it was implemented, it could easily exist on the internet with no impact, since it would switch itself off in cases of a longer RTT time 34. In thinking of our limited switch configuration, if this was changed so that marking could begin at 5 10 packets would we see the same results? Clearly the dynamic DCCC would become less dynamic and might look more like plain DCCC. But would plain DCCC do better since it would no longer be hitting tail drops by overrunning the switch transmit queues? Also the plain SCTP-ECN variant may well perform less well in a switch that was more aggressively marking ECN. These questions are some of the future work that is envisioned to attempt with a more controllable switch. The authors have been informed that Broadcom offers a development kit which hopefully can be acquired at a reasonable cost and configured in such a way as to provide insights into these questions. Acknowledgment Thanks to Randall L. Stewart and Anne Stewart who have been inflicted upon by their father for their comments, and special thanks to our editor, Sandra Stewart. Appendix A - Switch Configuration For those interested in repeating our experiments, we show the CLI configuration of the Cisco CAT4500 switch. Note that we varied the QOS DBL exceed action between ECN and no ECN QOS DBL CONFIGURATION Here we show the basic QOS DBL configuration used. It was also not ever certain that the CAT 4500 could actually distinguish SCTP ports in separate flows We used 1.1ms but would think something smaller, perhaps 700us would be better for general deployment. 35 This may mean that the switch always saw traffic from each machine as a single flow, but this will have no impact on our results since all measurements would be impacted 25
26 no qos dbl flow include vlan qos dbl exceed-action ecn qos dbl exceed-action probability 100 qos dbl credits aggressive-flow 5 qos dbl buffers aggressive-flow 255 qos dbl qos A show qos dbl on our CAT 4500 displays the following: QOS is enabled globally DBL is enabled globally DBL flow does not include vlan DBL flow includes layer4-ports DBL uses ecn to indicate congestion DBL exceed-action probability: 100% DBL max credits: 15 DBL aggressive credit limit: 5 DBL aggressive buffer limit: 255 packets POLICY MAP AND CLASS MAP Here we show the specific class map and policy map used. Notice the interfaces apply a transmit to shape traffic to one Gigabit. This was suggested by a former Cisco colleague to get ECN and DBL to work. The settings are high enough for both our 100 Megabit and Gigabit links so that the shaping action would never be applied to the interface. Only the QOS DBL actions would influence the transmit queue. Shaping actions on a Cisco 4500 happen before DBL actions. class-map match-all c1 match any policy-map p2 class c1 dbl police 1000 mbps 100 kbyte conform-action transmit exceed-action drop (ECN and non-ecn) in the same way. 26
27 6.0.3 Example Interface Configuration Here is an example of our specific interface configurations. Notice that for Gigiabit interfaces we turned off flow control in the initial attempts at trying to use these interface to get ECN markings. interface FastEthernet2/48 service-policy output p2 interface GigabitEthernet3/1 flowcontrol receive off service-policy output p2 Appendix B - Whats in the tarball? Here is a brief list the program files you will find in the tarball, if you download it. Many of these utilities were used to generate data not presented here, but they may be of interest to those attempting to recreate the results. All software is released under BSD license. display ele client.c This program understands how to access stored elephant results file from a client and will further look for timing from the stored elephant sink output results. A common naming scheme is used to find the files, and the store option really takes a directory path prefix. display ele sink.c This program knows how to read a single elephant sink file. display inc client.c This program has the ability to read and interpret the incast client output. ele aggregator.c This utility was used to aggregate multi-machine elephant output. elephant sink.c This utility was described earlier and is the actual measurement tool for elephant flows. elephant source.c This utility was described earlier and contains the client code that drives the elephant flows. 27
28 incast client.c This is the incast generation program described earlier. incast lib.c This is the common library utilities that most of these programs used. incast server.c This is the incast server described earlier. per aggregator.c This utility is yet another aggregator used in summing data. read cap.c This utility is a special pcap reader capable of reading a tcpdump 36 or tshark dump. It analyzes SCTP flow information and can create output for gnuplot to observe packets outstanding as well as packets outstanding when ECN Echo s occur. sum aggregator.c This is yet another aggregation utility. References [1] R. Griffith et.al., Understanding TCP incast throughput collapse in datacenter networks, In WREN Workshop, [2] V. Vasudevan et. al., Safe and effective fine-grained TCP retransmissions for datacenter communication. In SIGCOMM, [3] M. Alizadeh et. al., Data Center TCP (DCTCP), In SIGCOMM, [4] K. Ramakrishnan, S. Floyd, D. Black, The Addition of Explicit Congestion Notification (ECN) to IP, RFC 3168, September [5] J. Postel, Transmission Control Protocol, RFC 793, September [6] R. Stewart, Stream Control Transmission Protocol, RFC 4960, September [7] J. Iyengar et. al., Concurrent Multipath Transfer Using SCTP Multihoming, In SPECTS, Providing the -s0 option is used with the tcpdump. 28
29 [8] M. Scalisi, Track down network problems with Wireshark, Retrieved on February 24th, 2011, at /Track down network problems with Wireshark. [9] J. Nagle, Congestion Control in IP/TCP Internetworks, RFC 896, January
Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation
Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation R.Navaneethakrishnan Assistant Professor (SG) Bharathiyar College of Engineering and Technology, Karaikal, India.
Transport Layer Protocols
Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements
High-Speed TCP Performance Characterization under Various Operating Systems
High-Speed TCP Performance Characterization under Various Operating Systems Y. Iwanaga, K. Kumazoe, D. Cavendish, M.Tsuru and Y. Oie Kyushu Institute of Technology 68-4, Kawazu, Iizuka-shi, Fukuoka, 82-852,
CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013
CSE 473 Introduction to Computer Networks Jon Turner Exam Solutions Your name: 0/3/03. (0 points). Consider a circular DHT with 7 nodes numbered 0,,...,6, where the nodes cache key-values pairs for 60
Key Components of WAN Optimization Controller Functionality
Key Components of WAN Optimization Controller Functionality Introduction and Goals One of the key challenges facing IT organizations relative to application and service delivery is ensuring that the applications
A Passive Method for Estimating End-to-End TCP Packet Loss
A Passive Method for Estimating End-to-End TCP Packet Loss Peter Benko and Andras Veres Traffic Analysis and Network Performance Laboratory, Ericsson Research, Budapest, Hungary {Peter.Benko, Andras.Veres}@eth.ericsson.se
Application Level Congestion Control Enhancements in High BDP Networks. Anupama Sundaresan
Application Level Congestion Control Enhancements in High BDP Networks Anupama Sundaresan Organization Introduction Motivation Implementation Experiments and Results Conclusions 2 Developing a Grid service
SIDN Server Measurements
SIDN Server Measurements Yuri Schaeffer 1, NLnet Labs NLnet Labs document 2010-003 July 19, 2010 1 Introduction For future capacity planning SIDN would like to have an insight on the required resources
IBM. Tivoli. Netcool Performance Manager. Cisco Class-Based QoS 2.2.0.0 Technology Pack. User Guide. Document Revision R2E1
Tivoli Netcool Performance Manager Document Revision R2E1 IBM Cisco Class-Based QoS 2.2.0.0 Technology Pack User Guide Note Before using this information and the product it supports, read the information
Congestion Control Review. 15-441 Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control?
Congestion Control Review What is congestion control? 15-441 Computer Networking What is the principle of TCP? Lecture 22 Queue Management and QoS 2 Traffic and Resource Management Resource Management
Measure wireless network performance using testing tool iperf
Measure wireless network performance using testing tool iperf By Lisa Phifer, SearchNetworking.com Many companies are upgrading their wireless networks to 802.11n for better throughput, reach, and reliability,
Lecture Objectives. Lecture 07 Mobile Networks: TCP in Wireless Networks. Agenda. TCP Flow Control. Flow Control Can Limit Throughput (1)
Lecture Objectives Wireless and Mobile Systems Design Lecture 07 Mobile Networks: TCP in Wireless Networks Describe TCP s flow control mechanism Describe operation of TCP Reno and TCP Vegas, including
Application Note. Windows 2000/XP TCP Tuning for High Bandwidth Networks. mguard smart mguard PCI mguard blade
Application Note Windows 2000/XP TCP Tuning for High Bandwidth Networks mguard smart mguard PCI mguard blade mguard industrial mguard delta Innominate Security Technologies AG Albert-Einstein-Str. 14 12489
An enhanced TCP mechanism Fast-TCP in IP networks with wireless links
Wireless Networks 6 (2000) 375 379 375 An enhanced TCP mechanism Fast-TCP in IP networks with wireless links Jian Ma a, Jussi Ruutu b and Jing Wu c a Nokia China R&D Center, No. 10, He Ping Li Dong Jie,
Lecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage
Lecture 15: Congestion Control CSE 123: Computer Networks Stefan Savage Overview Yesterday: TCP & UDP overview Connection setup Flow control: resource exhaustion at end node Today: Congestion control Resource
Low-rate TCP-targeted Denial of Service Attack Defense
Low-rate TCP-targeted Denial of Service Attack Defense Johnny Tsao Petros Efstathopoulos University of California, Los Angeles, Computer Science Department Los Angeles, CA E-mail: {johnny5t, pefstath}@cs.ucla.edu
B-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit www.gearbit.com
B-2 Analyzing TCP/IP Networks with Wireshark June 15, 2010 Ray Tompkins Founder of Gearbit www.gearbit.com SHARKFEST 10 Stanford University June 14-17, 2010 TCP In this session we will examine the details
TCP in Wireless Mobile Networks
TCP in Wireless Mobile Networks 1 Outline Introduction to transport layer Introduction to TCP (Internet) congestion control Congestion control in wireless networks 2 Transport Layer v.s. Network Layer
TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)
TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) *Slides adapted from a talk given by Nitin Vaidya. Wireless Computing and Network Systems Page
Quality of Service versus Fairness. Inelastic Applications. QoS Analogy: Surface Mail. How to Provide QoS?
18-345: Introduction to Telecommunication Networks Lectures 20: Quality of Service Peter Steenkiste Spring 2015 www.cs.cmu.edu/~prs/nets-ece Overview What is QoS? Queuing discipline and scheduling Traffic
Analysis of IP Network for different Quality of Service
2009 International Symposium on Computing, Communication, and Control (ISCCC 2009) Proc.of CSIT vol.1 (2011) (2011) IACSIT Press, Singapore Analysis of IP Network for different Quality of Service Ajith
Routing. Static Routing. Fairness. Adaptive Routing. Shortest Path First. Flooding, Flow routing. Distance Vector
CSPP 57130 Routing Static Routing Fairness Adaptive Routing Shortest Path First Flooding, Flow routing Distance Vector RIP Distance Vector Sometimes called Bellman-FOrd Original Arpanet, DECNet, Novell,
Improving Quality of Service
Improving Quality of Service Using Dell PowerConnect 6024/6024F Switches Quality of service (QoS) mechanisms classify and prioritize network traffic to improve throughput. This article explains the basic
Applications. Network Application Performance Analysis. Laboratory. Objective. Overview
Laboratory 12 Applications Network Application Performance Analysis Objective The objective of this lab is to analyze the performance of an Internet application protocol and its relation to the underlying
Quality of Service (QoS) on Netgear switches
Quality of Service (QoS) on Netgear switches Section 1 Principles and Practice of QoS on IP networks Introduction to QoS Why? In a typical modern IT environment, a wide variety of devices are connected
Final for ECE374 05/06/13 Solution!!
1 Final for ECE374 05/06/13 Solution!! Instructions: Put your name and student number on each sheet of paper! The exam is closed book. You have 90 minutes to complete the exam. Be a smart exam taker -
CSE 123: Computer Networks
CSE 123: Computer Networks Homework 4 Solutions Out: 12/03 Due: 12/10 1. Routers and QoS Packet # Size Flow 1 100 1 2 110 1 3 50 1 4 160 2 5 80 2 6 240 2 7 90 3 8 180 3 Suppose a router has three input
How To Monitor And Test An Ethernet Network On A Computer Or Network Card
3. MONITORING AND TESTING THE ETHERNET NETWORK 3.1 Introduction The following parameters are covered by the Ethernet performance metrics: Latency (delay) the amount of time required for a frame to travel
QoS Parameters. Quality of Service in the Internet. Traffic Shaping: Congestion Control. Keeping the QoS
Quality of Service in the Internet Problem today: IP is packet switched, therefore no guarantees on a transmission is given (throughput, transmission delay, ): the Internet transmits data Best Effort But:
Quality of Service Analysis of site to site for IPSec VPNs for realtime multimedia traffic.
Quality of Service Analysis of site to site for IPSec VPNs for realtime multimedia traffic. A Network and Data Link Layer infrastructure Design to Improve QoS in Voice and video Traffic Jesús Arturo Pérez,
Outline. TCP connection setup/data transfer. 15-441 Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics
Outline 15-441 Computer Networking Lecture 8 TCP & Congestion Control TCP connection setup/data transfer TCP Reliability Congestion sources and collapse Congestion control basics Lecture 8: 09-23-2002
Smart Queue Scheduling for QoS Spring 2001 Final Report
ENSC 833-3: NETWORK PROTOCOLS AND PERFORMANCE CMPT 885-3: SPECIAL TOPICS: HIGH-PERFORMANCE NETWORKS Smart Queue Scheduling for QoS Spring 2001 Final Report By Haijing Fang([email protected]) & Liu Tang([email protected])
co Characterizing and Tracing Packet Floods Using Cisco R
co Characterizing and Tracing Packet Floods Using Cisco R Table of Contents Characterizing and Tracing Packet Floods Using Cisco Routers...1 Introduction...1 Before You Begin...1 Conventions...1 Prerequisites...1
Delay-Based Early Congestion Detection and Adaptation in TCP: Impact on web performance
1 Delay-Based Early Congestion Detection and Adaptation in TCP: Impact on web performance Michele C. Weigle Clemson University Clemson, SC 29634-196 Email: [email protected] Kevin Jeffay and F. Donelson
The Lagopus SDN Software Switch. 3.1 SDN and OpenFlow. 3. Cloud Computing Technology
3. The Lagopus SDN Software Switch Here we explain the capabilities of the new Lagopus software switch in detail, starting with the basics of SDN and OpenFlow. 3.1 SDN and OpenFlow Those engaged in network-related
First Midterm for ECE374 02/25/15 Solution!!
1 First Midterm for ECE374 02/25/15 Solution!! Instructions: Put your name and student number on each sheet of paper! The exam is closed book. You have 90 minutes to complete the exam. Be a smart exam
Comparative Analysis of Congestion Control Algorithms Using ns-2
www.ijcsi.org 89 Comparative Analysis of Congestion Control Algorithms Using ns-2 Sanjeev Patel 1, P. K. Gupta 2, Arjun Garg 3, Prateek Mehrotra 4 and Manish Chhabra 5 1 Deptt. of Computer Sc. & Engg,
La couche transport dans l'internet (la suite TCP/IP)
La couche transport dans l'internet (la suite TCP/IP) C. Pham Université de Pau et des Pays de l Adour Département Informatique http://www.univ-pau.fr/~cpham [email protected] Cours de C. Pham,
Configuring QoS in a Wireless Environment
12 CHAPTER This chapter describes how to configure quality of service (QoS) on your Cisco wireless mobile interface card (WMIC). With this feature, you can provide preferential treatment to certain traffic
Seamless Congestion Control over Wired and Wireless IEEE 802.11 Networks
Seamless Congestion Control over Wired and Wireless IEEE 802.11 Networks Vasilios A. Siris and Despina Triantafyllidou Institute of Computer Science (ICS) Foundation for Research and Technology - Hellas
APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM
152 APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM A1.1 INTRODUCTION PPATPAN is implemented in a test bed with five Linux system arranged in a multihop topology. The system is implemented
- QoS and Queuing - Queuing Overview
1 Queuing Overview - QoS and Queuing - A queue is used to store traffic until it can be processed or serialized. Both switch and router interfaces have ingress (inbound) queues and egress (outbound) queues.
Chapter 3. TCP/IP Networks. 3.1 Internet Protocol version 4 (IPv4)
Chapter 3 TCP/IP Networks 3.1 Internet Protocol version 4 (IPv4) Internet Protocol version 4 is the fourth iteration of the Internet Protocol (IP) and it is the first version of the protocol to be widely
Simulation-Based Comparisons of Solutions for TCP Packet Reordering in Wireless Network
Simulation-Based Comparisons of Solutions for TCP Packet Reordering in Wireless Network 作 者 :Daiqin Yang, Ka-Cheong Leung, and Victor O. K. Li 出 處 :Wireless Communications and Networking Conference, 2007.WCNC
Computer Networks - CS132/EECS148 - Spring 2013 ------------------------------------------------------------------------------
Computer Networks - CS132/EECS148 - Spring 2013 Instructor: Karim El Defrawy Assignment 2 Deadline : April 25 th 9:30pm (hard and soft copies required) ------------------------------------------------------------------------------
Technology Overview. Class of Service Overview. Published: 2014-01-10. Copyright 2014, Juniper Networks, Inc.
Technology Overview Class of Service Overview Published: 2014-01-10 Juniper Networks, Inc. 1194 North Mathilda Avenue Sunnyvale, California 94089 USA 408-745-2000 www.juniper.net Juniper Networks, Junos,
TCP over Wireless Networks
TCP over Wireless Networks Raj Jain Professor of Computer Science and Engineering Washington University in Saint Louis Saint Louis, MO 63130 Audio/Video recordings of this lecture are available at: http://www.cse.wustl.edu/~jain/cse574-10/
AutoQoS for Medianet
Appendix A AutoQoS for Medianet As of August 2010, an updated version of AutoQoS was released for the Catalyst 2960- G/S, 3560-G/E/X, and 3750-G/E/X family of switches (with IOS Release 12.2(55)SE). This
Network Probe. Figure 1.1 Cacti Utilization Graph
Network Probe Description The MCNC Client Network Engineering group will install several open source network performance management tools on a computer provided by the LEA or charter school to build a
1. The subnet must prevent additional packets from entering the congested region until those already present can be processed.
Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because routers are receiving packets faster than they can forward them, one
Extensions to FreeBSD Datacenter TCP for Incremental Deployment Support
Extensions to FreeBSD Datacenter TCP for Incremental Deployment Support Midori Kato Fixstars Solutions [email protected] Rodney Van Meter Keio University [email protected] Lars Eggert NetApp [email protected]
Advanced Computer Networks. Scheduling
Oriana Riva, Department of Computer Science ETH Zürich Advanced Computer Networks 263-3501-00 Scheduling Patrick Stuedi, Qin Yin and Timothy Roscoe Spring Semester 2015 Outline Last time Load balancing
VMWARE WHITE PAPER 1
1 VMWARE WHITE PAPER Introduction This paper outlines the considerations that affect network throughput. The paper examines the applications deployed on top of a virtual infrastructure and discusses the
Using TrueSpeed VNF to Test TCP Throughput in a Call Center Environment
Using TrueSpeed VNF to Test TCP Throughput in a Call Center Environment TrueSpeed VNF provides network operators and enterprise users with repeatable, standards-based testing to resolve complaints about
Performance Evaluation of Linux Bridge
Performance Evaluation of Linux Bridge James T. Yu School of Computer Science, Telecommunications, and Information System (CTI) DePaul University ABSTRACT This paper studies a unique network feature, Ethernet
Distributed Systems 3. Network Quality of Service (QoS)
Distributed Systems 3. Network Quality of Service (QoS) Paul Krzyzanowski [email protected] 1 What factors matter for network performance? Bandwidth (bit rate) Average number of bits per second through
Frequently Asked Questions
Frequently Asked Questions 1. Q: What is the Network Data Tunnel? A: Network Data Tunnel (NDT) is a software-based solution that accelerates data transfer in point-to-point or point-to-multipoint network
Cisco Quality of Service and DDOS
Cisco Quality of Service and DDOS Engineering Issues for Adaptive Defense Network MITRE 7/25/2001 Contents 1. INTRODUCTION...1 2. TESTBED SETUP...1 3. QUALITY OF SERVICE (QOS) TESTS...3 3.1. FIRST IN,
A Dell Technical White Paper Dell PowerConnect Team
Flow Control and Network Performance A Dell Technical White Paper Dell PowerConnect Team THIS WHITE PAPER IS FOR INFORMATIONAL PURPOSES ONLY, AND MAY CONTAIN TYPOGRAPHICAL ERRORS AND TECHNICAL INACCURACIES.
QoS issues in Voice over IP
COMP9333 Advance Computer Networks Mini Conference QoS issues in Voice over IP Student ID: 3058224 Student ID: 3043237 Student ID: 3036281 Student ID: 3025715 QoS issues in Voice over IP Abstract: This
17: Queue Management. Queuing. Mark Handley
17: Queue Management Mark Handley Queuing The primary purpose of a queue in an IP router is to smooth out bursty arrivals, so that the network utilization can be high. But queues add delay and cause jitter.
Quality of Service. Traditional Nonconverged Network. Traditional data traffic characteristics:
Quality of Service 1 Traditional Nonconverged Network Traditional data traffic characteristics: Bursty data flow FIFO access Not overly time-sensitive; delays OK Brief outages are survivable 2 1 Converged
TFTP TRIVIAL FILE TRANSFER PROTOCOL OVERVIEW OF TFTP, A VERY SIMPLE FILE TRANSFER PROTOCOL FOR SIMPLE AND CONSTRAINED DEVICES
TFTP - Trivial File TFTP Transfer Protocol TRIVIAL FILE TRANSFER PROTOCOL OVERVIEW OF TFTP, A VERY SIMPLE FILE TRANSFER PROTOCOL FOR SIMPLE AND CONSTRAINED DEVICES Peter R. Egli INDIGOO.COM 1/10 Contents
Clearing the Way for VoIP
Gen2 Ventures White Paper Clearing the Way for VoIP An Alternative to Expensive WAN Upgrades Executive Overview Enterprises have traditionally maintained separate networks for their voice and data traffic.
Secure SCTP against DoS Attacks in Wireless Internet
Secure SCTP against DoS Attacks in Wireless Internet Inwhee Joe College of Information and Communications Hanyang University Seoul, Korea [email protected] Abstract. The Stream Control Transport Protocol
[Prof. Rupesh G Vaishnav] Page 1
Basics The function of transport layer is to provide a reliable end-to-end communications service. It also provides data transfer service for the user layers above and shield the upper layers from the
Effects of Filler Traffic In IP Networks. Adam Feldman April 5, 2001 Master s Project
Effects of Filler Traffic In IP Networks Adam Feldman April 5, 2001 Master s Project Abstract On the Internet, there is a well-documented requirement that much more bandwidth be available than is used
Solving the Big Dilemma of Big Data
shaping tomorrow with you Our thirst for information and communication is, it seems, insatiable. This is particularly apparent in the online world, where data sets are getting steadily larger. These massive
Requirements of Voice in an IP Internetwork
Requirements of Voice in an IP Internetwork Real-Time Voice in a Best-Effort IP Internetwork This topic lists problems associated with implementation of real-time voice traffic in a best-effort IP internetwork.
Internet Working 5 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2004
5 th lecture Chair of Communication Systems Department of Applied Sciences University of Freiburg 2004 1 43 Last lecture Lecture room hopefully all got the message lecture on tuesday and thursday same
STANDPOINT FOR QUALITY-OF-SERVICE MEASUREMENT
STANDPOINT FOR QUALITY-OF-SERVICE MEASUREMENT 1. TIMING ACCURACY The accurate multi-point measurements require accurate synchronization of clocks of the measurement devices. If for example time stamps
How To Lower Data Rate On A Network On A 2Ghz Network On An Ipnet 2 (Net 2) On A Pnet 2 On A Router On A Gbnet 2.5 (Net 1) On An Uniden Network On
Lab 8.1.10.3 QoS Classification and Policing Using CAR Objective Scenario Step 1 This lab uses Committed Access Rate (CAR) to classify and police traffic. Although the classification and policing actions
The Data Replication Bottleneck: Overcoming Out of Order and Lost Packets across the WAN
The Data Replication Bottleneck: Overcoming Out of Order and Lost Packets across the WAN By Jim Metzler, Cofounder, Webtorials Editorial/Analyst Division Background and Goal Many papers have been written
- QoS Classification and Marking -
1 - QoS Classification and Marking - Classifying and Marking Traffic Conceptually, DiffServ QoS involves three steps: Traffic must be identified and then classified into groups. Traffic must be marked
ICTCP: Incast Congestion Control for TCP in Data Center Networks
ICTCP: Incast Congestion Control for TCP in Data Center Networks Haitao Wu, Zhenqian Feng, Chuanxiong Guo, Yongguang Zhang {hwu, v-zhfe, chguo, ygz}@microsoft.com, Microsoft Research Asia, China School
First Midterm for ECE374 03/24/11 Solution!!
1 First Midterm for ECE374 03/24/11 Solution!! Note: In all written assignments, please show as much of your work as you can. Even if you get a wrong answer, you can get partial credit if you show your
THE UNIVERSITY OF AUCKLAND
COMPSCI 742 THE UNIVERSITY OF AUCKLAND SECOND SEMESTER, 2008 Campus: City COMPUTER SCIENCE Data Communications and Networks (Time allowed: TWO hours) NOTE: Attempt all questions. Calculators are NOT permitted.
Cisco Integrated Services Routers Performance Overview
Integrated Services Routers Performance Overview What You Will Learn The Integrated Services Routers Generation 2 (ISR G2) provide a robust platform for delivering WAN services, unified communications,
Per-Flow Queuing Allot's Approach to Bandwidth Management
White Paper Per-Flow Queuing Allot's Approach to Bandwidth Management Allot Communications, July 2006. All Rights Reserved. Table of Contents Executive Overview... 3 Understanding TCP/IP... 4 What is Bandwidth
The network we see so far. Internet Best Effort Service. Is best-effort good enough? An Audio Example. Network Support for Playback
The network we see so far CSE56 - Lecture 08 QoS Network Xiaowei Yang TCP saw-tooth FIFO w/ droptail or red Best-effort service Web-surfing, email, ftp, file-sharing Internet Best Effort Service Our network
Configuring QoS and Per Port Per VLAN QoS
27 CHAPTER This chapter describes how to configure quality of service (QoS) by using automatic QoS (auto-qos) commands or by using standard QoS commands on a Catalyst 45 series switch. It also describes
Performance Comparison of SCTP and TCP over Linux Platform
Performance Comparison of SCTP and TCP over Linux Platform Jong-Shik Ha, Sang-Tae Kim, and Seok J. Koh Department of Computer Science, Kyungpook National University, Korea {mugal1, saintpaul1978, sjkoh}@cs.knu.ac.kr
Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Traffic Shaping: Leaky Bucket Algorithm
Quality of Service in the Internet Problem today: IP is packet switched, therefore no guarantees on a transmission is given (throughput, transmission delay, ): the Internet transmits data Best Effort But:
Network management and QoS provisioning - QoS in the Internet
QoS in the Internet Inernet approach is based on datagram service (best effort), so provide QoS was not a purpose for developers. Mainly problems are:. recognizing flows;. manage the issue that packets
Computer Networks. Chapter 5 Transport Protocols
Computer Networks Chapter 5 Transport Protocols Transport Protocol Provides end-to-end transport Hides the network details Transport protocol or service (TS) offers: Different types of services QoS Data
基 於 SDN 與 可 程 式 化 硬 體 架 構 之 雲 端 網 路 系 統 交 換 器
基 於 SDN 與 可 程 式 化 硬 體 架 構 之 雲 端 網 路 系 統 交 換 器 楊 竹 星 教 授 國 立 成 功 大 學 電 機 工 程 學 系 Outline Introduction OpenFlow NetFPGA OpenFlow Switch on NetFPGA Development Cases Conclusion 2 Introduction With the proposal
Procedure: You can find the problem sheet on Drive D: of the lab PCs. 1. IP address for this host computer 2. Subnet mask 3. Default gateway address
Objectives University of Jordan Faculty of Engineering & Technology Computer Engineering Department Computer Networks Laboratory 907528 Lab.4 Basic Network Operation and Troubleshooting 1. To become familiar
DS3 Performance Scaling on ISRs
This document provides guidelines on scaling the performance of DS3 interface (NM-1T3/E3) for the Cisco 2811/2821/2851/3825/3845 Integrated Services Routers. The analysis provides following test results;
Congestions and Control Mechanisms n Wired and Wireless Networks
International OPEN ACCESS Journal ISSN: 2249-6645 Of Modern Engineering Research (IJMER) Congestions and Control Mechanisms n Wired and Wireless Networks MD Gulzar 1, B Mahender 2, Mr.B.Buchibabu 3 1 (Asst
A Survey on Congestion Control Mechanisms for Performance Improvement of TCP
A Survey on Congestion Control Mechanisms for Performance Improvement of TCP Shital N. Karande Department of Computer Science Engineering, VIT, Pune, Maharashtra, India Sanjesh S. Pawale Department of
(Refer Slide Time: 02:17)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #06 IP Subnetting and Addressing (Not audible: (00:46)) Now,
Configuring an efficient QoS Map
Configuring an efficient QoS Map This document assumes the reader has experience configuring quality of service (QoS) maps and working with traffic prioritization. Before reading this document, it is advisable
NetFlow Aggregation. Feature Overview. Aggregation Cache Schemes
NetFlow Aggregation This document describes the Cisco IOS NetFlow Aggregation feature, which allows Cisco NetFlow users to summarize NetFlow export data on an IOS router before the data is exported to
Communication Protocol
Analysis of the NXT Bluetooth Communication Protocol By Sivan Toledo September 2006 The NXT supports Bluetooth communication between a program running on the NXT and a program running on some other Bluetooth
H.323 Traffic Characterization Test Plan Draft Paul Schopis, [email protected]
H.323 Traffic Characterization Test Plan Draft Paul Schopis, [email protected] I. Introduction Recent attempts at providing Quality of Service in the Internet2 community have focused primarily on Expedited
Monitoring and analyzing audio, video, and multimedia traffic on the network
Monitoring and analyzing audio, video, and multimedia traffic on the network Slavko Gajin [email protected] AMRES Academic Network of Serbia AMRES Academic Network of Serbia RCUB - Belgrade University
VoIP Quality of Service - Basic Theory
VoIP Quality of Service - Basic Theory PacNOG5 VoIP Workshop Papeete, French Polynesia. June 2009 Jonny Martin - [email protected] Intro What is Quality of Service (Qos)? QoS and the PBX Traffic Types
Configuring QoS in a Wireless Environment
Configuring QoS in a Wireless Environment This chapter describes how to configure quality of service (QoS) on your Cisco wireless interface. With this feature, you can provide preferential treatment to
4 High-speed Transmission and Interoperability
4 High-speed Transmission and Interoperability Technology 4-1 Transport Protocols for Fast Long-Distance Networks: Comparison of Their Performances in JGN KUMAZOE Kazumi, KOUYAMA Katsushi, HORI Yoshiaki,
