- PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Description:

Real-Time Java What Could and Should it Mean? E. Douglas Jensen The MITRE Corporation jensen_at_real-time.org, jensen_at_mitre.org http://www.realtime-os.com – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 36
Provided by: Doug1210
Learn more at: https://www.itl.nist.gov
Category:

less

Transcript and Presenter's Notes

Title:


1
Real-Time JavaWhat Could and Should it Mean?
  • E. Douglas Jensen
  • The MITRE Corporation
  • jensen_at_real-time.org, jensen_at_mitre.orghttp//www.
    realtime-os.com

2
Real-Time JavaDifferent Strokes for Different
Folks
  • Real-time Java, hard real-time Java, and
    soft real-time Java are ambiguous terms
  • currently used with very different definitions
  • often used without any definitions
  • Could mean very different things
  • cf. motorized road vehicle sports car,
    18-wheeler, pickup, van, motorcycle
  • Different users need very different things

3
Outline
  • Operate in real-time, real-time resource
    management
  • Time constraints hard, soft
  • Scheduling optimization criteria hard, soft
  • Predictability and determinism
  • Hard real-time Java, soft real-time Java
  • Distributed Java, distributed real-time Java
  • Real-time enhancements needed for Java

4
Real-Time Computing
  • Entity operates in real-time
  • degree to which the entity
  • satisfies time constraints acceptably
  • collective optimality (scheduling optimization
    criterion)
  • predictability
  • Entity does real-time resource management
  • degree to which the entity
  • explicitly takes time constraints into account
  • (vs. resource supply gtgtgt resource demand)

5
Time Constraints
  • Time constrained thread activities
  • Utility for performing the activity in terms of
    when the activity is completed
  • Completed no loss of generality
  • Used by the scheduler
  • (Progressive utility out of scope here)

6
Hard Deadline Time Constraint
7
Soft Deadline Not Hard
  • In practice and in this model
  • Conventional real-time fails to distinguish among
    different types of soft deadlines
  • Different types have different attributes
  • In practice, most deadlines are soft
  • This model is more general and expressive

8
Scheduling Theory Deadline
9
Invert Lateness to Earliness
10
Time Constraints That Are Not DLs
11
General (Soft) Time Constraints
12
Time Constraint Scoped Attribute
  • Scoped attribute of a thread
  • static entire lifetime of the thread
  • dynamic threads time constraints change
  • Thread scheduling
  • inside scope criterion includes time constraints
  • outside scope only other factors in criterion

13
Scheduling Events
  • Thread transition into time constraint scope
  • Completion of time constrained activity
  • Deadline or time constraint terminal times
  • (Presumes dynamic preemptive scheduling)

14
Scheduling
  • Contention for a serially reusable resource ?
    scheduling
  • Scheduling optimization criterion
  • scheduling algorithm/heuristic
  • collective/aggregate timeliness
  • multiple factors composite
  • Real-time resource management to the degree that
    it includes time constraints

15
Other Optimization Factors
  • Threads relative importance
  • Thread dependencies
  • precedence
  • data consistency
  • resource utilization efficiency

16
Optimal Schedule
  • Each activity completes during interval of
    maximum utility
  • Not feasible in general
  • dynamics of application and system
  • tractability of algorithm/heuristic
  • In general, time constraint factors are
    necessarily sub-optimal

17
Hard Real-Time Scheduling
  • One time constraint factor hard deadlines
  • Only optimality criterion meet all deadlines
  • No provisions for
  • sub-optimality (so either feasible or incorrect)
  • soft deadlines or general time constraints
  • Presumes static enough execution context
  • Most applications have softer time constraints,
    and dynamic contexts

18
Soft Real-Time Scheduling
  • Soft real-time scheduling not hard
  • time constraints may be any mix of
  • hard deadlines
  • soft deadlines
  • general time constraints
  • any optimality criterion
  • provisions for sub-optimality
  • any dynamic execution context
  • Many different types of soft real-time scheduling
    with different attributes

19
Sub-Optimal for Hard Deadlines
  • Sub-optimal hard deadline factors
  • minimize the number of missed deadlines
  • miss deadlines according to importance
  • Composite hard deadline factors
  • always meet these deadlines, and
  • minimize the number of those deadlines that are
    missed
  • miss deadlines according to importance

20
General Optimality Criteria
  • Optimality criteria for soft deadlines
  • minimize mean lateness
  • minimize summed tardiness
  • amortize tardiness according to importance
  • Optimality criteria for general time constraints
  • maximize the accrued (e.g., summed) utility

21
Fixed and Dynamic Priorities
  • Fixed assigned á priori (programmer, tool)
  • e.g., RMA
  • Computing field allows run-time adjustment of
    priorities for scheduling anomalies
  • Dynamic priorities may change at run-time
  • e.g., earliest-deadline-first

22
Static Scheduling
  • Schedule created á priori
  • list ordered by static eligibility fixed
    priority
  • highest priority ready thread granted the
    resource
  • Computing field allows run-time adjustment of
    priorities for scheduling anomalies
  • Rate monotonic analysis is normally performed
    statically

23
Dynamic Scheduling
  • Schedule created at execution time
  • Normally uses dynamic priorities
  • e.g., according to earliest deadline first
  • can use fixed priorities if
  • other optimization factors (e.g., importance) are
    dynamic
  • fixed priority (e.g., rate monotonic) scheduling
    performed at execution time

24
Predictability
  • Something is predictable to the degree it is
    known in advance
  • one end-point is determinism known absolutely
  • other end-point is maximum entropy no knowledge
  • The degree to which an outcome or behavior is
    predictable implies the degree to which its
    future context is predictable(the converse is
    not generally true)

25
Determinism in Hard Real-Time
  • Hard real-time scheduling may have two different
    outcomes deterministically
  • schedule optimality
  • weaker but normally sufficient
  • the most frequent objective
  • completion times
  • stronger but generally infeasible and unnecessary

26
Determinism in Soft Real-Time
  • Soft real-time scheduling may have four different
    deterministic outcomes
  • schedule optimality
  • weakest but normally sufficient
  • the most frequent objective
  • utility value optimality
  • utility values
  • completion times
  • strongest but generally infeasible and unnecessary

27
Predictability In Stochastic Cases
  • Stochastic characteristics of the threads and
    their execution environments are considered to be
    random variables
  • Scheduling is optimized in expectation
  • A predictability measure coefficient of
    variation C? variance/mean2
  • one endpoint deterministic distribution, C? 0
  • the other endpoint EME distribution, C? ?

28
Predictability vs. Optimality
  • Predictability of schedule optimality is
    orthogonal to schedule optimality per se
  • They must be traded off against one another to
    suit specific application/situation requirements
    e.g., better ? but worse ?
  • Hard real-time scheduling is a special case
    which, if feasible, is optimal in both dimensions

29
Hard and Soft Real-Time Java
  • Hard
  • deterministic timeliness
  • deterministic execution context
  • Soft
  • everything else (but not que sera sera)
  • non-deterministic predictability of timeliness
  • non-deterministic execution context
  • many different possible cases

30
Hard Real-Time Java
  • Hard real-time scheduling
  • hard deadlines
  • deterministic optimal scheduling (meet all hard
    deadlines)
  • Deterministic execution context
  • current and future load characteristics
  • threads, resource usage, dependencies, conflicts
  • resource management
  • memory, garbage collection, events, i/o

31
Soft Real-Time Java
  • Soft real-time scheduling
  • soft deadlines or general time constraints
  • non-deterministic (or deterministic) optimal or
    sub-optimal scheduling
  • Non-deterministic (or deterministic) dynamic
    execution context
  • load
  • resource management

32
Examples of Hard Real-Time Java
  • JEM?
  • More? to be completed . . .

33
JEM
  • to be completed . . .

34
Examples of Soft Real-Time Java
  • NewMonics PERC
  • to be completed . . .

35
NewMonics PERC
Write a Comment
User Comments (0)
About PowerShow.com