Internet & Technology

Analysis of TCP Tahoe with Delayed ACK and Multiple Packet Drop in Network on Chip

Description
Journal of Computing, ISSN 2151-9617, http://www.journalofcomputing.org
Published
of 5
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  Analysis of TCP Tahoe with Delayed ACK andMultiple Packet Drop in Network on Chip Mohammad Reza Nouri Rad Department of Computer EngineeringIslamic Azad UniversityKhorramAbad Branch, Iran Reza Kourdy Department of Computer EngineeringIslamic Azad UniversityKhorramAbad Branch, Iran  Abstract — This paper shows the behavior of TCP Tahoe withDelayed acknowledgment and retransmission with multiplepacket drop, for increase the reliability of network on chip(NoC).We simulate Butterfly NoC architecture with NetworkSimulator 2 (NS2). The simulation results reveal theapplicability of TCP Tahoe protocol in Congestion Control inproposed architecture.  Keywords- Network-on-Chip, TCP Tahoe. 1   I NTRODUCTION Packet-based interconnection networks, known asNetwork-on-Chip (NoC) architectures, are increasinglyadopted in System-on-Chip (SoC) designs, which supportnumerous homogeneous and heterogeneous functionalmodules. Systems-on-chip (SoCs) for multimedia ortelecommunication applications will contain a large numberof process-ing elements (PEs) such as a DSP processor,RISC CPU, embedded RAM, graphics engine, etc. As aresult, there is a need for high-throughput communicationslinks between these blocks. There exist many bus basedSoCs which are widely used in industry such as AMBA [1].Transmission Control Protocol (TCP) is one of the coreprotocols of the TCP/IP Protocol Suite. TCP is used toprovide reliable data between two nodes and works at thetransport layer of the TCP/IP model. TCP operates at ahigher level, concerned only with the two end systems, forexample, a Web browser and a Web server. In particular,TCP provides reliable, ordered delivery of a stream of bytesfrom a program on one computer to another program onanother computer. Besides the Web, other commonapplications of TCP include e-mail and file transfer. Amongits other management tasks, TCP controls message size, therate at which messages are exchanged, and network trafficcongestion [2].Commonly used TCP variant is TCP Reno and uses basicAIMD mechanism only to adjust their congestion windowsize. TCP Reno was the modified version of TCP Tahoe.These protocols are not scalable as the delay-bandwidthproduct of the network becomes larger [3] because additiveincrease is too slow and multiple decrease is too fast. BasicTCP uses packet loss only to adjust the congestion windowsize. So, TCP Vegas and FAST TCP are proposed to cope upthe same problem. FAST TCP uses packet loss as well asqueuing delay as the congestion control parameter and toadjust window after every RTT (Round Trip Time) [4-7].TCP/IP model is made up of 4 layers i.e. Applicationlayer, Transport layer, Internet layer, Network layer.Transmission Control Protocol (TCP) is one of the mainprotocols used at the transport layer. The Abbreviation forTransmission Control Protocol is shown as below. Fig. 1. Abbreviation for Transmission Control Protocol. Congestion is the phenomenon that occurs at a routerwhen incoming packets arrive at a rate faster than the routercan switch (or forward) them to an outgoing link. However,it is important to distinguish contention and congestion.Contention occurs when multiple packets have to be queuedat a switch (or a router) because they are competing for thesame output link, whereas congestion means that the switchhas so many packets queued that it runs out of buffer spaceand has to start dropping packets.Congestive collapse (or congestion collapse) is a conditionwhich a packet switched computer network can reach,when little or no useful communication is happening due tocongestion. Congestion collapse generally occurs at chokepoints in the network, where the total incoming traffic to anode exceeds the outgoing bandwidth. 2   C LASSIFICATION OF C ONGESTION C ONTROL A LGORITHMS   The classification of congestion control algorithms inTCP was demonstrate as below: 2.1 Slow Start Algorithm The Slow Start Algorithm tries to avoid congestion bysending data packets defensively. Therefore, two special JOURNAL OF COMPUTING, VOLUME 4, ISSUE 5, MAY 2012, ISSN 2151-9617https://sites.google.com/site/journalofcomputingWWW.JOURNALOFCOMPUTING.ORG236  variables named congestion window (cwnd) and Slow Startthreshold (ssthresh) are stored on sender’s side.Initially, cwnd is sized to one packet when the sender injectsa new packet into the network and waits for theAcknowledgment (ACK) [5]. from the receiver. Normally,this packet gets through the network and reaches therecipient in time, so it will be replied by an ACK. If thisacknowledgment is received by the sender, cwnd isincremented; if network capacity is reached and packets getlost, the sender does not increment the number of packetsany further. That means, by each sending cycle the numberof injected data packets is doubled until network’s capacityis reached and the required ACK cannot get through. TheDelayed Acknowledgements in TCP was shown as below: Fig. 1. The Delayed Acknowledgements in TCP. 2.2 Fast Retransmit Algorithm Fast Retransmit Algorithm uses explicit feedback methods to avoid long timeout periods waiting for packetretransmitting in case of packet loss. Such problems areinherent in packet-switched data networks because everydata packet can travel individually through the rest of thenetwork and can use special routes from the sender to therecipient [8]. Consequently, the transmitted data packets willneither reach the recipient in accurate order nor completecontinually. Therefore, after detecting a missing packet therecipient sends duplicated ACK packets for the last correctreceived packet until the missing packet receives.Unfortunately, TCP may use duplicate ACK packets toindicate out-of-order-packets, thus two ACK packets do notnecessarily indicate a lost packet. Therefore, if a senderreceives multiple ACK packets with the same sequencenumber, normally at least three of them, these packetsindicate the last successfully transmitted packet. theRetransmit Algorithm was shown as below: Fig. 2. Fast Retransmit Algorithm. 2.3 Fast Recovery Algorithm A special Congestion Avoidance Algorithm oftencombined with Fast Retransmit to restart transmission at ahigher throughput. rate than Slow Start is the FASTRecovery Algorithm. Fast Recovery starts when FastRetransmit fails to work. If no further duplicate ACK packetsare received for Fast Retransmit Algorithm the sender tries toreturn to normal sending state.   2.4 Congestion Avoidance Congestion can occur when data arrives on a big pipe (afast LAN) and gets sent out a smaller pipe (a slower WAN).Congestion can also occur when multiple input streamsarrive at a router whose output capacity is less than the sumof the inputs. Congestion avoidance is a way to deal with lostpackets [9]. The assumption of the algorithm is that packetloss caused by damage is very small (much less than 1%),therefore the loss of a packet signals congestion somewherein the network between the source and destination. There aretwo indications of packet loss: ã   A timeout occurring. ã   Receipt of duplicate ACKs.Congestion avoidance and slow start are independentalgorithms with different objectives. But when congestionoccurs TCP must slow down its transmission rate of packetsinto the network, and then invoke slow start to get thingsgoing again. In practice they are implemented together.Congestion avoidance and slow start require that twovariables be maintained for each connection: a congestionwindow(cwnd), and a slow start threshold size(ssthresh).  3   TYPES   OF   TCP   PROTOCOLS 3.1 Packet Loss-based Protocols These are the protocols which uses packet dropprobability as the main factor for adjusting the window size.These variants of TCP use congestion control algorithms.There were developed initially and are still used. Loss basedTCP protocols are more aggressive than the delay based TCPprotocols [6]. These are classified as below: JOURNAL OF COMPUTING, VOLUME 4, ISSUE 5, MAY 2012, ISSN 2151-9617https://sites.google.com/site/journalofcomputingWWW.JOURNALOFCOMPUTING.ORG237    Fig. 3. The Types of TCP Protocols. 1)   TCP Tahoe TCP Tahoe is the TCP variant developed by Jacobson in1988 [10]. It uses Additive Increase MultiplicativeDecrease (AIMD) algorithm to adjust window size. Itmeans that increases the congestion window by one forsuccessful packet delivery and reduces the window to half of its actual size in case of data loss or any delay only when itreceives the first negative acknowledge. In case of timeout event, it reduces congestion window to 1maximum segment size (MSS) [11]. TCP Tahoe hasfollowing specification:ã TCP Tahoe uses packet loss probability to adjust thecongestion window size.ã During Slow Start stage, TCP Tahoe increaseswindow size exponentially i.e. for everyacknowledgement received, it sends two packets.ã During Congestion Avoidance, it increases thewindow size by one packet per Round Trip Time(RTT) so as to avoid congestion.ã In case of packet loss, it reduces the window size toone and enters in Slow Start stage. 2)   TCP Reno This Reno retains the basic principle of Tahoe, such asslow starts and the coarse grain re-transmit timer. However itadds some intelligence over it so that lost packets aredetected earlier and the pipeline is not emptied every time apacket is lost. Reno requires that we receive immediateacknowledgement whenever a segment is received. The logicbehind this is that whenever we receive a duplicateacknowledgment, then his duplicate acknowledgment couldhave been received if the next segment in sequence expected,has been delayed in the network and the segments reachedthere out of order or else that the packet is lost. If we receivea number of duplicate acknowledgements then that meansthat sufficient time has passed and even if the segment hadtaken a longer path, it should have gotten to the receiver bynow. There is a very high probability that it was lost so Renosuggests an algorithm called ‘Fast Re-Transmit’. Wheneverwe receive 3 duplicate ACK’s we take it as a sign that thesegment was lost, so we re-transmit the segment withoutwaiting for timeout. Thus we manage to re-transmit thesegment with the pipe almost full [12]. 3.2 Delay-Based TCP Protocols Delay-based algorithms were developed so as to providestable throughput at the receiver end. These TCP variants usecongestion avoidance algorithms to avoid the packet loss andare less aggressive than packet loss based TCP protocols.Delay-based algorithms can maintain a constant windowsize, avoiding the oscillations inherent in loss-basedalgorithms [13].These are classified as below: 3)   TCP Vegas TCP Vegas is a congestion control or network congestionavoidance algorithm that emphasizes packet delay, ratherthan packet loss, to determine the rate at which to sendpackets. TCP Vegas detects congestion during every stagebased on increasing Round Trip Time (RTT) values of thepackets in the connection unlike Reno, Tahoe etc. whichdetect congestion only after it has actually happened viapacket drops [14].ã TCP Vegas adjusts the source rate before actuallypacket is dropped.ã Queuing delay is the difference between base RTT andavg RTT.ã TCP Vegas decreases the source rate in case of increasein queuing delay value and increases in case of decrease inqueuing delay. 4)   FAST TCP FAST TCP is a new TCP congestion control algorithmfor high-speed long-distance networks; it aims to rapidlystabilize networks into steady, efficient and fair operatingpoints. It uses queuing delay, in addition to packet loss, as acongestion signal. Queuing delay provides a finer measure of congestion and scales more naturally with network capacitythan packet loss probability does [15]. Using the queuingdelay as a congestion measure in its window updatingequation [4], allows FAST TCP to overcome difficulties [16]encountered by currently used algorithms (such as TCP Reno[12]) in networks with large bandwidth-delay products. 4   SYSTEM   ARCHITECTURE 4.1 Hardware Architectures The common characteristic of NoC architectures is thatthe constituent IP cores communicate with each otherthrough switches [17] . In network-on-chip the bandwidthbetween resource (IPs) and switches is very higher than thebandwidth between switch to switch. The Butterfly hasshown as below: JOURNAL OF COMPUTING, VOLUME 4, ISSUE 5, MAY 2012, ISSN 2151-9617https://sites.google.com/site/journalofcomputingWWW.JOURNALOFCOMPUTING.ORG238    Fig. 4. The Butterfly Network on Chip. As shown in fig. 4, The Square was processor elementsand the circle and hexagon elements were switches thatconnect to each other. 5   EVALUATIONS 5.1 Simulation Framework In this paper, we have modeled our NoC architectureconcepts with the widely used network simulator ns-2 [18].NS-2 has been widely applied in research related to thedesign and evaluation of computer networks and to evaluatevarious design options for NoC architectures [19], includingthe design of routers, communication protocols, etc. Weconsider that two core 7 and core 10 communicate with eachother through network. the bandwidth between resources andswitches was equals to 8 megabits/sec and the bandwidthbetween switches was equals to 800 kilobit/sec. the link delay between resources and switches was equals to 5milliseconds and the link delay between switches was equalsto 100 milliseconds. 5.2 Sequence Number of Packets The Acknowledgment for the SYN+ACK packet waspiggy-backed with the first data request sent by sink (core10). The ACK for the data request is piggy-backed with thefirst data sent by traffic generator (core 7). The rules forAcknowledgment generation with delayed Acknowledgmentare not well seen at the switches, because of delay-inducednear-overlap of symbols on the sequence Number (see fig.5). Fig. 5. sequence Number of TCP Tahoe in switch. 5.3 Congestion avoidance As shown in fig. 6, An Acknowledgment was sent everytwo full-sized packet (to avoid too few Acknowledgments),except when the fast timeout happened before the secondfull-sized packet was received. Acknowledgment was sentimmediately when out of order packet (to trigger fastretransmission) was received. Fig. 6. sequence Number of TCP Tahoe in trafficgenerator (core 7). 6   CONCLUSION   AND   FUTUREWORK This paper shows that TCP Tahoe protocol have the mostinfluence on congestion control. In the future, we willinvestigate the problem of optimal buffer allocation for loss-based and delay-based protocols in more detail. Also, wewill explore mechanisms for detecting loss-based flowssharing the same link queue with delay-based flows. JOURNAL OF COMPUTING, VOLUME 4, ISSUE 5, MAY 2012, ISSN 2151-9617https://sites.google.com/site/journalofcomputingWWW.JOURNALOFCOMPUTING.ORG239
Search
Similar documents
View more...
Tags
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks