Assuring end-to-end timeliness properties in a distributed
real-time system poses a variety of challenges at each, of
several, levels of abstraction. The challenges vary with
levels of abstraction that correspond generally to levels of
architectural scale. In particular, there are key differences
in the design forces for resource scheduling (1) within the
operating system kernel, (2) within the middleware infras-tructure
on a single endsystem, and (3) distributed across
endsystems in the entire system. While there is signifi-cant
commonality related to the system’s end-to-end time-liness
requirements, the forces and their resolution vary
non-trivially with each level of abstraction. Some design
forces are seen at, or even span, multiple levels of scale.
We document patterns that offer an organizing approach
to design, within which the design forces at and across
each level of abstraction can be resolved. This paper
describes a pattern language for rationalizing resource
scheduling at multiple levels of scale in distributed real-time
and embedded systems.
|