16.3. Initial Thread PlacementA home lgroup is chosen for each thread upon creation. This home lgroup minimizes the frequency with which a thread moves from one board to another. The thread will have an affinity for that lgroup and tend to run and allocate its memory there to achieve good locality. The home lgroup is chosen based on the number of threads in the process, the lgroups that the process is spread across, and the size and relative load of each lgroup. An thread's home lgroup can change in two ways. The most obvious way an thread's home lgroup can change is if all the processors in its home lgroup are removed from the system, either through off-lining or by a dynamic reconfiguration operation. The other way that an thread's home lgroup can change is when that thread is bound to a processor in a different lgroup. In that case, the new processor's lgroup becomes the thread's new home. Even if the thread is subsequently unbound, it will retain this new home lgroup. |