lecture 13
TRANSCRIPT
IntroductionIntroduction
Control needed to prevent switch buffer overflow
High speed and small cell size gives different problems from other networks
Limited number of overhead bitsITU-T specified restricted initial set
– I.371ATM forum Traffic Management
Specification 41
OverviewOverview
Congestion problem Framework adopted by ITU-T and ATM forum
– Control schemes for delay sensitive traffic Voice & video
– Not suited to bursty traffic– Traffic control– Congestion control
Bursty traffic– Available Bit Rate (ABR)– Guaranteed Frame Rate (GFR)
Requirements for ATM Traffic Requirements for ATM Traffic and Congestion Controland Congestion ControlMost packet switched and frame relay
networks carry non-real-time bursty data– No need to replicate timing at exit node– Simple statistical multiplexing– User Network Interface capacity slightly
greater than average of channelsCongestion control tools from these
technologies do not work in ATM
Problems with ATM Congestion Problems with ATM Congestion ControlControl Most traffic not amenable to flow control
– Voice & video can not stop generating Feedback slow
– Small cell transmission time v propagation delay Wide range of applications
– From few kbps to hundreds of Mbps– Different traffic patterns– Different network services
High speed switching and transmission– Volatile congestion and traffic control
Key Performance Issues-Key Performance Issues-Latency/Speed EffectsLatency/Speed Effects
E.g. data rate 150Mbps Takes (53 x 8 bits)/(150 x 106) =2.8 x 10-6 seconds to
insert a cell Transfer time depends on number of intermediate
switches, switching time and propagation delay. Assuming no switching delay and speed of light propagation, round trip delay of 48 x 10-3 sec across USA
A dropped cell notified by return message will arrive after source has transmitted N further cells
N=(48 x 10-3 seconds)/(2.8 x 10-6 seconds per cell) =1.7 x 104 cells = 7.2 x 106 bits i.e. over 7 Mbits
Key Performance Issues-Key Performance Issues-Cell Delay VariationCell Delay Variation
For digitized voice delay across network must be small Rate of delivery must be constant Variations will occur Dealt with by Time Reassembly of CBR cells (see next
slide) Results in cells delivered at CBR with occasional gaps
due to dropped cells Subscriber requests minimum cell delay variation from
network provider– Increase data rate at UNI relative to load– Increase resources within network
Network Contribution to Cell Network Contribution to Cell Delay VariationDelay Variation In packet switched network
– Queuing effects at each intermediate switch– Processing time for header and routing
Less for ATM networks– Minimal processing overhead at switches
Fixed cell size, header format No flow control or error control processing
– ATM switches have extremely high throughput– Congestion can cause cell delay variation
Build up of queuing effects at switches Total load accepted by network must be controlled
Cell Delay Variation at UNICell Delay Variation at UNI
Caused by processing in three layers of ATM model– See next slide for details
None of these delays can be predictedNone follow repetitive patternSo, random element exists in time interval
between reception by ATM stack and transmission
ATM Traffic-Related AttributesATM Traffic-Related Attributes
Six service categories (see chapter 5)– Constant bit rate (CBR)– Real time variable bit rate (rt-VBR)– Non-real-time variable bit rate (nrt-VBR)– Unspecified bit rate (UBR)– Available bit rate (ABR)– Guaranteed frame rate (GFR)
Characterized by ATM attributes in four categories– Traffic descriptors– QoS parameters– Congestion– Other
Traffic ParametersTraffic Parameters
Traffic pattern of flow of cells– Intrinsic nature of traffic
Source traffic descriptor
– Modified inside networkConnection traffic descriptor
Source Traffic Descriptor (1)Source Traffic Descriptor (1) Peak cell rate
– Upper bound on traffic that can be submitted
– Defined in terms of minimum spacing between cells T
– PCR = 1/T
– Mandatory for CBR and VBR services Sustainable cell rate
– Upper bound on average rate
– Calculated over large time scale relative to T
– Required for VBR
– Enables efficient allocation of network resources between VBR sources
– Only useful if SCR < PCR
Source Traffic Descriptor (2)Source Traffic Descriptor (2)
Maximum burst size– Max number of cells that can be sent at PCR– If bursts are at MBS, idle gaps must be enough to keep overall
rate below SCR– Required for VBR
Minimum cell rate– Min commitment requested of network– Can be zero– Used with ABR and GFR– ABR & GFR provide rapid access to spare network capacity up
to PCR– PCR – MCR represents elastic component of data flow– Shared among ABR and GFR flows
Source Traffic Descriptor (3)Source Traffic Descriptor (3)
Maximum frame size– Max number of cells in frame that can be
carried over GFR connection– Only relevant in GFR
Connection Traffic DescriptorConnection Traffic Descriptor
Includes source traffic descriptor plus:- Cell delay variation tolerance
– Amount of variation in cell delay introduced by network interface and UNI
– Bound on delay variability due to slotted nature of ATM, physical layer overhead and layer functions (e.g. cell multiplexing)
– Represented by time variable τ Conformance definition
– Specify conforming cells of connection at UNI– Enforced by dropping or marking cells over definition
Quality of Service Parameters-Quality of Service Parameters-maxCTDmaxCTD Cell transfer delay (CTD)
– Time between transmission of first bit of cell at source and reception of last bit at destination
– Typically has probability density function (see next slide)
– Fixed delay due to propagation etc.– Cell delay variation due to buffering and scheduling– Maximum cell transfer delay (maxCTD)is max
requested delay for connection– Fraction α of cells exceed threshold
Discarded or delivered late
Quality of Service Parameters-Quality of Service Parameters-Peak-to-peak CDV & CLRPeak-to-peak CDV & CLRPeak-to-peak Cell Delay Variation
– Remaining (1-α) cells within QoS– Delay experienced by these cells is between
fixed delay and maxCTD– This is peak-to-peak CDV
– CDVT is an upper bound on CDVCell loss ratio
– Ratio of cells lost to cells transmitted
Congestion Control AttributesCongestion Control Attributes
Only feedback is defined– ABR and GFR– Actions taken by network and end systems to
regulate traffic submittedABR flow control
– Adaptively share available bandwidth
Other AttributesOther Attributes
Behaviour class selector (BCS)– Support for IP differentiated services (chapter
16)– Provides different service levels among UBR
connections– Associate each connection with a behaviour
class– May include queuing and scheduling
Minimum desired cell rate
Traffic Management FrameworkTraffic Management Framework
Objectives of ATM layer traffic and congestion control– Support QoS for all foreseeable services– Not rely on network specific AAL protocols
nor higher layer application specific protocols– Minimize network and end system complexity– Maximize network utilization
Timing LevelsTiming Levels
Cell insertion timeRound trip propagation timeConnection durationLong term
Traffic Control StrategyTraffic Control Strategy
Determine whether new ATM connection can be accommodated
Agree performance parameters with subscriber
Traffic contract between subscriber and network
This is congestion avoidance If it fails congestion may occur
– Invoke congestion control
Traffic ControlTraffic Control
Resource management using virtual pathsConnection admission controlUsage parameter controlSelective cell discardTraffic shapingExplicit forward congestion indication
Resource Management Using Resource Management Using Virtual PathsVirtual PathsAllocate resources so that traffic is
separated according to service characteristics
Virtual path connection (VPC) are groupings of virtual channel connections (VCC)
ApplicationsApplications
User-to-user applications– VPC between UNI pair– No knowledge of QoS for individual VCC– User checks that VPC can take VCCs’ demands
User-to-network applications– VPC between UNI and network node– Network aware of and accommodates QoS of VCCs
Network-to-network applications– VPC between two network nodes– Network aware of and accommodates QoS of VCCs
Resource Management Resource Management ConcernsConcerns Cell loss ratio Max cell transfer delay Peak to peak cell delay variation All affected by resources devoted to VPC If VCC goes through multiple VPCs,
performance depends on consecutive VPCs and on node performance– VPC performance depends on capacity of VPC and
traffic characteristics of VCCs– VCC related function depends on
switching/processing speed and priority
Allocation of Capacity to VPCAllocation of Capacity to VPC
Aggregate peak demand– May set VPC capacity (data rate) to total of VCC peak rates
Each VCC can give QoS to accommodate peak demand VPC capacity may not be fully used
Statistical multiplexing– VPC capacity >= average data rate of VCCs but < aggregate
peak demand– Greater CDV and CTD– May have greater CLR– More efficient use of capacity– For VCCs requiring lower QoS– Group VCCs of similar traffic together
Connection Admission ControlConnection Admission Control
User must specify service required in both directions– Category– Connection traffic descriptor
Source traffic descriptor CDVT Requested conformance definition
– QoS parameter requested and acceptable value Network accepts connection only if it can
commit resources to support requests
Cell Loss PriorityCell Loss Priority
Two levels requested by user– Priority for individual cell indicated by CLP
bit in header– If two levels are used, traffic parameters for
both flows specifiedHigh priority CLP = 0All traffic CLP = 0 + 1
– May improve network resource allocation
Usage Parameter ControlUsage Parameter Control
UPCMonitors connection for conformity to
traffic contractProtect network resources from overload
on one connectionDone at VPC or VCC levelVPC level more important
– Network resources allocated at this level
Peak Cell Rate AlgorithmPeak Cell Rate Algorithm
How UPC determines whether user is complying with contract
Control of peak cell rate and CDVT– Complies if peak does not exceed agreed peak– Subject to CDV within agreed bounds
– Generic cell rate algorithm– Leaky bucket algorithm
Sustainable Cell Rate AlgorithmSustainable Cell Rate Algorithm
Operational definition of relationship between sustainable cell rate and burst tolerance
Used by UPC to monitor complianceSame algorithm as peak cell rate
UPC ActionsUPC Actions
Compliant cell pass, non-compliant cells discarded If no additional resources allocated to CLP=1 traffic,
CLP=0 cells C If two level cell loss priority cell with:
– CLP=0 and conforms passes
– CLP=0 non-compliant for CLP=0 traffic but compliant for CLP=0+1 is tagged and passes
– CLP=0 non-compliant for CLP=0 and CLP=0+1 traffic discarded
– CLP=1 compliant for CLP=0+1 passes
– CLP=1 non-compliant for CLP=0+1 discarded
Selective Cell DiscardSelective Cell Discard
Starts when network, at point beyond UPC, discards CLP=1 cells
Discard low priority cells to protect high priority cells
No distinction between cells labelled low priority by source and those tagged by UPC
Traffic ShapingTraffic Shaping
GCRA is a form of traffic policing– Flow of cells regulated– Cells exceeding performance level tagged or
discardedTraffic shaping used to smooth traffic flow
– Reduce cell clumping– Fairer allocation of resources– Reduced average delay
Explicit Forward Congestion Explicit Forward Congestion IndicationIndication
Essentially same as frame relayIf node experiencing congestion, set
forward congestion indication is cell headers– Tells users that congestion avoidance should
be initiated in this direction– User may take action at higher level
Congestion Control Algorithms-Congestion Control Algorithms-Binary FeedbackBinary Feedback Use only EFCI, CI and NI bits Switch monitors buffer utilization When congestion approaches, binary notification
– Set EFCI on forward data cells or CI or NI on FRM or BRM
Three approaches to which to notify– Single FIFO queue– Multiple queues– Fair share notification
Single FIFO QueueSingle FIFO Queue
When buffer use exceeds threshold (e.g. 80%)– Switch starts issuing binary notifications– Continues until buffer use falls below threshold– Can have two thresholds
One for start and one for stop Stops continuous on/off switching
– Biased against connections passing through more switches
Multiple QueuesMultiple Queues
Separate queue for each VC or group of VCs Separate threshold on each queue Only connections with long queues get binary
notifications– Fair– Badly behaved source does not affect other VCs– Delay and loss behaviour of individual VCs separated
Can have different QoS on different VCs
Fair ShareFair Share
Selective feedback or intelligent markingTry to allocate capacity dynamically E.g. fairshare =(target rate)/(number of connections)Mark any cells where CCR>fairshare
Explicit Rate Feedback Explicit Rate Feedback SchemesSchemes Compute fair share of capacity for each VC Determine current load or congestion Compute explicit rate (ER) for each connection
and send to source Three algorithms
– Enhanced proportional rate control algorithm EPRCA
– Explicit rate indication for congestion avoidance ERICA
– Congestion avoidance using proportional control CAPC
Enhanced Proportional Rate Enhanced Proportional Rate Control Algorithm(EPRCA)Control Algorithm(EPRCA) Switch tracks average value of current load on
each connection– Mean allowed cell rate (MARC)– MACR(I)=(1-α)*(MACR(I-1) + α*CCR(I)
– CCR(I) is CCR field in Ith FRM– Typically α=1/16– Bias to past values of CCR over current– Gives estimated average load passing through switch– If congestion, switch reduces each VC to no more
than DPF*MACR DPF=down pressure factor, typically 7/8 ER<-min[ER, DPF*MACR]
Load FactorLoad Factor
Adjustments based on load factor LF=Input rate/target rate
– Input rate measured over fixed averaging interval
– Target rate slightly below link bandwidth (85 to 90%)
– LF>1 congestion threatened VCs will have to reduce rate
Explicit Rate Indication for Explicit Rate Indication for Congestion Avoidance (ERICA)Congestion Avoidance (ERICA) Attempt to keep LF close to 1 Define:fairshare = (target rate)/(number of connections)VCshare = CCR/LF = (CCR/(Input Rate)) *(Target Rate) ERICA selectively adjusts VC rates
– Total ER allocated to connections matches target rate– Allocation is fair– ER = max[fairshare, VCshare]– VCs whose VCshare is less than their fairshare get
greater increase
Congestion Avoidance Using Congestion Avoidance Using Proportional Control (CAPC)Proportional Control (CAPC) If LF<1 fairshare<-fairshare*min[ERU,1+(1-LF)*Rup] If LF>1 fairshare<-fairshare*min[ERU,1-(1-LF)*Rdn] ERU>1, determines max increase Rup between 0.025 and 0.1, slope parameter Rdn, between 0.2 and 0.8, slope parameter ERF typically 0.5, max decrease in allottment of fair share If fairshare < ER value in RM cells, ER<-fairshare Simpler than ERICA Can show large rate oscillations if RIF (Rate increase factor) too
high Can lead to unfairness
GRF OverviewGRF Overview
Simple as UBR from end system view– End system does no policing or traffic shaping– May transmit at line rate of ATM adaptor
Modest requirements on ATM network No guarantee of frame delivery Higher layer (e.g. TCP) react to congestion causing
dropped frames User can reserve cell rate capacity for each VC
– Application can send at min rate without loss Network must recognise frames as well as cells If congested, network discards entire frame All cells of a frame have same CLP setting
– CLP=0 guaranteed delivery, CLP=1 best efforts
GFR Traffic ContractGFR Traffic Contract
Peak cell rate PCRMinimum cell rate MCRMaximum burst size MBSMaximum frame size MFSCell delay variation tolerance CDVT
Mechanisms for supporting Mechanisms for supporting Rate GuaranteesRate GuaranteesTagging and policingBuffer managementScheduling
Tagging and PolicingTagging and Policing
Tagging identifies frames that conform to contract and those that don’t– CLP=1 for those that don’t
Set by network element doing conformance check May be network element or source showing less important
frames
– Get lower QoS in buffer management and scheduling
– Tagged cells can be discarded at ingress to ATM network or subsequent switch
– Discarding is a policing function
Buffer ManagementBuffer Management
Treatment of cells in buffers or when arriving and requiring buffering
If congested (high buffer occupancy) tagged cells discarded in preference to untagged
Discard tagged cell to make room for untagged cell
May buffer per-VC Discards may be based on per queue thresholds
SchedulingScheduling
Give preferential treatment to untagged cells Separate queues for each VC
– Per VC scheduling decisions– E.g. FIFO modified to give CLP=0 cells higher
priority Scheduling between queues controls outgoing
rate of VCs– Individual cells get fair allocation while meeting
traffic contract
GFR Conformance DefinitionGFR Conformance Definition
UPC function– UPC monitors VC for traffic conformance – Tag or discard non-conforming cells
Frame conforms if all cells in frame conform– Rate of cells within contract
Generic cell rate algorithm PCR and CDVT specified for connection
– All cells have same CLP– Within maximum frame size (MFS)
QoS Eligibility TestQoS Eligibility Test
Test for contract conformance– Discard or tag non-conforming cells
Looking at upper bound on traffic
– Determine frames eligible for QoS guarantee Under GFR contract for VC Looking at lower bound for traffic
Frames are one of:– Nonconforming: cells tagged or discarded– Conforming ineligible: best efforts– Conforming eligible: guaranteed delivery