Title: Model-Based Fault Adaptive Real-Time Scheduler
1Model-Based Fault Adaptive Real-Time Scheduler
- Ben Abbott, Jeremy Price
- -- Southwest Research Institute
(SwRI) -
- Sandeep Neema, Gabor Karsai
- -- ISIS/ Vanderbilt
Contact BAbbott_at_SwRI.org NeemaSK_at_.vuse.vanderbilt
.edu
Work partially funded by DARPA PCA contract
F30602-01-C-0078
DARPA MoBIES contract F33615-01-C-1909
2Outline
- Objective
- Background
- Real-time Scheduling
- ASC scheduler
- Model Integrated Computing
- Examples
- MoBIES inspired Avionics
- Extension including Communication Scheduling
- PCA inspired -- Signal Exploitation
- Conclusion
3Objective
- Provide a composable framework for real-time
scheduler synthesis - Support Runtime Adaptation based on
- Scheduler objectives integrated with overall
system objectives - Modeled performance tradeoffs
- System state changes faults, objectives,
resource changes - Transition smoothly to/from classic scheduling
paradigms - Provable
- Extensible
4Generic Real-Time Scheduler
Scheduler State
Scheduling Policy Static RMS Dynamic EDF etc.
Selector choose highest context- switch
Task 1 State
Perform Task
Priority
Task N State
Ready, Rate, etc.
- Real-Time
- Allocation of time and resources to tasks such
that timing constraints are met - Timing constraints range from Soft to Hard
5Scheduling PolicyRate Monotonic (RMS)
- Always schedules the (ready) task with the
highest arrival rate - Priorities are static
- Optimal for static priorities (with conditions)
- Sufficient condition
- Graph of task priority
6Scheduling PolicyEarliest Deadline First (EDF)
- Always schedules the (ready) task with the
earliest deadline - Priorities are dynamic
- Optimal for dynamic priorities (with conditions)
- Several similar dynamic approaches -- example
least slack - Graph of task priority
- Ignores additional system parameters
- Misses all task deadlines in overload (regardless
of importance)
7- Want scheduling policy that incorporates system
parameters
- Adaptive Service Coordination (ASC) Scheduler
- Describe scheduler coordination using generic
information in the form of - equations, state machines, and rules
- include application specific system parameters
- Synthesize domain specific real-time schedulers
for distributed systems from models - Support provable and heuristic-based schedulers
- Utilize a model-based approach for scheduling
policy integration
8ASC Scheduler
9ASC Scheduler Characteristics
- Implements classic schedulers
- RMS, LS, EDF, etc.
- Transitions from deterministic to heuristic or
stochastic solutions - Provides a powerful interface for automatic
program generator specialization
10Model Integrated Computing From Models to
Systems via Generation (ISIS technology)
Two methods of programming
Requirements
Manual
Source code In general-purpose language
Compile
Implementation
Conventional
11Meta-programmable Modeling Tool Generic
Modeling Environment (ISIS technology)
Using the same core modeling tools for
everything
- Efficient AND Affordable
- Modeling
- Model databases, graphical modeling tools
are extremely expensive to develop (20-30
man-year) - GME use COTS and metaprogrammable solutions
domain-specific customization takes only hours - Opens up new opportunities Design your
domain specific modeling language for your
RD program and configure the modeling and
model repository tools using libraries.
METAMODELERS TOOLS
Metaprogrammable
Graphical Modeling Tool
Meta - Modeling
Implemented by
Environment
Implemented by
creates
DOMAIN MODELERS TOOLS
configures
MetaModel
Domain -
Modeling
of
Environment
Domain
creates
Implemented by
Domain
-
Specific
Model Database Engine
Models
Implemented by
(MS Repository, XML)
12MIC - Applied to Embedded Systems
Analysis and Verification Tools
Domain-Specific Modeling
Multiple-Aspect Domain/Target-Specific Generators
(including ASC scheduler)
SW Execution Environment
13 - ASC-ESML
- Enables modeling of scheduling policy state
machine - State definitions
- Scheduling policies for each state (per
component) - State transitions
- Templates supplied for standard schedulers (RMS,
EDF,) - Integrated with Matlab fuzzy logic toolbox as GUI
editor for developing specific scheduling
policies - Input ESML model, ASC model
- Output Scheduler Parameters
- Metamodel defines paradigm
14 - ASC-Scheduler
- Utilizes ASC-ESML synthesized priority
calculation model - Supports dynamic and adaptive scheduling policies
- Coordinates state transitions based on modeled
triggers - Integrated with CORBA
- Supports preemptive scheduling of component
execution - Future version will support scheduling of network
communication - Instrumented
- Current tool to convert to VxWorks Windview
format - Future tools possible based on the analysis
interchange format - Input
- Scheduler generated by ASC-ESML
- Outputs
- Scheduled system
- Instrumentation
15ASC additional GME components
- Four new components added to GME
- ASC Interpreter to generate scheduler parameters
based on the scheduler modeled - BUILD Compiles and links the specialized ASC
scheduler with the modeled OEP scenario - FIS Utilizes matlab fuzzy toolbox as an
integrated editor for the ASC scheduler model. - RUN Executes the OEP scenario, collects timing
(performance statistics) and displays summary
information.
16ASC Modeling Aspect in GME
- Integrated with GME releases
- Functional Interpreter
- Integrated with Matlab for fuzzy portion of the
model
17Best Effort Membership Function
- GME model used to seed Matlab fuzzy toolbox
interface - Matlab additions to the model verified and
integrated within the overall GME model
18Schedule Rules Priority Surface
19ASC Scenario Execution
- After finishing a set of models, the ASC and
Build buttons are pushed to automatically
generate the executable. - Pushing the Run button starts an instrumented run
of the OEP for a user specified amount of time.
20 ASC Execution Results
- Timing results of the instrumented run can be
shown in a variety of ways - WindRivers Tornado/VxWorks tool Windview
timelines - Textual summary files
- Other tools possible based on the instrumentation
interface metamodel
21Signal Exploitation Fault Adaptive(dataflow)
22Signal Exploitation Fault Adaptive(processor
assignment)
23Signal Exploitation Fault Adaptive(scheduler
assignment)
24Signal Exploitation Fault Adaptive(scheduler
state machine)
25Signal Exploitation Fault Adaptive(Surface for
FailedDisplayProcessor)
26ASC Communication Scheduler
- Work in progress
- Integrated with ASC CPU scheduler
- Implements classic schedulers
- TTP, PDP, GRMS (proofs available)
- Allows for use and transmission of imprecise
global state through the fuzzy reasoning
27Communication SchedulerRuntime Support
- Details
- LV linguistic variables same set available for
both CPU and Comm scheduler - Core scheduler priority evaluation code same as
CPU scheduler
28Summary
- Fault Adaptation
- Allows system parameters to be considered
- Can change policy state or position within
scheduling policy surface - Performance
- Slight additional cost for the ASC
- Adjusted for domain specific scenarios
- Timing guarantees
- Traditional techniques are still valid
- Provides possibility for synthesis or runtime to
choose technique - Complexity of design time modeling
- Increased, but allows more precision
- Analysis tasks
- Runtime verification can be automated
- Allows for runtime deviation