static wcet analysis vs. measurement: what is the right way to access real-time task timing? david...
TRANSCRIPT
Static WCET Analysis vs. Measurement:
What is the Right Way to AccessReal-Time Task Timing?
David Fleeman { [email protected] }
Center for Intelligent, Distributed & Dependable SystemsOhio University
Athens, OH
Panel SessionWPDRTS 2004April 26, 2004
2
Organization of the Panel
• Introduction– David Fleeman
Center for Intelligent, Distributed & Dependable Systems (CIDDS),Ohio University, USA.
• Speakers– Christian Ferdinand
“Worst Case Execution Time Prediction by Static Program Analysis”
– Charles Cavanaugh“On Static WCT Analysis vs. Run-time Monitoring of Execution Time”
– Frank Mueller“Timing Analysis: In Search of Multiple Paradigms”
• Panel Discussion– Peter Puschner
Technische Universitat, Vienna, Austria.
3
Introduction
• Two common methods to calculate/collect resource usage profiles:– Static WCET Analysis– Measurement
• Compiler-time analysis of the code can be used to determine the longest execution sequence.
• Simulation of an application can be used to gather measured execution time.
• If you have resource usage profiles for all applications (and some additional information), then you can estimate/calculate the execution time of a particular application when deployed.
• This panel will explore the methods and the benefits / drawbacks of both Static WCET Analysis and Measurement.
4
What Types of Applications?
• Hard Real-Time: Can not miss deadlines.
• Firm Real-Time: Acceptable to temporarily miss deadlines.
• Soft Real-Time: Acceptable to miss deadlines, but not desirable.
• Non Real-Time: Batch jobs and best-effort
5
What Types of Applications?
Multiple Levels of Fidelity
Affected by Environmental Factors
No Fixed Dynamic
Yes Adaptable Dynamic, Adaptable
• Fixed: Execution requirements do not change
• Dynamic: Execution requirements are dependent on environmental conditions such as load.
• Adaptable: Execution requirements are dependent on the current level of fidelity such as at a lower frame rate for the UAV system.
6
A Motivating Application System
• Extrinsic Attributes (QARMA terminology)– Environmental conditions that are out of the control of the system that
may affect both the resource usage and the “benefit / utility” of the system.
• Service Attributes (QARMA terminology)– Control knobs that can be adjusted to affect both the resource usage
and the “benefit / utility” of the system.
• Image Processing System– EA: Camera Capture Rate from 0 images/sec to 3 images/sec– EA: Cloud Cover of the Earth’s atmosphere from 0-100%– SA: Pixel Percentage to be processed (discrete set)– SA: Compression algorithm (discrete set)
• The cyclic execution time dependent on the pixel percentage and compression algorithm. The total resource usage also dependent upon the camera rate.
7
Issues With Measurement
• Profile the cyclic execution time of each application at the various settings for service and extrinsic attributes.
– May be difficult to simulate appropriate extrinsic attributes that will cover all run-time situations.
– May be difficult to isolate the application from the rest of the system in order to avoid unwanted contention.
– May not capture actual WCET resulting in possible missed deadlines at run-time.
– Must repeat this process for a lot of profiling points.
8
Issues With Static WCET Analysis
• Profile the cyclic execution time of each application at the various settings for service and extrinsic attributes.
– We defer this question to the panel?
9
Interesting Questions
• Can Static WCET Analysis be used to capture WCET for a particular configuration and/or environment for a dynamic and adaptable system?
• In normal execution, how much of the CPU resource is under-utilized while reserving cycles for the WCET scenario?
• Can Static WCET Analysis and Measurement be used in tandem to improve system performance?
10
Perhaps Another Discussion: Run-Time Issues
• Operating System– Interrupts– Scheduling Algorithm– Real-time or not
• Contention for Shared Resources Affects Execution Time– Disk accesses– Bandwidth through network channels– Memory paging
• How do you calculate the execution time for the actual deployed application when we have all these run-time issues?
• How useful are these WCET and measured profiles?