Compute Node Linux (CNL)


CNL is a very lightweight kernel version of Linux OS which runs on the compute nodes, where only basic commands are present. The reason for using CNL instead of a complete kernel is because of the nodes don't have any local disk. Instead it uses a small part of the memory, which of course should be as small as possible. CNL is therefor fetched, during install, from a shared filesystem and put in local memory. CNL does not support dynamic loading of executable code or shared libraries.

Here we will explain some of the basics of CNL.

hostname - the hostname is not present in CNL. Instead you can acquire the Node ID (NID) with:

     /tmp> aprun -b -n 4 /bin/cat /proc/cray_xt/nid
     
Where /tmp is a tmpfs (memory) filesystem on each node. aprun is the program for submitting jobs, which you can learn more about here. The -b option is used if the application is to be launched as a part of the compute node's boot image file system. -n specifies the number of processing elements. /bin/cat is the exact path to cat and /proc/cray_xt/nid is the file containing the Node ID.