Hal's Software

Control Interfaces

Available control interfaces can be broken down into several categories: processor-binding APIs, processor-set APIs, and APIs to control memory allocation and placement.

Processor Binding APIs

Processor binding APIs associate a collection of processors with each thread and/or process and only allow the thread or process to be scheduled to run on processors in the set. If the system allows the set to consist of more than one processor then it is usually represented by a bit-mask of processors. On some systems, the binding can be made advisory instead of manditory.

Processor-Set APIs

Processor sets are global collections of processors to which a thread and/or process can be assigned. Once assigned, the thread or process will only be scheduled to run on processors within the set. Exclusive processor sets allow an individual processor to belong to only one set at a time.

Memory Allocation and Placement APIs

The capabilities provided for memory allocation control vary widely. Some systems provide the capability to control the set of nodes from which memory is allocated. Also, some systems allow threads to request that parts of their address space be placed on specific nodes.

Download this document in other formats...