Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using Hardware Scheduling Methods Peter Lieber ECEn 625 2 December 2009.

Similar presentations


Presentation on theme: "Using Hardware Scheduling Methods Peter Lieber ECEn 625 2 December 2009."— Presentation transcript:

1 Using Hardware Scheduling Methods Peter Lieber ECEn 625 2 December 2009

2 I like trains, trains are cool… They go fast They follow a predetermined route They can haul an enormous amount of cargo They sound cool I can play with them until I die They just look cool

3 Public Transit Schedules: The difference between success and failure Good Schedule == economical and enjoyable Bad Schedule == low use and waste of time Infrastructure: Dictates much of the cost of a system Analogues to Binding and Area usage in hardware Better infrastructure can encourage ridership

4 Public Transit Good Bad

5 Freight Schedules: The difference between success and failure Good Schedule == economical and speed Bad Schedule == low use and hard to manage Infrastructure: Dictates much of the cost of a system Analogues to Binding and Area usage in hardware Better infrastructure can get trucks off the road

6 Model Trains Schedules: The difference between bored kids and fun Good Schedule == lots to see Bad Schedule == long waits and short thrills Infrastructure: Cost? We don’t care, we like trains Analogues to Binding and Area usage in hardware Better infrastructure can seem more realistic

7 Model Trains Good Bad

8 Goal Apply what we have learned about hardware scheduling and binding to the train scheduling problem Use what I learn to enable good scheduling of model trains with the goal of : As much movement as possible!

9 Model Not the trains, the circles and lines The common way railroad infrastructure is modeled in the literature Vertices: Railroad stations or important network points Edges: Tracks connecting these points

10 Traditional Approach Develop a model Determine objective(s) and constraints Map model into mathematical formulation Map objectives and constraints into equations Throw it at an ILP solver Sound simple?

11 Traditional Approach - Example Their parameters:

12 Traditional Approach - Example Their parameters:

13 Traditional Approach - Example Their parameters:

14 Traditional Approach - Example Their parameters:

15 Traditional Approach - Example Their decision variables:

16 Traditional Approach - Example Their decision variables:

17 Traditional Approach - Example Their Objective Equations: Fuel Consumption Cost

18 Traditional Approach - Example Their Objective Equations: Travel Time Cost

19 Traditional Approach - Example Their Constraint Equations

20 Traditional Approach - Example Their Constraint Equations

21 My Approach Use hardware scheduling concepts to schedule trains Algorithmic approach rather than ILP Can we use IMS? Start with a simple, greedy approach Move to better algorithms and heuristics

22 Model Layout – track configuration Route – path a train takes on the layout ab f c g de 2

23 Model ab f c g de 2 Route 1: A B C D E D C B Route 2: A B F C G B Route 3: E D C F B G C D Route 4: B F C G B F C G

24 Naïve Greedy Algorithm foreach route { t = 0 while route is not done { if step s of route at time t is not occupied schedule the route's next step at time t t++ else wait at time t (stall) t++ }

25 Naïve Greedy – Results ab f c g de 2

26 Greedy Algorithm t = 0 while any route's schedule is not done { foreach route that is not done { if the route's next segment is no occupied schedule the route's next step at time t else schedule the route's current step again (stall) } t++ } Problem: we can get into deadlock

27 Backtracking Greedy Algorithm t = 0 while any route’s schedule is not done { … if all routes stalled { unschedule stalled steps force the first route to schedule next step foreach other route { if the route's next segment is no occupied schedule the route's next step at time t else if the route's current segment is overfull increase capacity of the next segment schedule the route's next step at time t else schedule the route's current step again (stall) } … }

28 Backtracking Greedy Algorithm ab f c g de 2 22

29 Restarting BT Greedy Alg t = 0 While any route's schedule is not done { foreach route that is not done { … } if all routes stalled { … foreach other route { if the route's next segment is no occupied schedule the route's next step at time t else if the route's current segment is overfull increase capacity of the next segment restart scheduling with new capacities else schedule the route's current step again (stall) } } t++ }

30 Restarting BT Greedy Alg ab f c g de 2 22

31 Improvement Attempts So far, the order of iterating through the routes is not known Can we order them in such a way to minimize route duration? Can we order them to maximize movement?

32 Ordered BT Greedy Algorithm t = 0 while any route's schedule is not done { foreach route that is not done ordered by number of steps left { if the route's next segment is no occupied schedule the route's next step at time t else schedule the route's current step again (stall) } if all routes stalled { … } t++ }

33 Restarting Ord BT Greedy Alg t = 0 While any route's schedule is not done { foreach route that is not done orderd by number of steps left { … } if all routes stalled { … foreach other route { if the route's next segment is no occupied schedule the route's next step at time t else if the route's current segment is overfull increase capacity of the next segment restart scheduling with new capacities else schedule the route's current step again (stall) } } t++ }

34 Challenges Find the right heuristic for route order Next step is to be less greedy Big difference from what we are used to: while an operation of a DG cannot be executed, we usually dont think of it as taking any resources. Under this model, however, the train actually is still using the previous resource. A TRAIN CANNOT BE NOWHERE!!!

35 Mapping to IMS Not only are we resource-constrained, the DGs (routes) are bound already. The DG is ALL routes combined into one, unconnected, graph Each station in the layout is a resource type After running IMS, the required number of each resource is the minimum capacity for that station

36 Mapping to IMS abcdedcb abfcgb edcfbgcd bfcgbfcg


Download ppt "Using Hardware Scheduling Methods Peter Lieber ECEn 625 2 December 2009."

Similar presentations


Ads by Google