1 / 112

Scheduling Algorithms in OBS

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

joelle
Télécharger la présentation

Scheduling Algorithms in OBS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Scheduling Algorithms in OBS Harleen Dhillon Chris Parrag

  2. Optical Burst Switching Overview

  3. Introduction • Various switching paradigms • Circuit switching • Packet switching • Burst switching

  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

  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

  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

  7. Burst Switching • Three main variations of burst switching: • Tell-and-go (TAG) • In-band-terminator (IBT) • Reserve-a-fixed-duration (RFD)

  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

  9. Burst switching variations • Bandwidth is reserved at the burst level using a one-way process • A burst can cut-through switches • Theoretically, the size of a burst may be unlimited

  10. TAG • Source sends a control packet on a separate control channel to reserve bandwidth along a data path • No acknowledgement is required • After the burst is sent, another control packet is sent to release the bandwidth

  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

  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

  13. IBT • Comparable to fast circuit switching • In order to release bandwidth, the end-of-burst terminator needs to be detected, which could be difficult

  14. RFD • Use of offset times • A control packet is sent first to reserve bandwidth. • Data sent after offset time, T • Bandwidth is reserved for a duration specified by the control packet • Burst will have a limited maximum size

  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)

  16. JET • Control packet includes value of offset time • If requested bandwidth not available, burst is blocked, and dropped if no buffer space • Delayed 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

  17. JET • FDLs fully utilized in resolving conflicts, unlike TAG and IBT protocols • (Figure)

  18. JET

  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

  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

  21. SCHEDULING ALGORITHMS

  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.

  23. Example of Channel Scheduling

  24. HORIZON

  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.

  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).

  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.

  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.

  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.

  30. Latest Available Unscheduled Channel

  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).

  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?

  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.

  34. 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. LAUC-VF Example

  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.

  36. 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. Example of use of FDLs

  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.

  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).

  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.

  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).

  41. A New Concept

  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

  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).

  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.

  45. Min-SVMax-SVMin-EVMax-EV

  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.

  47. 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. Min-SV/ Max-SV

  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.

  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.

  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.

More Related