130 likes | 269 Views
Analysis and Simulation of a Fair Queueing Algorithm A. Demers, S. keshav, and S. Shenker. Wireless/Mobile Network Lab 임상택. Table of Contents. Introduction Fair Queueing Motivation Definition of algorithm Properties of Fair Queueing Flow Control Algorithms Simulations Discussion.
E N D
Analysis and Simulation of a Fair Queueing AlgorithmA. Demers, S. keshav, and S. Shenker Wireless/Mobile Network Lab 임상택
Table of Contents • Introduction • Fair Queueing • Motivation • Definition of algorithm • Properties of Fair Queueing • Flow Control Algorithms • Simulations • Discussion
Introduction • The rapid growth, in both use and size, of computer networks ⇒ methods of congestion control • Congestion control • At the source point ⇒ flow control algorithms • At the gateway point ⇒ routing and queueing algorithms • Queueing algorithms can be though of as allocating three nearly independent quantities • Bandwidth(which packets get transmitted) • Promptness(when do those packets get transmitted) • Buffer space(which packets are discarded by the gateway)
Fair Queueing • Motivation • The requirement that the queueing algorithm allocate bandwidth and buffer space fairly • Nagle’s Fair Queueing flaw • The gateway should provide service that does not depend on a packet’s time of arrival • lack of consideration of packet lengths( long packets get more bandwidth than short packets, not fairly.) • Max-min fairness criterion
Definition of algorithm • It is simple to Allocate buffer space fairly • by dropping packets, when necessary from the flow with the largest queue • Allocate bandwidth fairly • Pure Round-robin service fails to guarantee a fair allocation ⇒ Because of variations in packet sizes • Bit-by-bit round robin (BR) fashion ( as in a head-of-queue processor sharing discipline ) • Allocates fairly ⇒ Since at every instant in time each flow is receiving its fair share
R(t) : the number of rounds made in the round-robin up to time t • Nac(t) : the number of active sessions that have bits in their queue at time t • μ : the line-speed of the gateway’s outgoing line • A Packet of size P whose first bit gets serviced at time t0 will have its last bit serviced P rounds later • At time t, R(t) = R(t0) + P • tiα : arrival time at the gateway that packet i belonging to flow α • Siα, Fiα : values of R(t) when the packet started and finished service • Piα: packet size Fiα = Siα + Piα , Siα = MAX(Fi-1α , R(tiα)) • Since R(t) is a strictly monotonically increasing function, the ordering of Fiα values is the same as the ordering of the finishing times • Bit-by-bit round robin is unrealistic ⇒ Emulate this algorithm by packet-by-packet transmission scheme.
A natural Way to emulate BR algorithm • Fiα define the sending order of the packets • The smallest value of Fiα • Promptness allocation • Give more promptness (less delay) to users who utilize less than their fair share of bandwidth • Biα , nonnegative parameter δ Biα = Siα + Piα , Siα = MAX(Fi-1α , R(tiα)-δ) • Sending order is determined by the B’s, not the F’s • This gives slightly faster service to packets that arrive at an inactive conversation • Two extreme cases δ = 0 and δ = ∞ • R(tiα)<=Fi-1α , flow α is active ⇒ δ is irrelevant and Biα depends only on the finishing number of the previous packet • R(tiα)>Fi-1α , flow α is inactive • δ = 0, Biα = Piα + R(tiα) • δ = ∞, Biα = Piα + Fi-1α • Buffer space • When the queue is full and new packet arrives, the last packet from the source using the most buffer space is dropped • When packet is dropped, F’s and S’s unchanged • Small penalty for ill-behaved hosts