'Colony' software speeds up HPC processes
Scientists at Oak Ridge National Laboratory (ORNL) have developed the Colony kernel, which shows a nearly three-fold increase in supercomputing efficiency.
The Colony kernel organises computer work into scientific applications (blue) and normal background processes (red) across all nodes in a supercomputer. Then, the red normal processes are scheduled such as not to randomly interrupt the blue scientific application allowing for maximum computation time (green).
The surge in machine size and complexity has led the Oak Ridge Leadership Computing Facility (OLCF) computer scientists to try new and interesting strategies to keep large systems running at the highest efficiency. Their efforts have nearly tripled performance for synchronising collective operations.
Terry Jones and a team of researchers at the OLCF developed a software component bridging between applications and hardware - a modified operating system kernel - in hopes of scheduling the many tasks that run on Linux-based supercomputing systems in ways that minimise interruption during scientific applications. Jones’s Colony kernel, as it is called, includes collaborators at IBM and Cray.
'The Colony kernel achieves high scalability through coordinated scheduling techniques,' Jones said. 'Currently, these applications run randomly with respect to other nodes, and there is no coordination of when to favour scientific applications and when to favor other necessary activities.'
In a typical operating system, various 'helper' applications run alongside scientific applications. These programs - known as daemons - must run to assure that all other required functions are working correctly on the supercomputer. Problems arise when daemon activity interrupts the flow of scientific applications on supercomputers.
'What the Colony kernel does differently involves the Linux scheduling algorithm,' Jones said. 'Instead of scheduling the set of processes on one node without consideration to its neighbour nodes, the Colony kernel makes scheduling decisions with a global perspective. This allows us to ensure that activities that would normally happen randomly with respect to other nodes can be scheduled to achieve better performance for parallel workloads running on many nodes.'
The new 'parallel awareness information' gives each individual node’s scheduler the information it needs to work efficiently in unison. All nodes cycle between a period when the scientific application is universally favoured, and a period when all other processes are universally favoured. This minimises random interruptions.