Presentation is loading. Please wait.

Presentation is loading. Please wait.

Networked Real-Time Systems: Routing and Scheduling

Similar presentations


Presentation on theme: "Networked Real-Time Systems: Routing and Scheduling"— Presentation transcript:

1 Networked Real-Time Systems: Routing and Scheduling
title text title text Sathish Gopalakrishnan Real-Time Systems Lab University of Illinois

2 Introduction Bus structures provide better guarantees for timely delivery and pre-planned strategies for error recovery in avionics systems. Not all hosts are directly connected to each other so some messages must be routed. Message routing impacts timely delivery of messages and execution of tasks. [Need to meet deadlines!] Automated methods are required to route and schedule periodic message traffic for real-time systems that use bus structures.

3 System model Route determination Route allocation
Outline of the talk System model Route determination Route allocation

4 Interconnection Network
CONTROL PROCESSORS DISPLAY BUS BIU BIU BUS FORCE SENSOR GPS TEMP. SENSOR VIDEO-1 VIDEO-2

5 Assumptions Traffic patterns are well-known at system design time.
Each message stream has a source and several destinations [producer-consumer model]. For each message stream i, there is known period (pi) and data transfer time (ci, based on message size), hence the utilization of each message stream is known (on a canonical bus). If the deadline of a message stream is D and period P, the maximum number of hops that it takes to reach the destination is D/P. Allows us to use RM or EDF schedulers. Analysis is made easy. The network topology is fixed.

6 Path Selection audio/video signals cockpit temperature sensors digital signal processors We need to select a path for a stream from multiple possibilities. Paths should be selected such that all streams are schedulable.

7 System Topology bipartite interconnection network
h1 h2 h3 hn b1 b2 b3 bm

8 Path Enumeration Paths (or more generally trees) can be selected by a depth-first search.
example network h1 ↔ h2 h1b1h2, h1b3h3b2h2 h1 ↔ h3 h1b1h2b2h3, h1b3h3 h1 ↔ h4 h1b1h4 h2 ↔ h3 h2b1h1b3h3, h2b2h3 h2 ↔ h4 h2b1h4 h3 ↔ h4 h3b2h2b1h4, h3b3h1b1h4 system paths

9 Characterizing Traffic Loads
Let M be the number of message streams. Assume every bus has the same characteristics: bandwidth etc. If all are not the same, we can scale the capacities appropriately. For i  M, let ui (= ci/pi) be the utilization of message stream i on a canonical bus. If A is the path chosen for message i, then each bus on A can schedule the periodic task with utilization ui. Pi is the set of all paths that connect the source of message stream i to its destination.

10 Per-Hop Utilization MAP DATABASE ui ui BIU BIU DISPLAY ui GPS

11 Mathematical Programming Formulation
audio/video signals cockpit temperature sensors 60% [fab,1] A B This is a relaxation of the actual problem; we would like to use a few paths for one message stream. After obtaining a fractional solution, we can perform a rounding to restrict the number of paths. 40% [fab,2] digital signal processors If data needs to be sent from A to B, it is possible to split the data among the two paths between A and B via LP [FRAGMENTATION]

12 Resource Constraints If p  Pi, let fp be the portion of ui that is routed on p. All fps must be non-negative. Sum of all fps must be equal to 1. No bus should be overloaded, i.e., all message streams routed on a bus should be schedulable. (Satisfy utilization bounds.) All the constraints are linear.

13 Objective Functions and Optimization
We would like to distribute slack evenly across all buses. Since we will be rounding the fractional solution, this objective function will improve the behavior of the path selection algorithm. At each iteration we fix the route for at least one message and then update constraints before running the optimization again.

14 Utilization Bounds Dynamic Priority Scheduling (EDF)
EDF achieves a utilization of 1. Therefore, at each step we need not adjust the utilization bound per bus. Static Priority Scheduling [RM) The Liu-Layland bound depends on the number of streams allocated to a bus. This would imply that we need to tighten the utilization bounds after each iteration of the optimization algorithm. We can avoid this by pre-computing the periods at which messages might be sent on a bus. This will allow us to fix utilization bound for a bus using the online admission bounds (Lee-Sha).

15 Results and Discussion
Preliminary experiments 150 hosts, 20 buses, 600 messages; average degree of a host is 3 LP solver (CPLEX 8) requires 780ms Acceptable for offline design; can be improved Fragmentation improves slack distribution and computation In experiments, we allowed messages to have up to three fragments The unsplittable flow problem is MAX-SNP hard However, it should be easier when fragmentation is allowed No known bounds when fragmentation is permitted

16 Conclusions Need further work on bounds for such routing
Online algorithms for dynamic traffic How do we determine the multiple paths to use? Minimize the number of messages that miss deadlines Analyze stochastic traffic patterns Real-Time Queuing Theory? Can we map it into a framework for route computation?

17 Sathish Gopalakrishnan Real-Time Systems Lab University of Illinois sgopalak@uiuc.edu
the end


Download ppt "Networked Real-Time Systems: Routing and Scheduling"

Similar presentations


Ads by Google