rapidrma
DESCRIPTION
Evaluation of RapidRMA software by ATL Intern Eddie JesinskyTRANSCRIPT
2
Overview NASA/WVU Applied Technology Lab
Tri-Pacific Software
What is it?
Rate Monotonic Scheduling
Rate Monotonic Analysis
RapidRMA Background
Tutorial
IV&V ATL
3
RapidRMA Overview Use
Benefits
Features
Capabilities
Requirements
Cost
Maturity
Installation
Tutorial
IV&V ATL
4
Applied Technology Lab
Established: 2007
Partnership between WVU and NASA's Independent Verification and Validation (IV&V) facility in Fairmont, WV
Research software engineering technologies that improve and enhance the way NASA produces safe and reliable system software.
http://atl.wvu.edu
Director:
Dr. Tim Menzies, Ph.D.
IV&V ATL
5
Tri-Pacific Software Founded in 1984 to provide consulting, customized training, and
software development services
Chosen by the Software Engineering Institute (SEI) to be in a technology exchange to bring Rate Monotonic Analysis to industry
Worked with the University of Illinois at Champaign-Urbana to incorporate their RMA research into a commercially available tool called PERTS- Prototyping Environment for Real-Time Systems – now RapidRMA
Founded by Peter Kortmann, President, and Fred Kortmann, CFO
http://www.tripac.com
IV&V ATL
6
What is it? Allows real-time systems software developers to prevent costly
design mistakes and accelerate their development schedules
Allows users to study the effects and relationships of various parameters in the system that directly affect the schedulability of the entire task set
Multiple analysis tools allow designers to test software models against various design scenarios and evaluate how different implementations can optimize performance
Implements object oriented resource contention protocol, Distributed Affected Set Priority Ceiling Protocol (DASPCP), developed by University of Rhode Island and SPAWAR
IV&V ATL
7
Rate Monotonic Scheduling Preemptive
Interrupts tasks and resumes them later As opposed to Cooperative – allows tasks to finish
Fixed Priority
Static: task period must be known in advance Rate Monotonic Prioritization
Shorter the period, higher the priority Other solutions: Deadline Monotonic – earliest deadline first
IV&V ATL
8
Rate Monotonic Analysis Collection of quantitative methods and algorithms for predicting
whether a system will meet its timing and throughput requirements when it is operational
Guarantees that a system is schedulable with a set of given requirements
Requires that the total task utilization be less than or equal to the utilization bound
Total task utilization:
C1/T
1 + ...C
N/T
N
Utilization bound:
U(N) = N(21/N - 1)
- Ci = worst case task-execution time of each task i
- T i = period of each task i
- i ranges from 1 to N
Ref: Liu & Layland (1973)
IV&V ATL
9
Rate Monotonic Analysis - 2
Example:
Task Characteristics:
Task Work PeriodA 5 20B 10 40C 12 60
Total Task Utilization:
5/20 + 10/40 + 12/60 = 0.25 + 0.25 + 0.20 = .7 = 70%
Utilization Bound:
U(3) = 3(21/3 – 1) = 0.779 = 77.9%
Pessimistic – based on worst-case execution time of each task – guarantees schedulability
Tasks still may be schedulable if they exceed the utilization bound – response time test must be performed based on processor time demand
IV&V ATL
10
RapidRMA Overview Use
Benefits
Features
Capabilities
Requirements
Cost
Maturity
Installation
Tutorial
IV&V ATL
11
Use Problem commonly revealed as a result of RMA: priority
inversion
Execution of higher priority thread forced to wait for a lower priority thread to release a resource
Mars Pathfinder
Failure to enable protection against priority inversion Before launch testing limited to “best-case” high data
rates and science activities RapidRMA performs “worst-case” schedulability analysis
Could have been caught in testing
IV&V ATL
12
Benefits Allows cost effective testing and modeling of systems
Guarantees schedulability under “worst case” conditions
Isolates and identifies timing problems
Provides “what if” support to identify bottlenecks and performance issues
Prevents users from performing unnecessary tasks
Recompiling and executing the software to see if a change worked
Moving functionality from a task to an interrupt service routine
Re-allocating resources that can be analyzed in the model before being implemented in the software
IV&V ATL
13
Features Timing and scheduling analysis environment
Utilizes powerful Rate Monotonic Analysis methodology
Provides support for the following algorithms and analysis:
Rate Monotonic Deadline Monotonic Cyclic Executive ROSA Aperiodic Simulation
Interfaces for Ilogix Rhapsody and IBM/Rational Rose Real-Time RT-UML support, and Wind River's WindView
Support for Real-Time CORBA semantics
Also:
- Periodic task handling- Aperiodic job handling
IV&V ATL
14
Capabilities RapidRMA is for:
Hard real-time systems – flight control, medical device Soft real-time systems – networks, telecommunications
Used:
During system design: to validate the timing requirements of a new system before coding
When prototyping: to identify potential architecture problems and revalidating timing requirements
On existing system: to pinpoint potential timing problems and bottlenecks in the architecture
Iteratively throughout the life of the system: will changes to the system alter the timing requirements?
IV&V ATL
15
Capabilities - 2IV&V ATL
16
RapidRMA Overview Use
Benefits
Features
Capabilities
Requirements
Cost
Maturity
Installation
Tutorial
IV&V ATL
17
Requirements Windows 2000, XP, Solaris, Linux Java Run-Time Environment Short 1-2 day tutorial required for basic RMA
knowledge Can be incorporated into existing software
engineering processes with relative ease incrementally
Abstracting the system architecture takes a different type of thinking
IV&V ATL
18
Cost RapidRMA Licensing (January 2008 Price List)
Node Locked License: $4995.00 per seat Floating License: $7995.00 per seat Node Locked License for RT UML: $6995.00 per seat Floating License for RT UML: $9995.00 per seat
Maintenance: 19% retail cost
Training: $4000 + expenses/day or $3500 each for 2
Consulting: $3250/day or $3000/day with 25 day block
Quick Start Program: $50,000 (20 days combined training and mentoring for first 2 months of project
IV&V ATL
19
Maturity In 1989 IBM applied RMA to a sonar training system,
allowing them to discover and correct performance problems
Recommended by IBM Federal Sector Division (now Lockheed Martin) for its real-time products since 1990
RMA was applied successfully by the US Navy to an active and passive sonar of a major submarine system
RMA was adopted in 1990 by NASA for development of real-time software for the space station data management subsystem
IV&V ATL
20
Installation Download the Java 1.6 runtime environment from
http://java.sun.com/javase/downloads/index.jsp Purchase a license key from [email protected] Download your version of RapidRMA from
http://tripac.com/html/downloads.html Install both the Java 1.6 runtime environment and
RapidRMA executables Cut and paste the license text you received into the
license.lic dummy file in the RapidRMA directory after it has been installed
IV&V ATL
21
Tutorial Introduction RapidRMA has three major sections
Resource Editor Task Editor Schedulability Analyzer
The Resource Editor and Task Editor each have two views
Graph Editor Spreadsheet Editor
IV&V ATL
22
Resource Graph Editor Define the
system resources to be used by the tasks in the Task Graph editor.
IV&V ATL
23
Task Graph Editor Define the tasks
of the system to be modeled in the Task Graph Editor
IV&V ATL
24
Schedulability Analyzer Use the
Schedulability Analyzer to analyze the model defined in the Task and Resource Graphs.
IV&V ATL
25
Importing Data
You can skip the defining of resources and tasks by using the Import interface.
Perts Models Import Previous PERTS
models into RapidRMA form
WindView Users Directly import from WindView
2 log file
ObjecTime Users Directly import a Developer
linear form model
Select the linear form files generated by Developer 5.2
Illuminator Users Directly import from an
Illuminator log file
IV&V ATL
26
Defining the Resources
1) Add root nodes and child resources2) Define the parameters of each resource
IV&V ATL
27
Defining the Resources
3) Show any resource accesses across nodes and DASPCPconflicting nodes
IV&V ATL
28
Defining the Tasks
1) Use the Task Graph Editor to define tasks
IV&V ATL
29
Defining the Tasks
2) Specify the parameters of each task: Period, Amount of Work,Relative Deadline, Active Resource
IV&V ATL
30
Required Task Parameters Period
Can be either periodic (Deterministic) or aperiodic (Uniform, Exponential, or Histogram)
Amount of Work Can be either periodic (Deterministic) or aperiodic (Uniform, Exponential,
or Histogram)
Relative Deadline The point in time relative to the ready event by which the response must
be complete for the timing behavior of the response to be correct
Active Resource The name of the node and CPU that the task will run on in the form
NodeName.CPU (Resource ID)
IV&V ATL
31
Specify Task Parameters
The Add Resource Dialog Allows you to add,
remove, and change the resources used by a task
When you specify that a task uses a resource, you must specify the time intervals in which it is used
IV&V ATL
32
Specify Task Parameters
A task may require one or more resources. Each resource requirement for a task has a start
and finish time. A resource requirement can involve multiple
numbers of the resource.
IV&V ATL
33
Show Task Dependencies
Show any dependencies between tasks. End-To-End Analysis is not possible unless
dependencies are defined.
IV&V ATL
34
Aperiodic Tasks RapidRMA bind aperiodic tasks to periodic
servers RapidRMA assigns each aperiodic task to
a unique periodic server within a node During Single-Node Analysis or from the
Task Graph Editor, you can reassign aperiodic tasks to different servers
You can select among various types of periodic servers (sporadic, polling, etc)
IV&V ATL
35
Define Intermediate Deadlines
To model a CORBA system, each client is automatically segmented into a sequence of dependent tasks.
Use intermediate deadlines to define where the client accesses CORBA services.
IV&V ATL
36
Run Schedulability Analysis
Specify the analysis type Specify the algorithm and priority assignment
IV&V ATL
37
Select Analysis Type
Single-Node Analysis Show the schedulability of tasks and resources assigned
to a single node, and provides powerful what-if modeling tools
Multiple-Node Analysis Allows the assignment of tasks to nodes, partitions
resources among nodes, and shows the schedulability results of a complete multiprocessor system
End-To-End Analysis Shows whether each task can always meet its deadlines,
providing worst-case completion times
IV&V ATL
38
Single Node Analysis
Shows details about the selected node. Data about each task is included.
IV&V ATL
39
Multiple Node Analysis
With Auto Binding, only schedulable tasks are assigned to nodes.
You can use one of 4 algorithms for Auto Binding:
First Fit: Each task is assigned to the first node where schedulability is guaranteed
Best Fit: Each task is assigned to the node which may result in the least amount of blocking
Next Fit: As many tasks as possible are assigned to each node in turn
Worst Fit: Each task is assigned to the node which may result in the greatest amount of blocking
IV&V ATL
40
End To End Analysis End-To-End Scheduling looks at the schedulability
of a system with one or more paths of execution defined by a series of dependencies between tasks.
The worst-case completion time is given on each node.
Single-Node Analysis can also be performed on each node.
IV&V ATL
41
Time Demand Analysis
Time Demand Analysis shows the graph of time demand vs time supply
Both schedulable and non-schedulable tasks are shown
IV&V ATL
42
Processor Utilization Analysis
The Utilization dialogue shows the selected task, higher tasks, and any blocking
Details are available by clicking the appropriate button
IV&V ATL
43
Blocking Analysis
Blocking details include information about each blocking occurrence
You can see the next, previous and worst blocking conditions
IV&V ATL
44
What-If Analysis
RapidRMA allows you to do “what-if” analysis on individual tasks
RapidRMA can also propose changes to make the task schedulable
A change in execution time from 40 to 36 will make this task schedulable.
IV&V ATL
45
What-If Analysis
In this example, a change in processing rate for Node_1 to 1.25 (from a base of 1.00) makes this
model schedulable.
IV&V ATL
46
Schedules
You can see a timeline of the schedules for any resources and tasks on a selected node.
IV&V ATL
47
Periodic Server Analysis The Task Graph Editor
shows the periodic servers created by the Schedulability Analyzer
The Aperiodic Task menu lets you review and alter attributes and aperiodic tasks and their periodic servers
IV&V ATL
48
Aperiodic Simulation
The Aperiodic Simulation window lists the servers on the node, the tasks for the chosen server, a choice of complexity levels, and user-definable server parameters
IV&V ATL
49
Resources RapidRMA
http://www.tripac.com/html/prod-fact-rrm.html http://www.tripac.com/html/tech-bkgd-rma.html http://tripac.com/html/downloads.html (RapidRMA
tutorial) http://www.nasa.gov/centers/ivv/doc/207836main_RRMA-RAPIDRMA-WebEval.doc
Rate Monotonic Analysis
http://www.sei.cmu.edu/str/descriptions/rma_body.html http://ece.cmu.edu/~koopman/des_s99/real_time/ http://www.edn.com/archives/1997/090197/18df_03.htm
IV&V ATL
50
QUESTIONS?
Thank you
Eddie Jesinsky, Aaron Higgins – InternsDr. Tim Menzies, Ph.D. - Director
Pier Luigi Long – NASA IV&V
IV&V ATL