ICS Introduction to Operating Systems

Document Sample
ICS Introduction to Operating Systems Powered By Docstoc
					Why traffic shaping?
 In packet networks that implement resource sharing
    admission control and scheduling alone are insufficient
        • users may attempt to exceed the rates specified at the time of
          connection establishment (possibly inadvertently)
        • QoS is negotiated for average rate, but bursts occur during
          transmissions, hence resource allocation can be unbalanced.
        • Need constant watch over traffic associated with each
    Traffic enforcement
        • polices source streams to check that their input conforms to
          declared values.
    Traffic Shaping
        • smooths input streams so that characteristics are amenable to
          provide QoS guarantees.
        • Need traffic shaping at entry into or within the network

Purpose of traffic shaping
 Traffic shaping
    set of rules that describe a flow’s traffic characteristics.
        • the way of a flow to describe its traffic to the network
        • the network can determine if the flow should be allowed in
        • the network can periodically monitor the flow’s traffic
    E.g. If we want to transmit data of 100 Mbps, do we take
     one packet of size 100Mbits/s or do we take 1 packet of size
     1Kbit every 10 microseconds.
    Regulating traffic
    Deciding whether to accept a flow’s data
    Policing flows

Burstiness and Bandwidth
 Classification of sources - data, voice and video
    Data sources are generally bursty, whereas voice and video
     are naturally continuous and bursty if compression is used.
 Multimedia sources can be divided into 2 classes:
    Constant bit rate (CBR) traffic - often from continuous
        • strongly periodic, strongly regular stream characteristics
        • needs peak-rate allocation of bandwidth for congestion free
    Variable bit rate (VBR) traffic - often from bursty sources
        • strong periodic and weakly regular stream characteristics or
          weakly periodic and strongly regular stream characteristics
        • Average rate of transmission can be a small fraction of the peak
          rate. Peak rate allocation would result in underutilization and
          average rate allocation would result in losses/delays.

Isochronous Traffic Shaping
 Simple Leaky Bucket
      • developed by J. Turner, 1986 (Washington Univ.)

       Each flow has its own leaky bucket.

                                              - size of bucket

                                              - rate - cells drain out at the bottom of bucket and
                                                        are sent

                                                 Regulator enforces the rate at the bottom

        Regulator     

Isochronous traffic shaping
 (r, T) - smooth traffic shaping
    developed by Golestani, 1990 - part of the stop-and-go
     queueing algorithm.
    Traffic is divided into T-bit frames where T is fixed.
    r bit packets of a flow are considered where r varies on a per
     flow basis.
        • In an (r,T)-smooth traffic system, a flow is permitted to inject
          not more than r bits of data into the network in any T bit times.
        • If the next packet to be sent over the flow would cause the
          flow to use more than r bits in the current frame, the flow must
          hold the packet until the next frame starts.
        • A flow that obeys this rule has (r,T)-smooth traffic.

Isochronous Traffic Shaping
 (r,T)-smooth traffic system
    relaxed form of leaky bucket because:
       • rather than sending one cell size c every 1/ time units, the
         flow can send Tc/ bits of data every T bit times.
       • One cannot send a packet larger than r bits long.
       • Hence, unless T is very long, the maximum packet size may be
         very small.
 Limitations of isochronous traffic shaping
       • The range of behaviors is limited to fixed rate flows.
       • Variable flows must request data rate = peak data rate which is

Isochronous traffic shaping
with Priorities
        • If a flow exceeds its rate, the excess packets are given a lower
          priority. If a network is heavily loaded, these packets will be
          preferentially discarded.
 Decision place to assign priority
    at the sender
        • sending application can mark its own packets. Application
          knows which data units are more important and can mark
    in the network (useful for traffic policing)
        • Network marks the cells. Network watches the flow’s packets
          as they enter the network. If flow exceeds promised rate,
          network marks enough of flow’s packets so that remaining high
          priority packets are within the required rate
        • Amount of traffic that can be guaranteed is rather low (50%).
          There is a problem discarding packets selectively in FIFOs.

Shaping Bursty traffic
 Token bucket mechanism
       • different from the simple leaky bucket.
   Consider trying to send a packet of size b tokens (b < )
    under the following three scenarios
       • Token bucket is full - the packet is sent and b tokens are
         removed from the bucket
       • Token bucket is empty - the packet must wait for b tokens to
         drip into the bucket at which time it is sent
       • Token bucket is partially full - There are B tokens in the bucket.
         If b  B then the packet is sent immediately; otherwise it must
         wait for the remaining b-B tokens before being sent.

Token Bucket

                        Each flow has its own leaky bucket.

                                                               - rate at which tokens are placed in bucket

                         Token                                 - capacity of bucket


                Data Buffer
peak                                                            Regulator enforces the rate at the bottom


        peak    >  >                                             Stability and bandwidth utilization
Token Bucket
 Differences between simple leaky bucket (SLB) and
  token bucket (TB)
    SLB forces bursty traffic to smooth out, TB permits
     burstiness but bounds it.
    SLB guarantees that the flow will never send faster than 
     worth of packets per second, TB guarantees that the
     burstiness is bounded so that
       • the flow never sends more than     tokens worth of data
         in an interval  and
       • the long-term transmission rate will not exceed .
    TB has no discard or priority policy.
    TB is easy to implement. Each flow needs just a counter to
     count tokens and a timer to determine when to add new
     tokens to the counter.

Limitations of token bucket
 Difficulty with policing
    at any time the flow is allowed to exceed rate by number of
     tokens, it means we need better policing.
 Reasons for policing
    In any period of time, flow is allowed to exceed rate  by 
    If network polices flows by simply measuring their traffic
     over intervals of length , a flow can cheat by sending 
     tokens of data in every interval.
    Cheating because the flow would send  token in the
     interval  and it is supposed to send at most  tokens
     worth of data.

Token bucket with leaky
bucket rate control
 TB more flexible than LB, but if a flow has been idle
  for a while, its bucket will fill.
    When flow begins sending again, it can send up to  tokens
     worth of data on the network without stopping.
       • Allowing one flow to consume all the bandwidth is harmful. Cell
         switches do not respond well to steady streams of traffic
         heading for the same destination.
       • Long bursts of high priority traffic may interfere with other high
         priority traffic.
       • Need to limit how long a token bucket sender can monopolize
         the network.
    Solution - Combine token bucket with leaky bucket.

Composite Shaper




      Data Buffer                    Leaky bucket




Shared By: