Memory Conscious Scheduling and Processor Allocation on NUMA Architrchitectures

  • Author:

    Frank Bellosa

  • Source:

    University of Erlangen, Technical Report TR-I4-95-06, June 1995

  • Date: 06.1995
  • 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 reusage 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 processors among multiple parallel applications to achieve an optimum between throughput and fairness.

    Bibtex:

    @techreport{bellosa95memoryconsciousscheduling,
      author = {Frank Bellosa},
      title = {Memory Conscious Scheduling and Processor Allocation on NUMA Architectures},
      booktitle = {Technical Report},
      number = {TR-I4-95-06},
      month = aug,
      year = 1995,
      affiliation = {University of Erlangen, Germany},
      url = {http://i30www.ira.uka.de/}
    }