|
numa_scheduling_groups(4)
Contents
|
numa_scheduling_groups - HP Tru64 UNIX NUMA Scheduling
Groups description (libnuma library)
Normally, the kernel scheduler attempts to distribute the
workload evenly over the entire machine. When the system
resources are evenly utilized, the machine is considered
to be balanced. When balancing the workload, the scheduler
operates in a context-free manner; that is, processes may
be distributed to various CPUs, or other resources, without
regard to their function or relationship to one
another. In certain cases, a user may wish to bundle a
group of processes together so that they have equal access
to the same system resources. For instance, cooperating
processes that share the same physical memory may perform
better if all of these processes execute on CPUs that are
local to that memory.
NUMA Scheduling Groups (NSG) cause the scheduler load-balancing
system to treat all members of an NSG as a unit. If
one process belonging to an NSG moves from one Resource
Affinity Domain (RAD) to another, all other members of the
NSG have to move with it.
NSGs and their members have the following characteristics:
The resource domain of the first process joining an NSG
provides the initial resource domain location for that
NSG, called the NSG home RAD. All other processes joining
the NSG (through the nsg_attach_pid() function) will be
migrated to the NSG home RAD. If the joining process is
not allowed to migrate, the nsg_attach_pid() function will
fail. To support load balancing, an NSG is allowed to
migrate to any RAD on the system if none of its members is
bound to a specific resource (such as another RAD, CPU,
and so on). An NSG member is allowed to attach to or bind
to a resource only if no other members are bound to different
resources. The entire NSG will migrate to the RAD
containing the resource at the time it was successfully
bound. If one NSG member is bound to a resource, all
other members of that NSG are also bound to the RAD containing
that resource, because the NSG and, therefore its
members, is no longer allowed to migrate.
Commands: runon(1)
Functions: numa_intro(3), bind_to_cpu(3),
nsg_attach_pid(3), nsg_detach_pid(3), nsg_destroy(3),
nsg_get(3), nsg_get_nsgs(3), nsg_get_pids(3), nsg_init(3),
nsg_set(3), rad_attach_pid(3), rad_bind_pid(3),
rad_detach_pid(3)
numa_scheduling_groups(4)
[ Back ] |