Networked Real-Time Systems: Routing and Scheduling title text title text Sathish Gopalakrishnan Real-Time Systems Lab University of Illinois
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.
Outline of the talk System model Route determination Route allocation
Interconnection Network CONTROL PROCESSORS DISPLAY BUS BIU BIU BUS FORCE SENSOR VIDEO-1 GPS TEMP. SENSOR VIDEO-2
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.
cockpit Path Selection audio/video signals 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.
System Topologybipartite interconnection network h1 h2 h3 hn b1 b2 b3 bm
Path EnumerationPaths (or more generally trees) can be selected by a depth-first search. h1 h2 h3 h4 b1 b2 b3 example network system paths
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.
Per-Hop Utilization MAP DATABASE ui ui BIU BIU DISPLAY ui GPS
cockpit Mathematical Programming Formulation audio/video signals 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]
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.
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.
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).
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
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?
Sathish GopalakrishnanReal-Time Systems LabUniversity of Illinoissgopalak@uiuc.edu the end