In this paper we show how a real-time time-sharing RtTS architecture can be very useful in resolving many of the formidable problems generally posed by complex real-time systems. In particular, we address dynamic multiple job systems, running on shared-memory multi-processor platforms. Each job is multitasked, with task characteristics assumed to be complex, e.g. some critical, some dependent, some aperiodic. Each job may also have multiple states, and may support several alternate modes of operation. Concurrent job sets, modes, states, and even available processor capacities, are all assumed dynamic. To accommodate such complexities, the RtTS architecture adopts a practical divide-and-conquer approach, which is shown to be very effective. The architecture incorporates three distinct and independent software control layers, which together facilitate automatic near-optimal mode selection, dynamic load-balancing, and reliable real-time time-sharing, in a fully integrated manner. The job-oriented strategy allows each job to be developed independently, as a black box with uniform control requirements, herein described. The unique capabilities of this RtTS architecture are illustrated in a dynamic multimedia context, where it is shown to have several advantages over conventional dynamic load-balancing techniques, in supporting complex task characteristics, best-effort system values, dynamic critical task sets, scalability, and portability.
['Jair Jehuda', 'Gilad Koren', 'Daniel M. Berry']
A time-sharing architecture for complex real-time systems