Scheduling Algorithms in OBS

112
1 Scheduling Algorithms in OBS Harleen Dhillon Chris Parrag

description

Scheduling Algorithms in OBS. Harleen Dhillon Chris Parrag. Optical Burst Switching. Overview. Introduction. Various switching paradigms Circuit switching Packet switching Burst switching. Introduction. Differences between the switching techniques “Granularity” of the switching entity - PowerPoint PPT Presentation

Transcript of Scheduling Algorithms in OBS

Page 1: Scheduling Algorithms in OBS

1

Scheduling Algorithms in OBS

Harleen Dhillon

Chris Parrag

Page 2: Scheduling Algorithms in OBS

2

Optical Burst Switching

Overview

Page 3: Scheduling Algorithms in OBS

3

Introduction

Various switching paradigms

– Circuit switching– Packet switching– Burst switching

Page 4: Scheduling Algorithms in OBS

4

Introduction

Differences between the switching techniques– “Granularity” of the switching entity– Whether data will use the “switch cut-through”

or “store-and-forward” method– How and when the network resources are

reserved and released– Whether control signals and data are separated

by using different channels

Page 5: Scheduling Algorithms in OBS

5

Introduction

Circuit switching– Wavelength-routing

• Circuit switching in WDM networks

• All – optical wavelength path is established between two remote connecting nodes

• Issues– Low bandwidth utilization if the traffic is bursty

– Due to limited number of wavelengths, some data may still need to go through O/E/O conversions

Page 6: Scheduling Algorithms in OBS

6

Introduction

Optical packet-switching– Suitable for bursty traffic since it allows statistical

sharing of channel bandwidth among packets belonging to different source and destination pairs.

– Issues:• Percentage of control overhead is higher with

small, fixed length packets

• Challenges with keeping the payload in optic form – Synchronization issues

Page 7: Scheduling Algorithms in OBS

7

Burst Switching

Three main variations of burst switching:

– Tell-and-go (TAG)– In-band-terminator (IBT)– Reserve-a-fixed-duration (RFD)

Page 8: Scheduling Algorithms in OBS

8

Optical Burst Switching

Optical burst switching– OBS provides a new paradigm for providing

high-bandwidth transport services at the optical layer

– Motivation:• Internet traffic is self-similar

• Existing switching paradigms in optical networks not suitable for bursty traffic

Page 9: Scheduling Algorithms in OBS

9

Burst switching variations

Bandwidth is reserved at the burst level using a one-way process

A burst can cut-through switchesTheoretically, the size of a burst may be

unlimited

Page 10: Scheduling Algorithms in OBS

10

TAG

Source sends a control packet on a separate control channel to reserve bandwidth along a data path

No acknowledgement is requiredAfter the burst is sent, another control

packet is sent to release the bandwidth

Page 11: Scheduling Algorithms in OBS

11

TAG

Advantages:– Offset time potentially much smaller than

circuit set-up time– Separation of channels increases throughput

Disadvantages:– Loss of the tear-down signal during its

transmission will result in bandwidth waste

Page 12: Scheduling Algorithms in OBS

12

IBT

Each burst has a header, and a special delimiter to indicate the end of the burst

Uses virtual cut-through. A source and an intermediate node can begin to transmit the head of a burst even before the tail of the burst is received

Advantages over packet switching:– Smaller buffer space is needed at a node– A burst will encounter less delay

Page 13: Scheduling Algorithms in OBS

13

IBT

Comparable to fast circuit switchingIn order to release bandwidth, the end-of-

burst terminator needs to be detected, which could be difficult

Page 14: Scheduling Algorithms in OBS

14

RFD

Use of offset timesA control packet is sent first to reserve

bandwidth.Data sent after offset time, TBandwidth is reserved for a duration

specified by the control packet– Burst will have a limited maximum size

Page 15: Scheduling Algorithms in OBS

15

RFD

RFD is more efficient in utilizing bandwidth and FDLs than TAG/IBT.

RFD-based protocols discussed:– JET (Just Enough Time)– pJET (prioritized JET)

Page 16: Scheduling Algorithms in OBS

16

JET

Control packet includes value of offset time If requested bandwidth not available, burst is

blocked, and dropped if no buffer spaceDelayed Reservation (DR)

– Control packet includes both the burst length and the value of the offset time

– Value of offset time updated when the control packet goes to the next node

– Use of DR reduces burst dropping

Page 17: Scheduling Algorithms in OBS

17

JET

FDLs fully utilized in resolving conflicts, unlike TAG and IBT protocols

(Figure)

Page 18: Scheduling Algorithms in OBS

18

JET

Page 19: Scheduling Algorithms in OBS

19

Prioritized OBS

Extension of JET to include priority scheduling

pJET: prioritized OBS protocol– Bursts are classified into multiple classes– Differentiated services are provided– Extra offset time denoted to class of higher

priority

Page 20: Scheduling Algorithms in OBS

20

Other approaches to reservation mechanisms:

Just-In-Time (JIT)– Upon arrival of a reservation request, a

wavelength channel is immediately allocated if available. Otherwise, burst is dropped.

(What about FDLs??)Reserve-a-Limited-Duration (RLD)

– The sender is required to specify the burst length in the control packet

– Example: the Horizon mechanism

Page 21: Scheduling Algorithms in OBS

21

SCHEDULING ALGORITHMS

Page 22: Scheduling Algorithms in OBS

22

Overall Concept for Channel Scheduling

Comes from problem of assigning a burst to a channel when it gets information about when it will arrive.

There is an idle period from the arrival of Burst Header Cell (BHC) and the data burst, that we want to avoid. Since if we were to assign a burst to a channel immediately, we would be fragmenting the resources of the channel, leaving small voids that may not be able to be filled. This in result lowers the bandwidth utilization.

Since each BHC and burst may have a different idle period, a good scheduler may fill the voids of a channel with another arriving burst.

So, ideally we assign bursts to a channel that becomes free just before the burst arrives.

This minimizes idle time (voids) and helps for scheduling later by maintaining maximum flexibility for later bursts.

Page 23: Scheduling Algorithms in OBS

23

Example of Channel Scheduling

Page 24: Scheduling Algorithms in OBS

24

HORIZON

Page 25: Scheduling Algorithms in OBS

25

One Approach: Horizon Channel Scheduling

Follows the KISS ideology since we could be looking at scheduling hundreds of BHCs every second.

Maintains a single horizon for each channel on the link.

A horizon is the time after which no reservation has been made on the channel.

What we do is look at the incoming burst time, check the scheduling horizons of the channel for the latest one that fits the arrival time of the burst. That is, we are finding the channel with the smallest gap.

Page 26: Scheduling Algorithms in OBS

26

Horizon Channel Scheduling (2)

Once a channel is selected, the scheduler must again compute the scheduling horizon of that channel.

This is based on the duration of the burst and the time due to arrive, (t, t+L).

Page 27: Scheduling Algorithms in OBS

27

Example: Horizon

For this example, the horizon for each channel is shown by the solid purple line.

Since Horizon does not take voids into consideration but only the last time at which a channel becomes free, if a burst arrives at time t, the burst will be placed on D2 since the gap is minimal.

Page 28: Scheduling Algorithms in OBS

28

Burst Scheduling: Data Structure

The data structure that is used is binary trees.These leaves contain pairs of numbers, the time

of a burst and its duration. The internal nodes contain the latest time of its leaves. This allows for a quick check of time range without traversing all of its leaves.

The running time of the algorithm is log(k) where k is the number of wavelengths.

Page 29: Scheduling Algorithms in OBS

29

Horizon Shortcomings

Even though it attempts to minimize gaps, it cannot schedule any bursts between the gaps since the scheduling horizon just gives the time of the end of the burst.

The channel scheduling wastes resources since it only keeps track of the channel’s idle period.

There is low channel utilization and high loss rate since it discards all bursts that are in the void intervals.

Page 30: Scheduling Algorithms in OBS

30

Latest Available Unscheduled Channel

Page 31: Scheduling Algorithms in OBS

31

Latest Available Unscheduled Channel (LAUC)

Almost exactly the same as Horizon.Keeps track of the latest time and finds the

gap that is smallest from the last burst.Unlike Horizon, which is vague on how

buffering is accomplished, LAUC clearly makes use of Fiber Delay Lines (FDLs).

Page 32: Scheduling Algorithms in OBS

32

LAUC with Void Filling (LAUC-VF)

Comes from LAUC. However, LAUC-VF takes advantage of

the unused channel capacity between scheduled data bursts.

This algorithm fills in the gaps with the incoming bursts.

How?

Page 33: Scheduling Algorithms in OBS

33

Filling the Voids in LAUC-VF

Idea is to minimize voids by selecting the latest available unused data channel for each arriving data burst. Unscheduled data channels are just special cases of unused data channels.

The scheduler first finds all outgoing data channels that are available for the burst (t, t+L).

If at least one channel is available, the scheduler selects the latest one. That is the channel having the smallest gap between t and the end of the last data burst before t.

Page 34: Scheduling Algorithms in OBS

34

LAUC-VF Example

At time t, the burst arrives. Channel D3 and D4 cannot fit the burst. Therefore, the burst contends between channels D1, D2, and D5. D2 is chosen since the gap between the last burst on the channel and the new burst is minimized.

Page 35: Scheduling Algorithms in OBS

35

No Available Channels at time t?

If all the channels are unavailable at the time that a burst arrives, the scheduler checks at t+D. D is the delay in the FDL.

After the burst goes through the FDL, it is available from t+D, t+D+L. Another search is made for this time.

This can keep going until t+D*B. B is the maximum number of FDL delay units.

Page 36: Scheduling Algorithms in OBS

36

Example of use of FDLs

Since at time t when the burst arrives, no channels are available. So, the burst is sent through an FDL and arrives for scheduling at t+D. Now a channel is available and a burst can be scheduled.

Page 37: Scheduling Algorithms in OBS

37

LAUC-VF Algorithm

- Ch_Search is a function that searches for eligible latest available unused data channel at time x and returns selected outgoing channel if one is found, else -1.

- t is data burst arrival time to switching matrix

- j is outgoing data channel selected to carry burst.

Page 38: Scheduling Algorithms in OBS

38

Running Time of LAUC-VF

Straightforward implementation runs in O(n*m+n2) to schedule n bursts and O(k logm) to schedule a burst with m existing voids to begin with and k wavelengths.

With the use of FDL delays, the time complexity becomes O(Bmn + Bn2).

Page 39: Scheduling Algorithms in OBS

39

Improvements/Variations to LAUC-VF

Can improve searching time if an exhaustive search is not used at all possible delay times when B is fairly large.

Data channels can be searched in order of scheduled and unscheduled channels for a given time instant.

If this is done, for eligible scheduled channels, the channel with minimum gap is chosen. For unscheduled channels, LAUC scheduler still holds.

Page 40: Scheduling Algorithms in OBS

40

Variations of LAUC-VF (2)

Another is still searched as above but the first eligible scheduled channel is chosen. If all scheduled channels are used, the first unscheduled channel is chosen.

Data channels are searched in an order, either fixed or round robin and the first eligible channel is chosen (this is called

FF-VF).

Page 41: Scheduling Algorithms in OBS

41

A New Concept

Page 42: Scheduling Algorithms in OBS

42

Geometrically Modeled Concept

Idea is to view the voids as a point with coordinates (s,e) in a two dimensional graph.

The reservation period is also mapped to a point for each burst. The reservation can be made until f= r + l, where r is the time the burst arrives (r = offset + current time) and l is the burst length.

The set of void intervals that are feasible for the burst are to the left and above the point for the burst. That is, a void interval is feasible to burst b = (r, f) if and only if s<= r and e>= f

Page 43: Scheduling Algorithms in OBS

43

Geometrically Modeled Concept (2)

The maximum set of points that are feasible will be at most k where k is the number of channels.

This is because each channel can have only one void interval for b.

Once a reservation has been made, two new voids are formed, (s, r) and (t, e).

Page 44: Scheduling Algorithms in OBS

44

Example of Geometric Modeling

The region between the purple lines is where a void may lie since the starting time must be before the ending time. The points are the void intervals of the channel.

The purple lines now show the feasible region for a burst b. These are the void intervals which have an earlier starting time and later ending time than the burst.

Page 45: Scheduling Algorithms in OBS

45

Min-SVMax-SVMin-EVMax-EV

Page 46: Scheduling Algorithms in OBS

46

Min-SV Algorithm

Minimizes the starting void. Achieves same objective of LAUC-VF.

Uses a more efficient algorithm and data structure.

Begin by taking a look without FDLs.Looking for the point closest to the vertical line. Is designed by augmenting a balanced binary

search tree.

Page 47: Scheduling Algorithms in OBS

47

Min-SV/ Max-SV

This algorithm attempts to minimize the starting gap (Min-SV) or maximize the starting gap (Max-SV). For Min-SV, the burst would be scheduled on D2. For Max-SV, D5 would be used.

Page 48: Scheduling Algorithms in OBS

48

The Data Structure

Uses the operations: burst query, interval insertion, and interval deletion. Also contains clean up operation to remove expired intervals so data structure size is reduced and running time increases.

Burst query operation takes a burst and outputs the interval, if it exists.

To build it, sort the set of all void intervals by starting time. Then build tree based on these starting times where the void with the median starting time is the root.

The leaves of the tree are the void intervals. Each internal node contains information about its descendents. More

specifically, the internal nodes contain the median starting time among all descendent intervals, a pointer to the interval with the maximum ending time, and another pointer the interval with the smallest ending time.

Page 49: Scheduling Algorithms in OBS

49

Visual Example

The boxed region are the leaves of the tree, which represent the voids of the channels.

The circled area represents the information which the colored node stores.

Page 50: Scheduling Algorithms in OBS

50

How a Burst is Added

Search the tree for all the points that are to the left of the burst point. That is, the points which have an earlier starting time than the arriving burst.

To do so, we start by comparing with the root. If it has an earlier starting time, mark left child and move to right.

Otherwise, proceed to left without marking right. Continue recursively until leaf node is reached. If

leaf node is right, must mark left as well. If left node, just mark it.

Page 51: Scheduling Algorithms in OBS

51

The Set that is Marked

The intervals in the set are called allocation nodes These are intervals with proper starting times. Allocation path is path from root to leaf which contains

marked nodes. From this set, we search the marked nodes in a bottom up

order. Since the internal nodes contain the information about its descendents, by looking at the pointers to the proper ending times, we can find out information about its children without traversing through them. This is where time is saved versus other algorithms. Whichever from the bottom has an ending time greater than horizontal line will be Min-SV fit since the bottom nodes contain the smallest gap in starting time.

Page 52: Scheduling Algorithms in OBS

52

Example: Tree with Marked Nodes

The darkened nodes are those in the allocation set. The path is the darkened line. This means that all the nodes to the left of the purple line contain feasible starting times for the arriving burst.

Page 53: Scheduling Algorithms in OBS

53

Running Time of Algorithm

For searching procedure is O(log m).Due to height of tree being O(log m) and

checking of each node O(1). Operations insertion and deletion take

O(log m) as they would with red-black trees.Total space of structure is O(m)Therefore, scheduling algorithm takes at worst

case for n bursts O(n log(m+n)).

Page 54: Scheduling Algorithms in OBS

54

How the Others Fit In?

Max-SV, Min-EV, Max-EV are all just variations of the algorithm.

Min-EV, the minimum ending void, takes the smallest distance between the ending time and the y-axis.

Max-SV and Max-EV are the opposite.

The points closest to the purple line are best for Min-SV, blue for Max-SV, red for Min-EV, and yellow for Max-EV.

Page 55: Scheduling Algorithms in OBS

55

More Specifically

Max-SV can use the same data structure but it searches allocation nodes in a top down fashion as opposed to bottom up in Min-SV.

Min-EV constructs a tree based on the ending times, not the starting times. A bottom up search is done on the allocated nodes.

Max-SV has the same ending time tree but searches the nodes in a top down fashion.

Page 56: Scheduling Algorithms in OBS

56

Batching FDL

Page 57: Scheduling Algorithms in OBS

57

No Void Interval?

Use of FDL’s to increase the offset time. Can be done two ways:

Case 1:- Use the algorithm to schedule the burst by first starting with

minimum delay and searching until either fit is obtained or maximum possible delay is reached.

- In worst case, this takes O(B log m)Case 2:- Select a set of delays, scheduling the burst with any one of these

delays corresponding to the possible reservation periods. - This gives a better running time than the previous approach. Why?

Page 58: Scheduling Algorithms in OBS

58

Batching FDL Algorithm

The second approach is where this algorithm is derived from.

To find a void interval for a data burst, the batching approach uses either the Min-SV or Min-EV algorithm to schedule a channel for the burst based on original offset time, o.

If the interval exist, it is finished.

Page 59: Scheduling Algorithms in OBS

59

Batching FDL Algorithm (2)

If not, the set of delays based on those from the FDLs are selected and new reservations for these periods are searched.

To increase the searching time, the problem that LAUC-VF had for large delay amounts, instead of using Min-SV or Min-EV, it will search for the first fit in the available region.

Page 60: Scheduling Algorithms in OBS

60

Example: Searching a Batch

Page 61: Scheduling Algorithms in OBS

61

Finding a Feasible Void Interval

Begin by considering extended region and then searching for allocation nodes based on ending time, as in Max-EV.

This decomposes the region considerably. In this reduced region, a search is then done for a

interval with the smallest starting time in a top down fashion. This will give the highest chance that a feasible interval will be found.

Page 62: Scheduling Algorithms in OBS

62

Finding a Feasible Void Interval (2)

If an interval is found, the algorithm stops and returns the interval.

Otherwise, the region is broken down into a subregion. This is done recursively until a solution has been found or the entire subregion has been searched.

There are at most p (set of delays) decompositions needed to search the entire region.

Page 63: Scheduling Algorithms in OBS

63

Running Time

Takes O(log m – lj) time to decompose a subregion so for z subregions, the running time is O(z * log m – z * lj).

Worst time complexity to find a feasible region is O(p log m).

Operations insertion and deletion still take O(log m) time.

Storage requirement becomes O(p + log m).

Page 64: Scheduling Algorithms in OBS

64

Comparing some of the Algorithms

We will look at how these different algorithms compare to each other.

These comparison were done on Yacsim simulation tool using a Dell Precision 330 Pentium 4, 1.3Ghz processor.

Page 65: Scheduling Algorithms in OBS

65

Min-SV vs. Horizon and LAUC-VF

Two simulations, the relationship between scheduling time and offered link load, and how the range of offset times affects loss rate.

Settings for the first simulation are as follows: number of channels in a link is 10, the range of the offset time is [.3, 3] ms

Settings for the second are channel number is 40, link load is 80%, and the range of offset times are [a/10, a]ms at each comparison point.

Page 66: Scheduling Algorithms in OBS

66

Scheduling Time vs. Link Load

Change of link load has no effect on scheduling times of Min-SV and Horizon but does for LAUC-VF. Shows Min-SV schedules burst much faster than LAUC-VF.

Page 67: Scheduling Algorithms in OBS

67

Loss Rate vs. Offset Time Range

Loss rate of Horizon is continuously growing on the range of the offset time. LAUC-VF and Min-SV remain fairly constant.

Page 68: Scheduling Algorithms in OBS

68

Comparing Min-SV and Min-EV

Two simulations as well, performance on the loss rate and scheduling time under different link load.

The settings for the first are a link load of 80%, range between [.3, 3]ms, and a channel number of 30.

For the second simulation, the channel number is 40 and the offset range is [.3, 3]ms.

Page 69: Scheduling Algorithms in OBS

69

Loss Rate vs. Offset Time Range

Loss rate of Min-EV is about 10% larger.

Page 70: Scheduling Algorithms in OBS

70

Scheduling Time vs. Link Load

Min-EV runs several times faster than Min-SV. Due to searching by ending time, less in the tree so search is faster.

Page 71: Scheduling Algorithms in OBS

71

Comparing Batching FDL Algorithm

Comparing Batching FDL with sequential searching algorithm.

Sequential searching algorithm considers FDLs in iterative manner, using only one FDL to search for feasible void interval. Batching considers batch of FDLs and performs one search on the set of void intervals.

Page 72: Scheduling Algorithms in OBS

72

Comparing (2)

Two simulations, one of FDL number vs. scheduling time and the other FDL number vs. loss rate.

The first simulation has a channel number of 40, offset range of [.3,3], and a link load at 90%.

The second has the same settings as the first.

Page 73: Scheduling Algorithms in OBS

73

Scheduling Time vs. FDL Number

Scheduling time of SSA is much greater than Batching FDL. Shows batching of FDLs is better.

Page 74: Scheduling Algorithms in OBS

74

Loss Rate vs. FDL Number

Loss rate of Batching FDL is about 1.6% higher. This is because FDL Batching always picks leftmost interval without optimizing.

Page 75: Scheduling Algorithms in OBS

75

The Best Fit Algorithm

Objective is to minimize the total length of the two residual intervals (called SV and EV respectively).

Improves bandwidth utility and reservation success ratio.

Considers Manhattan distance (distance between x and y).

Page 76: Scheduling Algorithms in OBS

76

Distance Metric

Manhattan distance is the sum of a distance in the x direction and a distance in the y direction.

Let – b = (r,f) be the data burst– I = (s,e) be a void interval in the feasible region r of b.Note:

From the talk on geometrically modeled concept of void intervals earlier, the set of void intervals that are feasible for the burst are to the left and above the point for the burst. That is, a void interval is feasible to burst b = (r, f) if and only if s<= r and e>= f.

Page 77: Scheduling Algorithms in OBS

77

Distance metric

Ix = horizontal projection of I on the vertical line x = r

Iy = vertical projection of I on the horizontal line y = f

I` = orthogonal projection of I on the line y = x

b` = orthogonal projection of b on the line y = x

The distance to be minimized is the sum of two segments:

– sv = b - > Iy

– Ev = b - > Ix

Page 78: Scheduling Algorithms in OBS

78

How this is done

Observation:sv + ev= sqrt(2) * (|I->I’| - |b->b’|)

Once a burst is given, its projection distance |b -> b`| is fixed. Thus, finding the best fit is finding a void interval in the feasible region R that gives the shortest |I->I’| distance.

Page 79: Scheduling Algorithms in OBS

79

Structure of the algorithm

Build a tree, Tend, based on the ending time of the void interval.

For each internal node v of Tend, we build another tree, Tstart(v), based on the starting time of the intervals in the strip Sv associated with that node v only.

Note: Order of these can be switched: starting time may be used as the primary dimension instead of the ending time.

Page 80: Scheduling Algorithms in OBS

80

Searching for the best fit

In each internal node, v, of the first tree Tend(based on ending time), we store median interval (based on the ending time) and minimum starting time of the intervals in the strip Sv.

Also, for each node u of the sub-tree Tstart(v) we store the median interval based on starting time and a pointer to the interval with the minimum projection distance among all intervals in this sub-tree.

To get best fit, we search the tree based on ending time, finding a set A of allocation nodes like in Min-SV. Now we find the best fit in the sub-tree rooted at each allocation node in the set A.

The actual best fit is the best among the best fits we find from these allocation nodes.

How this is done?

Page 81: Scheduling Algorithms in OBS

81

Finding the Best from the Set

Instead of searching each root bottom up based on ending time like in Min-SV, we search based on starting time.

The set A(1) of allocation nodes obtained as the result of the first tree traversal produce a horizontal strip such that each interval has an ending time (y co-ordinate) greater than or equal to the ending time f of b.

To find the best fit in this horizontal strip, we need to find a feasible region in this strip whose x co-ordinate is less than or equal to the starting time r of the burst b.

For this, we calculate the set of allocation nodes Aa(2) for each node a in the set A(1).

Once feasible region consisting of all such sets A(2) is found, we can obtain the best fit interval by following the pointer maintained for minimum projection distance in each node. The interval with the minimum projection distance will be our best fit interval.

Page 82: Scheduling Algorithms in OBS

82

Running time of Best Fit

Search the allocation nodes for best fit takes O(log m) and since there are O(log m) many allocation nodes in the tree, the total time for searching best fit is O(log2 m).

Storage required is O(m log m) because each leaf node can appear in at most O(log m) trees.

Page 83: Scheduling Algorithms in OBS

83

Scheduling time of the burst

To assign a best fit, one only needs to perform a query operation and a constant number of insertion and deletion operations. Thus, the scheduling time for a burst is amortized O(log2m).

Page 84: Scheduling Algorithms in OBS

84

QoS integration

QoS is an extremely important aspect of IP-over-WDM.

QoS support involves extension of existing algorithms/reservation protocols to achieve fairness.

Prioritized OBS: pJET, an extension of the JET protocol

Page 85: Scheduling Algorithms in OBS

85

pJET: prioritized OBS protocol

Bursts are classified into multiple classesDifferentiated services are providedExtra offset time denoted to class of higher

priority

Page 86: Scheduling Algorithms in OBS

86

pJET Example

Example:Let the bursts be categorized into classes 0 and 1,

with 1 being higher priority req(i) = class i request, with i = 0, 1

tai = arrival time of class i request

tsi = service time of class i request

li = burst length of req(i)

Extra offset time assigned only to class 1 requests

Page 87: Scheduling Algorithms in OBS

87

pJET example (continued)

Assumption: no FDLs availableUpon arrival, req(0) will try to reserve bandwidth

immediately.– If bandwidth available, request will be serviced

immediately. Here, ta0 = ts0.

– Else, request dropped (assuming no FDLs)

For a class 1 request, DR is made with an extra offset time. Hence upon successful reservation, ts1 = ta1 + toffset.

Page 88: Scheduling Algorithms in OBS

88

pJET example (continued)

Case 1: req(1) arrives before req(0)– req(1) reserves bandwidth– req(0) will be dropped if ta0 < ts1 but ta0 + l0 > ts1, or if

ts1 < ta0 < ts1 + l1. Case 2: req(0) arrives before req(1)

– When ta1 < ta0 + l0, req(1) would be blocked were it not for the toffset assigned to req(1)

– As long as ts1 = ta1 + toffset > ta0 + l0– If ta1 > ta0, toffset needs to be longer than the maximum burst

length over all class 0 bursts in order for req(1) to completely avoid being blocked by req(0)

Page 89: Scheduling Algorithms in OBS

89

pJET example (continued)

Page 90: Scheduling Algorithms in OBS

90

Proposed Prioritized Algorithms

Merit based Scheduling algorithm– Uses a figure of merit based on burst

properties to define priority

Generalized LAUC-VF– Proposes an infrastructure to generalize the

existing LAUC-VF algorithm to include Diffserv QoS features

Page 91: Scheduling Algorithms in OBS

91

Merit-based algorithm

Motivation: QoS incorporated protocols may suffer from the phenomenon of decreasing residual offset time– In one way reservation protocol of OBS, the source

sends a reservation request control packet and then waits for an initial offset time, T.

– The residual offset time Rj at hop j, which is the time remaining until the data burst arrives, decreases at each hop due to the control packet processing time d, i.e.

Rj = T – (j – 1)d

Page 92: Scheduling Algorithms in OBS

92

– Current QoS incorporation into JET and LAUC-VF algorithms involves the use of the offset time for priority scheduling. It relies on the fact that requests for reservation further into the future are more likely to succeed.

– In fact, as bursts proceed through a network, the residual offset time Rj decreases.

– Thus, the further a burst goes, the more likely it is to be blocked, leading to many bursts consuming many network resources only to be blocked not far from their destinations.

Page 93: Scheduling Algorithms in OBS

93

The residual offset time phenomenon

The JET reservation protocol, showing reduction of residual offset time, R j.

Page 94: Scheduling Algorithms in OBS

94

The merit based algorithm attempts to overcome the adverse effects of decreasing residual offset time by a preemption mechanism.

It implements preemption based on a measure of the likelihood of successful delivery of each burst and of how much transmission time each burst has consumed.

Page 95: Scheduling Algorithms in OBS

95

Description of algorithm

Each switch in an OBS network sees arriving burst with a variety of residual offset times.

Some may be close to their destinations, but have a small residual offset time.

Instead of using the offset time as a metric for assigning priority, use a figure of merit to rank an arriving burst against ones already scheduled for transmission.

Preempt the one which will cause the least impact in terms of lost resources in favor of the new arrival.

Page 96: Scheduling Algorithms in OBS

96

The Measure V(B)

The measure V(B)– A function of the empirical properties of a burst:

• Its route length, L(B)• Its current hop count, H(B)• Its residual offset time, R(B)• Its initial offset time at the source, T(B)• Its duration in time, D(B)

– This algorithms aims to give priority to burst which have gone a long way already and have a long route. Thus, V(B) = H(B).L(B). Further priority can be given to bursts which are closer to their destinations (small L – H). Next slide shows some possible metrics.

V(B) indicates how deserving B is of assistance in reaching its destination.

– V(B) should be higher if B is close to its destination or has already consumed large amounts of transmission time.

Page 97: Scheduling Algorithms in OBS

97

Possible Metrics V(B) Metric 1

• H(B).L(B)• Prefers bursts which have gone far on a long route

Metric 2• H(B).L(B) / (L(B) – H(B))• Prefers bursts which have gone far on a long route and are close to their destination

Metric 3• H(B) + L(B)• Same as Metric 1 but additive

Metric 4• (H(B) + L(B))/(L(B) – H(B))• Same as Metric 2 but additive

Metric 5 • T(B) / R(B)• Prefers bursts with small residual offset time (relative to initial offset time at

source)

Page 98: Scheduling Algorithms in OBS

98

How the algorithm works

When a new burst Ba arrives, the control packet processor invokes the LAUC-VF algorithm to attempt to find a new algorithm– If LAUC-VF succeeds, the algorithm terminates– Else, the Merit-based algorithm is executed

Upon execution, the merit based algorithm calculates a “figure of merit fi” for each wavelength i:

• fi = max ( V(B) values of the set of contending bursts on i )

Page 99: Scheduling Algorithms in OBS

99

Such figure of merit values are calculated over all available wavelengths

These values are compared against the V(Ba) of the new arrival.

Q forms the set of all wavelengths which has lesser fi value than V(Ba).

Select the wavelength with the minimum figure of merit in this set Q.

All bursts on this wavelength are preempted, and Ba is scheduled in their place.

Page 100: Scheduling Algorithms in OBS

100

Simulations (1)

Page 101: Scheduling Algorithms in OBS

101

Simulations (2)

Page 102: Scheduling Algorithms in OBS

102

G-LAUC-VF

Generalized LAUC-VFA generalization of LAUC-VF to include

Diffserv QoS features. This algorithm shows how to ensure QoS on OBS WDM networks

Data bursts are partitioned into n classes based on their QoS requirements

Page 103: Scheduling Algorithms in OBS

103

G-LAUC-VF algorithm

At the ingress edge router, data burst is assembled by aggregating the packets of the same QoS class and with the same destination egress edge router

At the core router, data bursts associated with an outgoing link are scheduled by the scheduler associated with that link

For each link, its scheduler maintains n queues Q1, Q2, .., Qn, with Qi being used to store the BHPs of class i in the FIFO order

For each slot, the algorithm is executed onceUses LAUC-VF as a sub-algorithm

Page 104: Scheduling Algorithms in OBS

104

begin

for i = 1 to n do

while Qi has BHPs belonging to the current slot do

begin

BHPi := dequeue(Qi);

use LAUC-VF to schedule DBi corresponding to BHPi

end

end

G-LAUC-VF Algorithm

Page 105: Scheduling Algorithms in OBS

105

Assuming that class i DBs have higher priority than class j DBs, this algorithm ensures that the DBs whose BHPs are in Qi are scheduled before the DBs whose BHPs are in Qj.

Simulations on next few slides compare the drop rates of LAUC-VF and G-LAUC-VF without FDLs.

Ongoing work on FDL addition and further QoS performance by assigning different lengths and offset times to bursts of different classes

Page 106: Scheduling Algorithms in OBS

106

An end-to-end optical network

In this example, three classes of DBs are shown:

Class-1, Class-2 and Class-3,

Order of priority

Class-1>Class-2>Class3

Page 107: Scheduling Algorithms in OBS

107

Simulations(1)

Average drop rate of Class-1 DBs vs. peak data rate

Page 108: Scheduling Algorithms in OBS

108

Simulations (2)

Average drop rate of Class-2 DBs vs. peak data rate

Page 109: Scheduling Algorithms in OBS

109

Simulations(3)

Average drop rate of Class-3 DBs vs. peak data rate

Page 110: Scheduling Algorithms in OBS

110

Observations

Simulations (1) shows that the drop rates of Class-1 traffic is significantly reduced by the G-LAUC-VF algorithm.

The price paid for improved Class-1 drop rate is the worsened performance only for Class-3 data bursts.

Results based on assumption that that no buffers are used.

Page 111: Scheduling Algorithms in OBS

111

References

C. Qiao and M. Yoo, “Optical Burst Switching (obs) – a new paradigm for an optical internet”.

Jinhui Xu, Chunming Qiao, Jikai Li, and Guang Xu, “Efficient Channel Scheduling Algorithms in Optical Burst Switched Networks”.

Mei Yang and S.Q. Zheng, “A QoS Supporting Scheduling Algorithm for Optical Burst Switching DWDM Networks”.

C. Qiao and M. Yoo, “Choices, Features and Issues in Optical Burst Switching”.

Jolyon A. White, Rodney S. Tucker, and Keping Long, “Merit-based Scheduling Algorithm for Optical Burst Switching”.

J. B. Chang and C. S. Park, “Efficient Channel Scheduling Algorithm in Optical Burst Switching Architecture”.

Page 112: Scheduling Algorithms in OBS

112

References (2)

Y. Xiong, M. Vandenhoute, and H.C. Cankaya, “Control Architecture in Optical Burst-Switched WDM Networks,” IEEE Journal on Selected Areas in Communications, vol. 18, pp. 1838-1851, 2000.

J. Turner, “Terabit Burst Switching,” Journal of High Speed Networks, vol. 8, pp. 3-16, 1999.

Klaus Dolzer, Christoph Gauger, Jan Spath, and Stefan Bodamer, “Evaluation of Reservation Mechanisms for Optical Burst Switching”.