OpenSolaris and NUMA

Print Friendly, PDF & Email

opensolarisWhen we as HPC technologists begin speaking about operating systems, most of us immediately assume Linux to be the center of conversation. There is always IRIX, UNICOS, AIX, Windows and Solaris lurking in the wings. Solaris is not traditionally thought of as an operating system of choice when constructing some sort of HPC system. However, the pieces are beginning to come together.  [ie, Rocks and Solaris]

Case in point, I stumbled upon a blog post on the OpenSolaris project in regard to the NUMA.3 topology representation resident in OpenSolaris. NUMA has been a staple in the large SMP community for quite some time. The SGI Altix is a wonderful example of ccNUMA, but OpenSolaris?? Who knew!

OpenSolaris utilizes a kernel abstraction called `locality groups` [lgroups] in order to setup the demarcation between nodes in a NUMA architecture. The lgroup nodes are defined at boot and subsequently form latency topologies used by the scheduler/dispatcher within the kernel. The topology, by definition of NUMA, is hierarchical.

For a more complete technical discussion, head over to the Sun OpenSolaris blog here.


  1. Solaris has had NUMA extensions officially since the first release of Solaris 9 in 2002. Unoffically, Solaris has had NUMA extensions since the internal “Wildfire” project of the late 1990s, which ran a modified Solaris 2.6 kernel.