ccNUMA Overview
Inheritance of launch policies
Every thread and process has a Launch Policy associated with it. If no explicit policy is assigned, then, in general,
the child process or thread inherits its policy from its parent. There is no explicit relationship between the launch
policy of a process and its child threads.
HP-UX maintains which thread-launch and process-launch policies are in effect for threads and processes by using
policy trees.
A policy tree is a collection of threads or processes that share the same launch policies and launch count details.
The launch count and the thread-launch or process-launch policy are maintained by the policy tree’s root.
HP-UX 11i v2 supports two types of policy trees:
• Thread policy trees are maintained as part of the thread structure and include a thread-launch policy and launch
count.
• Process policy trees are maintained as part of the process structure and include a process-launch policy and
launch count.
HP-UX refers to the root of the associated policy tree when a pthread_create() call creates a new thread, or when
a fork() call creates a new process. HP-UX launches the new thread or process using the thread-launch or process-
launch policy specified by the root. HP-UX also updates the policy tree’s launch count.
HP-UX maintains the launch details to track the number and location of threads or processes launched within a
policy tree. Every policy tree has its own launch details.
HP-UX establishes a new policy tree, which has a new launch count and may have a different launch policy,
under the following circumstances:
• When a thread changes the thread-launch policy, such as when calling the pthread_launch_policy_np() routine
or mpctl() system call, the target thread becomes the new policy tree’s root.
• When a process has its process-launch policy changed, such as when mpctl() is called, the process is the new
policy tree’s root; any thread in a process can change the process-launch policy.
• When a process calls fork() to create a process, the new process becomes a member of the same process
policy tree that the parent process belongs to. The thread in the new process becomes the root of a new thread
policy tree, which inherits the thread-launch policy of the creating thread.
Figure 4 shows a sample process, the threads and processes it creates, and the associated policy trees and
launch policies.
13