200 likes | 322 Views
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.
E N D
A Tool for Describing and Evaluating Hierarchical Real-Time Bus Scheduling PoliciesAuthor: Trevor Meyerowitz, Claudio Pinello, AlbertoDAC2003, 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
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
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.