Dynamic, high-performance or real-time applications require scheduling late
ncies and throughput not typically offered by current kernel or user-level
threads schedulers, Moreover, it is widely accepted that it is important to
be able to specialize scheduling policies for specific target applications
and their execution environments. This paper presents one solution to the
construction of such high-performance, application-specific thread schedule
rs, Specifically, scheduler implementations are composed from modular compo
nents, where individual scheduler modules may be specialized to underlying
hardware characteristics or implement precisely the mechanisms and policies
desired by application programs. The resulting user-level schedulers' impl
ementations can provide resource guarantees by interaction with kernel-leve
l facilities which provide means of resource reservation,
This paper demonstrates the concept of composable schedulers by constructio
n of several compositions for highly dynamic target applications, where low
scheduling latencies are critical to application performance. Claims about
the importance and effectiveness of scheduler composition are validated ex
perimentally on a shared-memory multiprocessor. Scheduler compositions are
optimized to take advantage of different low-level hardware attributes and
of knowledge about application requirements specific to certain application
s, including a Time Warp-based real-time discrete event simulator. Experime
ntal evaluations are based on synthetic workloads, on a real-time simulatio
n blending simulated with implemented control system components, and on a d
ynamic robot control program. Measurements indicate that schedulers can be
composed and specialized to offer performance similar to that of dedicated
scheduling co-processors, Copyright (C) 1999 John Wiley & Sons, Ltd.