Bellosa, Frank
:
Memory Conscious Scheduling and Processor Allocation on NUMA Architrchitectures.
Erlangen:
FAU.
1995
TR-I4-95-06.- Interner Bericht.
14 Seiten.
Abstract:
Operating system abstractions do not always meet the needs of a
language or applications designer. A lack of efficiency and
functionality in scheduling mechanisms can be filled by an
application-specific runtime environment providing mechanisms for
dynamic processor allocation and memory conscious scheduling. We
believe that a synergistic approach that involves three components,
the operating system, a user-level runtime system and a dynamic
processor server can offer the best adaptivity to the needs of
multiprogramming.
Especially on NUMA architectures data structures and policies of a
scheduling architecture have to reflect the various levels of the
memory hierarchy in order to achieve high data locality. While CPU
utilization still determines scheduling decisions of contemporary
schedulers, we propose novel scheduling policies basing on cache miss
rates. An interface between user-level runtime system and application
is essential to initiate a concurrent memory prefetching.The
application is informed about scheduling decisions of the runtime
system and can trigger prefetch operations. For the implementation of
the runtime system we follow a two level approach: The lower level
consists of assembler code for fast thread initialization and context
switching. The upper level includes the user-level scheduler which
provides load balancing and high cache re- usage on top of kernel
threads. Because static processor sets, MACH cpu_servers and gang
scheduling do not offer the required flexibility and efficiency in
processor allocation and scheduling, a new approach to these topics
had to be developed. The design of an adaptive dynamic processor
server will be sketched. The decisions of this processor server base
on processor requests and on information about memory locality of
currently running applications. An interface between processor server
and user-level scheduler allows the exchange of information to
establish a dynamic partitioning of the proces- sors among multiple
parallel applications to achieve an optimum between throughput and
fairness.