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

Slides:



Advertisements
Similar presentations
Traffic Control and the Problem of Congestion within the Internet By Liz Brown and Nadine Sur.
Advertisements

Decision Maths Networks Kruskals Algorithm Wiltshire Networks A Network is a weighted graph, which just means there is a number associated with each.
Airline Schedule Optimization (Fleet Assignment I)
A Decision Support System for Improving Railway Line Capacity G Raghuram VV Rao Indian Institute of Management, Ahmedabad.
Algorithm Design Methods (I) Fall 2003 CSE, POSTECH.
Algorithm Design Methods Spring 2007 CSE, POSTECH.
Lindsey Bleimes Charlie Garrod Adam Meyerson
Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
Approximations of points and polygonal chains
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Discrete Math for Computer Science. Mathematical Model Real-world Problem Computerized Solution Abstract Model Transformed Model picture of the real worldpicture.
Optimal Instruction Scheduling for Multi-Issue Processors using Constraint Programming Abid M. Malik and Peter van Beek David R. Cheriton School of Computer.
CSE 380 – Computer Game Programming Pathfinding AI
Force directed graph drawing Thomas van Dijk. The problem Given a set of vertices and edges, compute positions for the vertices. If the edges don’t have.
Algorithm Strategies Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Lecture 1: Introduction to the Course of Optimization 主講人 : 虞台文.
Two types of search problems
Maintenance Routing Gábor Maróti CWI, Amsterdam and NS Reizigers, Utrecht Models for Maintenance Routing 2nd AMORE Seminar, Partas, 30.
Simulated Annealing 10/7/2005.
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
ECE Synthesis & Verification - Lecture 4 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Allocation:
ASC Program Example Part 3 of Associative Computing Examining the MST code in ASC Primer.
D1: Matchings.
Routing 2 Outline –Maze Routing –Line Probe Routing –Channel Routing Goal –Understand maze routing –Understand line probe routing.
1 Ford-Fulkerson method Ford-Fulkerson(G) f = 0 while( 9 simple path p from s to t in G f ) f := f + f p output f Runs in time O(|f max | |E|) where f.
Traveling Salesman Problem Continued. Heuristic 1 Ideas? –Go from depot to nearest delivery –Then to delivery closest to that –And so on until we are.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Copyright R. Weber Search in Problem Solving Search in Problem Solving INFO 629 Dr. R. Weber.
© J. Christopher Beck Lecture 18: Service Scheduling & Timetabling.
Spring 2015 Mathematics in Management Science Network Problems Networks & Trees Minimum Networks Spanning Trees Minimum Spanning Trees.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 12: February 13, 2002 Scheduling Heuristics and Approximation.
CY2003 Computer Systems Lecture 09 Memory Management.
Constraint propagation is your friend Ian Horswill and Leif Foged Northwestern University.
Online Algorithms By: Sean Keith. An online algorithm is an algorithm that receives its input over time, where knowledge of the entire input is not available.
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Artificial Intelligence in Game Design Dynamic Path Planning Algorithms.
Optimal Fueling Strategies for Locomotive Fleets in Railroad Networks Seyed Mohammad Nourbakhsh Yanfeng Ouyang 1 William W. Hay Railroad Engineering Seminar.
Foundations of Data Structures Practical Session #13 Graphs Algorithms.
Locating Locomotive Refueling Stations Problem Description Kamalesh Somani, on behalf of RAS 2010 Problem Solving Competition Committee November 06, 2010.
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
CIRCUITS, PATHS, AND SCHEDULES Euler and Königsberg.
1 Inventory Control with Time-Varying Demand. 2  Week 1Introduction to Production Planning and Inventory Control  Week 2Inventory Control – Deterministic.
Optimization Problems
Static Process Scheduling
Put a different number in each circle (1 to 8) such that adjacent circles cannot take consecutive numbers.
Algorithm Design Methods 황승원 Fall 2011 CSE, POSTECH.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Presented by: Dardan Xhymshiti Spring 2016:. Authors: Publication:  ICDM 2015 Type:  Research Paper 2 Michael ShekelyamGregor JosseMatthias Schubert.
Management Science 461 Lecture 7 – Routing (TSP) October 28, 2008.
Carnegie Mellon Lecture 8 Software Pipelining I. Introduction II. Problem Formulation III. Algorithm Reading: Chapter 10.5 – 10.6 M. LamCS243: Software.
Network Analyst. Network A network is a system of linear features that has the appropriate attributes for the flow of objects. A network is typically.
1 Chapter 13 Mathematical models of networks give us algorithms so computationally efficient that we can employ them to evaluate problems too big to be.
TU/e Algorithms (2IL15) – Lecture 11 1 Approximation Algorithms.
BackTracking CS255.
Dijkstra’s shortest path Algorithm
Algorithm Design Methods
ISP and Egress Path Selection for Multihomed Networks
ElasticTree: Saving Energy in Data Center Networks
Exam 2 LZW not on syllabus. 73% / 75%.
Copyrights (H.Rashidi & E.Tsang)
Chapter 15 Graphs © 2006 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
Networks Kruskal’s Algorithm
Algorithm Design Methods
EE5900 Advanced Embedded System For Smart Infrastructure
Algorithm Design Methods
What is Computer Science About? Part 2: Algorithms
The N-Queens Problem Search The N-Queens Problem Most slides from Milos Hauskrecht.
Maximum Flow Neil Tang 4/8/2008
Algorithm Design Methods
CS137: Electronic Design Automation
Presentation transcript:

Using Hardware Scheduling Methods Peter Lieber ECEn December 2009

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

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

Public Transit Good Bad

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

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

Model Trains Good Bad

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!

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

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?

Traditional Approach - Example Their parameters:

Traditional Approach - Example Their parameters:

Traditional Approach - Example Their parameters:

Traditional Approach - Example Their parameters:

Traditional Approach - Example Their decision variables:

Traditional Approach - Example Their decision variables:

Traditional Approach - Example Their Objective Equations: Fuel Consumption Cost

Traditional Approach - Example Their Objective Equations: Travel Time Cost

Traditional Approach - Example Their Constraint Equations

Traditional Approach - Example Their Constraint Equations

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

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

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

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++ }

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

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

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) } … }

Backtracking Greedy Algorithm ab f c g de 2 22

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++ }

Restarting BT Greedy Alg ab f c g de 2 22

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?

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++ }

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++ }

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!!!

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

Mapping to IMS abcdedcb abfcgb edcfbgcd bfcgbfcg