780 likes | 908 Views
Engineering optical buffers with Fiber Delay Lines: Design and Modeling. Franco Callegati DEIS - Unibo. Optical Packet format. Asynchronous variable length packets (AVLP) Slotted – fixed length packets (FLP) Slotted – variable length packets (SVLP). AVLP. FLP. T. SVLP. L.
E N D
Engineering optical buffers with Fiber Delay Lines: Design and Modeling Franco Callegati DEIS - Unibo
Optical Packet format • Asynchronous variable length packets (AVLP) • Slotted – fixed length packets (FLP) • Slotted – variable length packets (SVLP) AVLP FLP T SVLP L
Packet format alternatives • FLP • Easy switching node operation • Optimal queuing performance • Require synchronization • Less suitable to carry variable length data • AVLP • No synchronization needed • Can fit easily any format • More complex node operation • Worst queuing performance • SVLP • In between
Contention resolution in OPS networks • Congestion is inherent in packet switching • Contention may be dealt with in • Time • Wavelength • Space • Electronic packet switching typically rely on the time domain by means of queuing • Queuing in optics is not feasible • Queuing may be “emulated” by delaying packet in fiber loops • Delay line buffers • The optics way for contention resolution in the time domain
Realized with B Fiber Delay Lines (FDL): The delay must be chosen at packet arrival Packets are delayed until the output wavelength is available The number of available delays is finite (usually consecutive multiples of the delay unit D but different choices are also possible) Packets are lost when the buffer is full, i.e. the required delay is larger than the maximum delay achievable DM Optical Buffer 0 D t0 (B -1)D t0 t0+D t0+2D t0+(B -1)D …
Optical Buffer and Packet Format • The behavior of the FDL buffer depends on the packet format and synchronization • Synchronous, fixed length packets: • the FDL buffer is equivalent to a conventional buffer • packet loss probability and delay depend on the queue occupancy = number of queued packets • best choice: D = packet length • Synch/Asynchronous, variable length packets • the behavior of the FDL buffer is more complex and not simply related to the number of packets in the queue • optimum value of D to be found
Synchronous, Fixed Length Packets • Using synchronous, fixed length optical packets leads to a simpler behavior of the buffer • D = packet length each time slot corresponds to: • a single packet • a specific delay • Depending on the switching architecture it may not be necessary to choose the delay at packet arrival t0 D t0+2D
FDL operation New packet D7 D6 D5 D4 D3 D2 Delay unit D1 D0 Time
FDL operation (FLP broadcast and select) New packet D7 D6 D5 D4 D3 D2 Delay unit D1 Pick the right packet D0 Time
Asynchronous, Variable Length Packets • Using asynchronous, variable length optical packets is efficient to carry one or more IP datagrams or packets from heterogeneous legacy networks • Problem • Variable length of packets and finite delay granularity • when packets are queued a time gap (void) between the end of the already queued packet and the beginning of the following one is present (maximum void size < D) t0 D t0+3D VOID
FDL operation (AVLP) New packet D7 D6 D5 Buffer Full D4 D3 D2 Delay unit D1 D0 Time Already scheduled packets
FDL operation (AVLP with void filling) New packet D7 D6 D5 D4 D3 D2 Delay unit D1 D0 Time Already scheduled packets
FDL operation (SVLP) New train of packets D7 D6 D5 D4 Buffer Full D3 D2 GAP Delay unit D1 D0 Time Already scheduled packets
Choosing the Buffer Delay Unit • D is directly related to • time resolution of the FDL buffer • maximum delay achievable (buffer size) • For a given number of delay lines (B): • decreasing D • the time resolution improves and the average void size decreases • the buffering capacity decreases • increasing D • the buffering capacity increases • the time resolution decreases and the void size increases
Choosing the Buffer Delay Unit • D is directly related to • time resolution of the FDL buffer • maximum delay achievable (buffer size) Large gaps Short buffer Performance Degradation D
How many packets in a FDL buffer D7 • The number of packet in the buffer is not related to the number of FDLs D6 D5 D4 D3 D2 Delay unit D1 D0 Time
How many packets in a FDL buffer D7 • Blocking is not related to the number of packets in the buffer D6 D5 D4 D3 D2 Delay unit D1 D0 Time
FDL buffer modelling with VL packets • The FDL buffer is used to simulate a normal queue but has a different behavior • Conventional queuing models are not applicable • Modelling based on number of packets in the queue fail to capture: • Gaps • FDL occupancy • Queue access policy • New models are required • Exact model based on Markov chains • Approximate models based on “tailoring” of traditional models to the FDL scenario
Modeling • Assumptions • Random (Poisson or Bernoulli) traffic • Memoryless packet length • Exact models available for • AVLP • Markov based exact model available • R. C. Almeida Jr., J. U. Pelegrini, H. Waldman, “Optical Buffer Modelling for Performance Evaluation Considering any Packet Inter-Arrival Time Distribution”, Proc. ICC ‘04, pp. 1771-1775, 2004. • SVLP • Discrete Markov chain modelling available • K. Laevens, H. Bruneel, “Analysis of a single-wavelength optical buffer”, Proc. IEEE INFOCOM ’03, pp. 2262-2267, 2003.
Definitions • Definitions: • is the packet length (exponential distribution) • is the average packet length • average packet arrival rate (Poisson process) • packet inter-arrival time • pl is the packet loss probility • pq is the probability of queuing a packet • B number of FDLs • Di delay of FDL #i • DM delay of FDL #B i.e. maximum available delay • Usually Di = iD • D is the FDL buffer delay unit • D* = D/ is the normalized FDL delay unit
Exact model for AVLP • Embedded Markov chain • State changes at packet arrival instants • tn arrival time of packet n • sn time instant at which packet n is scheduled • B+2 states for the Markov chain • State 0: • Output is free and packet can be sent through immediately • sn = tn • State i, i=1..B • sn = tn + Di • Packet is sent to FDL i • State F • the buffer is full (tail of last scheduled packet overlaps largest delay) • The packet is lost
State changes • Delay for packet n+1 • Dj = max [ j | Dj-1 < Di + - 1/ ≤ Dj ] • D-1 = -∞ • D0 = 0 • If Dj > DM the packet is lost Di + - Packet n Packet n+1 Dj 0 Di Di +
Transition probabilities • The probability that packet n+1 access delay Dj given that packet n accessed delay Di is the transition probability from state i to state j
A closer look (load = 0.8) Erlang B formula for 1 server
Approximate modeling: the Excess Load • During the void: • the server is idle • the queued packet must wait for the delay to expire • the result is some waste of the available output bandwidth The void can be seen as an artificial increase of the length of the previous packet it results in an excess load at the output Excess length Real Length D
Approximate Modelling • Packet arrival independent of the state of the queue • The void is random between 0 and D with uniform distribution Packets lost Packets not entering the buffer Packets entering the buffer
Modeling Assumptions • Random (Poisson) traffic • Exponential packet length • Problem: the excess length is not exponentially distributed • Approximations: • The probability distribution of the excess length is assumed exponential • The queuing space is assumed infinite • The queuing system can be modeled as an M/M/1 queue • The queuing space is assumed finite • The queuing system can be modeled as an M/M/1 queue with balking
The infinite queuing model • The load to the M/M/1 queue is • For the M/M/1 system • pl = 0 • pq = re • Therefore • The packet loss probability is approximated with the queue length overflow probability
Results • Comparison between analytical model (continuos line) and simulation (dots) of the overflow probability for an infinite buffer 1.0e+000 Traffic load 0.8 Average packet length 500 bytes D is normalized to the average packet length 1.0e-001 Estimated Loss Probability 1.0e-002 r = 0.5 r = 0.6 r = 0.7 r = 0.8 1.0e-003 1.0e-004 0 0.2 0.4 0.6 0.8 1 D*
Results 1e+000 1e-001 B-1 = 255 1e-002 Loss Probability 1e-003 1e-004 1e-005 B-1 = 511 1e-006 1e-007 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 D* • Comparison between analytical model (continuos line) and simulation (dots) of a real buffer Traffic load 0.8 Average packet length 500 bytes D is normalized to the average packet length
Results 1e+000 1e-001 1e-002 1e-003 Loss Probability r = 0.8 1e-004 1e-005 1e-006 r = 0.7 1e-007 1e-008 DM = 255 D Average packet length 500 bytes 0 0.1 0.2 0.3 0.4 0.5 0.6 D*
Results • Optimal D slightly depends on the buffer size 0.5 0.45 0.4 r = 0.7 0.35 r = 0.8 0.3 Do 0.25 0.2 0.15 0.1 0.05 0 2 64 128 192 256 320 384 448 512 DM
The finite queuing model • The queue is finite • The number of packets in the queue is not bounded in principle • The delay is bounded • A packet is lost when the sum of the lengths of the packets queued is longer than the maximum delay • The system is an M/M/1 queue with balking • The arrival rate l is not constant but depends on k • The probability that a packet is lost is a function of the number of packets in the system
Arrival rate • Calculate the packet loss probability fo a given k • Calculate lk as • Finally calculate the steady state probabilities Pk
The finite queuing model • The queuing system is solved by an iterative procedure • start with • calculate Pk, pl and pq • calculate the new value of • return to step 1 • The algorithm ends when Pk, pl and pq do reach a stable value • In all cases tried the convergence was very fast (a few iterations)
Results • Comparison between analytical model (continuos line) and simulation (dots) • The approximate model slightly overestimate the packet loss probability 1e+0 1e-1 # of FDL’s=128 Traffic load 0.8 Average packet length 500 bytes D is normalized to the average packet length 1e-2 1e-3 Loss Probability 1e-4 # of FDL’s=256 1e-5 # of FDL’s=512 1e-6 1e-7 0 0.1 0.2 0.3 0.4 0.5 0.6 D
Results • The excess length results in an artificial increase of the server utilization • Large server utilization results in large packet loss and lower throughput 1 Output load - Analysis Output load - Simulation 0.95 0.9 0.85 0.8 Throughput - Analysis 0.75 Throughput - Simulation 0.7 0 0.1 0.2 0.3 0.4 0.5 0.6 D
Reducing the Buffer Requirements • Problem: in order to reach low packet loss probabilities, large numbers of fiber delay lines are necessary (e.g. B = 512 to reach 10–6 ) buffer unfeasible due to technological constraints • Possible solutions: • building large optical buffer with few FDL using multistage architectures • multiplexing the packets on w wavelengths per fiber (WDM) using efficient resource allocation algorithms
Exploiting WDM (1) • Wavelength allocation may be performed by choosing between two techniques: • Wavelength Circuit • wavelengths are equivalent to network links • packets belonging to the same connection can only travel on the same wavelength • Wavelength Packet • all wavelengths of a fiber are shared among connections • packets belonging to the same connection can travel on different wavelengths We choose the Wavelength Packet technique assuming that the switch architecture realizes an output queuing switching matrix
Congestion resolution • Wavelength multiplexing • Load balacing over the set of available wavelengths per output fiber • Random choice • Time multiplexing • Delay packets when all wavelenths are busy • Which delay? ?
Queuing Model of a WDM Optical Buffer • For each output fiber: • w identical servers represented by the w wavelengths • w logical FDL buffer in parallel, one for each wavelength (realized with a single set of FDLs operated in WDM) • Wavelength allocation problem:how to assign the best wavelength to the packet ? l1 l2 Packet l3 l4
Wavelength and Delay Selection l1 l2 l3 l4 t0 t0+D t0+2D t0+3D t0+4D • At packet arrival • Given the output fiber (from routing table lookup) • Forwarding algorithm must determine • the output wavelength • the required delay if any • WDS is a scheduling problem:is it important to choose the wavelength and the delay ? • Example: • 4 delays • 4 wavelengths
WDS policies l1 l2 l3 l4 t0 t0+D t0+2D t0+3D t0+4D • Gap-filling techniques may be too complex for the optical packet switching time-scale
WDS policies l1 l2 l3 l4 t0 t0+D t0+2D t0+3D t0+4D • Gap-filling techniques may be too complex for the optical packet switching time-scale • Simpler policies based on wavelength availability, with increasing intelligence • Any attempt of analytical approach seems very complex simulation study
WDS Algorithms An example: w = 4 B = 5 l1 l2 l3 l4 t0 t0+D t0+2D t0+3D t0+4D • Random (RND) • Round Robin (RR) • Random if non-empty queues (RNE) • Random among non-full queues (RNF) • Minimum length (MINL) • Minimum gap (MING)
Wavelength Allocation Algorithms: RND LOST • Random (RND) • Round Robin (RR) • Random if non-empty queues (RNE) • Random among non-full queues (RNF) • Minimum length (MINL) • Minimum gap (MING) l1 l2 l3 l4 t0 t0+D t0+2D t0+3D t0+4D
Wavelength Allocation Algorithms: RR LOST • Random (RND) • Round Robin (RR) • Random if non-empty queues (RNE) • Random among non-full queues (RNF) • Minimum length (MINL) • Minimum gap (MING) l1 l2 l3 l4 t0 t0+D t0+2D t0+3D t0+4D
Wavelength Allocation Algorithms: RNE LOST • Random (RND) • Round Robin (RR) • Random if non-empty queues (RNE) • Random among non-full queues (RNF) • Minimum length (MINL) • Minimum gap (MING) l1 l2 l3 l4 t0 t0+D t0+2D t0+3D t0+4D