static wcet analysis vs. measurement: what is the right way to access real-time task timing? david...

10
Static WCET Analysis vs. Measurement: What is the Right Way to Access Real-Time Task Timing? David Fleeman { [email protected] } Center for Intelligent, Distributed & Dependable Systems Ohio University Athens, OH Panel Session WPDRTS 2004 April 26, 2004

Upload: cathleen-little

Post on 20-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Static WCET Analysis vs. Measurement: What is the Right Way to Access Real-Time Task Timing? David Fleeman { fleeman@ohio.edu }fleeman@ohio.edu Center

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

Page 2: Static WCET Analysis vs. Measurement: What is the Right Way to Access Real-Time Task Timing? David Fleeman { fleeman@ohio.edu }fleeman@ohio.edu Center

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.

Page 3: Static WCET Analysis vs. Measurement: What is the Right Way to Access Real-Time Task Timing? David Fleeman { fleeman@ohio.edu }fleeman@ohio.edu Center

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.

Page 4: Static WCET Analysis vs. Measurement: What is the Right Way to Access Real-Time Task Timing? David Fleeman { fleeman@ohio.edu }fleeman@ohio.edu Center

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

Page 5: Static WCET Analysis vs. Measurement: What is the Right Way to Access Real-Time Task Timing? David Fleeman { fleeman@ohio.edu }fleeman@ohio.edu Center

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.

Page 6: Static WCET Analysis vs. Measurement: What is the Right Way to Access Real-Time Task Timing? David Fleeman { fleeman@ohio.edu }fleeman@ohio.edu Center

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.

Page 7: Static WCET Analysis vs. Measurement: What is the Right Way to Access Real-Time Task Timing? David Fleeman { fleeman@ohio.edu }fleeman@ohio.edu Center

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.

Page 8: Static WCET Analysis vs. Measurement: What is the Right Way to Access Real-Time Task Timing? David Fleeman { fleeman@ohio.edu }fleeman@ohio.edu Center

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?

Page 9: Static WCET Analysis vs. Measurement: What is the Right Way to Access Real-Time Task Timing? David Fleeman { fleeman@ohio.edu }fleeman@ohio.edu Center

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?

Page 10: Static WCET Analysis vs. Measurement: What is the Right Way to Access Real-Time Task Timing? David Fleeman { fleeman@ohio.edu }fleeman@ohio.edu Center

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?