Compute Node Kernel (CNK) is the node level operating system for the IBM Blue Gene series of supercomputers.
The compute nodes of the Blue Gene family of supercomputers run Compute Node Kernel (CNK), a lightweight kernel that runs on each node and supports one application running for one user on that node. To maximize operating efficiency, the design of CNK was kept simple and minimal. It was implemented in about 5,000 lines of C++ code. Physical memory is statically mapped and the CNK neither needs nor provides scheduling or context switching, given that at each point it runs one application for one user. By not allowing virtual memory or multi-tasking, the design of CNK aimed to devote as many cycles as possible to application processing. CNK does not even implement file input/output (I/O) on the compute node, but delegates that to dedicated I/O nodes.
The I/O nodes of the Blue Gene supercomputers run a different operating system: I/O Node Kernel (INK). INK is based on a modified Linux kernel.