A Tool for Describing and Evaluating Hierarchical Real-Time Bus Scheduling Policies
Author: Trevor Meyerowitz, Claudio Pinello, Alberto DAC2003, June 24,2003
Presenter : Tsung-Yu Ho(Seminar Book Page 81)
Abstract
We present a tool suite for building, simulating, and analyzing the results of hierarchical descriptions of the scheduling policy for modules sharing a bus in real-time applications. These schedules can be based on a variety of factors including characteristics of messages and time slicing and are represented in a hierarchical tree-like structure that specifies multiple levels of arbitration. This structure can describe many popular arbitration schemes. Our simulator evaluates the specified scheduling structure on a set of message traces for a given bus.
We illustrate our approach by applying it to two examples: the SAE Automotive Benchmark and Voice Over IP (VoIP). Although this paper deals with just bus scheduling policies, the approach can be easily extended to other real-time scheduling problems.
Outline What’s the Problem Introduction
Scheduling policies Propose a tool suite
Related work Various scheduling
Scheduler representation and evaluation Define representation Describe in language Evaluation
Experiment Result SAE Benchmark VoIP Benchmark
What’s the problem
Increased complexity of interaction between blocks
Previous work focus on selecting process mapping and communication topology Ignore arbitration policy of bus.
In real-time system, most applications have real-time constrained, it is hard to analyze.
Introduction
Focus on the representation and evaluation of various scheduling policies Real-time message among modules communicating
via a shared bus.
Propose a tool suite (called STRANG) Building, simulating, and analyzing the result of
scheduling policy Provide a simple hierarchical language
Describe the arbitration policy Simulate the policy Easy to explore the design space
Scheduling Policies (Related work) This paper is based on well-known scheduling Focus on communicating scheduling (via shared bus) Introduce the popular scheduling as follows:
1.Event-Triggered Scheduling
2.Time-Triggered Scheduling
3.Hybrid Scheduling
1. Event Triggered Scheduling
Based on priority FIFO ordering : simple to implement Fixed Priority : simple to implement EDA (Earliest Deadline First) : best result
Dynamically give priority to message
CAN (Control Area Network) bus Successfully used in event triggered scheduling Use a fixed priority arbitration scheme
Based on id message (id : identifier) Each node can use bus when there is no message
being transmitted. Has more flexible than Time-triggered scheduling
2. Time-Trigger Scheduling
TDMA (Time Division Multiple Access) Policy Divide a period time into several time slices Each time slice is assigned to only one node
Easy to ensure fairness between the nodes
TTP (Time-Triggered Protocol) bus Use the TDMA policy
A lower arbitration overhead than CAN bus Higher bandwidth utilization
Easy to have latencies Because of non periodic message
Inflexible than CAN bus
3. Hybrid Scheduling
Improve Performance by combining Event-Triggered and Time-Triggered Scheduling
Provide the flexibility of CAN with determinism of TTP
Hybrid approaches usually is used in Multimedia domain (like VoIP)
Outline What’s the Problem Introduction
Scheduling policies Propose a tool suite
Related work Various scheduling
Scheduler representation and evaluation Define representation Describe in language Evaluation
Experiment Result SAE Benchmark VoIP Benchmark
Definition A hierarchical arbitration policy schedule
message between p entities communicating via a shared bus P : primary node M : Message ZB: Scheduling Policy MB: a trace on the bus
Goal Pick the best policy
under fitness metric
Characteristics Message and Nodes
Each message has its own priority Sender-id, receiver-id, size, message-id, arrival-time
deadlines of message, time until deadline. Primary Nodes choose available message to bus Bus scheduling policy determine which message go
first Metrics
Find the quality metric The number of missed deadlines The overall execution time The average throughput of the bus
Then choose fitness policy
Tree Representation Arbitration Syntax
P : first custom operation A : arbitration node S : primary/sender node PolicyID: policy name used by node Alloc : the style of time allocation used by node Preemption : preemption policy
Sample Trees CAN Tree
Event-Triggered
TTP Tree Time-Triggered
Hybrid Tree Combined two of these
Examples of TTP
Experiment Result (SAE Benchmark) SAE (Society of Automotive Engineers)
Different protocol at bus speed 100Kbps, 125Kbps, and 250Kbps
53 message type between 7 node 5 second of message trace
SAE Benchmark Evaluation Result (1/1)
SAE Benchmark Evaluation Result(2/2)
Voice over IP Benchmark
G.729A voice codec 10 byte samples every 10 ms
Evaluate 4 types of arbitration policies EDF, FIFO Fixed Priority with RMS (Rate Monotonic
Scheduling) non-preemptive, shortest periods have the highest priorities.
Fixed Priority with DMS (Deadline Monotonic Scheduling) shortest deadlines get the highest priorities
Conclusion
Formulate the problem of scheduling real-time messages on a shared bus
Show the benefit of using hierarchical arbitration policies for optimizing the schedule
Present a tool that can represent a wide variety of trees, and simulate them using message traces.
The results could easily be generalized to evaluate scheduling policies in a variety of other domains.
Top Related