Continuing his exploration of the less familiar regions of Oracle Solaris, Joerg Moellenkamp blogs on CPU resource pools, explaining how the pool facility can be used to configure processor sets. The blog uses cpuhog and the pooladm and poolcfg commands to make his demonstration. The blog is abundantly illustrated with code samples.
Moellenkamp begins by showing how one first activates, then configures the pool facility, in this case using the "discover" subcommand. He considers the somewhat different outputs resulting from the use of the pooladm and poolcfg commands, again with code samples.
Once a user is satisfied that the active configuration and the persistent configuration are essentially equal, Moellenkamp then proceeds to a discussion of how to use the resource pools themselves. Here he demonstrates the creation of a project. He shows how to move an already running process under the control of a project and, hence, under the control of the resource pools themselves.
Moellenkamp concedes that his demonstration is necessarily elementary given the great number of additional functions to be found in the Solaris resource pool facility. As he writes, it has vastly more functions from dynamic resource pools based on load measurement and a rule set that determines which pools and thus which applications are most important.
In fact, he continues, one can activate mechanisms to have several config files able to activate different pool configurations via cron (for example for dayshift and nightshift configurations) or mechanisms to force poold to obey locality rules (for example to prevent that poold chooses procs on separate uniboards on a large server). It is even possible to use it to configure different scheduling classes per pools on the CPU, he asserts.
Moellenkamp's concluding remark speculates that many people aren't really aware of the possibilities of the toolset, possibly because they use their servers in a single task per server configuration or aren't aware of possible performance advantages attainable by forcing processes on certain CPUs leveraging the topology of a computer system.
More Information
WAN Emulation with hxbt
Less Known Solaris Features: CacheFS
Oracle Solaris Video Blog
[...read more...]