unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



numa_scheduling_groups(4)			    numa_scheduling_groups(4)



NAME

  numa_scheduling_groups - Compaq Tru64	UNIX NUMA Scheduling Groups descrip-
  tion (libnuma	library)

DESCRIPTION

  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 dis-
  tributed to various CPUs, or other resources,	without	regard to their	func-
  tion 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 pro-
       cess 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 success-
       fully 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.








SEE ALSO

  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)