Blogger Dave Dice takes issue with the view that initial thread placement onto sockets, cores pipelines and other resources is process agnostic. He describes an experiment that suggests it is not thread creation time, but rather process membership that determines thread placement. Dice continues, reporting that the Solaris team explained that the kernel is no longer using a simple maximum dispersal policy, but instead thread placement is now process membership-aware. Even with a policy that allows process-aware packing, however, placement reverts to spreading threads onto other nodes if a node becomes too saturated. Dice concludes that threads from the same process are packed onto a subset of the strands of a socket (50% for T-series servers). Once that socket reaches the 50% threshold the kernel then picks another preferred socket for that process. Threads from unrelated processes are spread across sockets.
What's New with Solaris 11 Since the Launch?
Read More ...