Tickless kernels are of special importance to applications in High Performance Computing (HPC) and Financial Services. More recent Linux* kernels support a mode called “full NOHZ” where the periodic timer tick, that we all are familiar with, has been reduced from 100 or 1000 times a second (depending on how HZ is configured) to 1 per second. It must be noted that Linux* has had support for a feature called “idle tickless”, where the kernel turns off the periodic timer tick when the “CPU” is idle, resulting in huge savings in power (allows the CPU to go into deeper sleep states). Starting with the 3.10 Linux* kernel, “full NOHZ” enables a mode where the kernel turns down the tick rate when a single thread is running on a CPU. This benefits HPC applications that often run in the mode where a CPU is dedicated to run a single thread. By turning down the tick rate, threads of the application are not interrupted as often. As an example, this helps in situations where threads need to come together to perform some kind of a collective or barrier type of operation before moving to the next phase of the application. If one or more threads are interrupted unpredictably, the remaining threads that are already at the barrier waste time waiting (spinning) for the interrupted threads to join. This reduces overall scaling and performance of applications running on large HPC clusters.
To provide the benefit of the full tickless Linux* kernel on the Intel® Xeon Phi™ Coprocessor, we ported the 3.13 Linux* kernel to the Coprocessor and provided a kernel command line that enables the tickless (well 1HZ timer tick!) mode of operation.
It must be emphasized that unlike standard Intel® MPSS releases, this kernel has not undergone rigorous validation and is therefore not expected to be used on production clusters (please see section 4 in the attached paper). The primary goal of this work is to enable the 3.13 Linux* kernel on the Intel® Xeon Phi™ Coprocessor for users who are interested in running their applications on a tickless kernel and measuring the impact of OS jitter on such applications. We hope to receive valuable feedback from users around the usefulness of such a kernel on many core architectures such as Intel® Xeon Phi™ Coprocessor.
The attached tarball (3.13_tickless_experiments.tar) contains a Linux* kernel RPM (mpss-boot-files*) as well as code examples for testing the kernel. The attached white paper (Tickless Kernel Support on Intel(R) Xeon Phi(TM).pdf) describes all the steps necessary to upgrade to this kernel and use the code examples to deploy and test the new kernel.
Intel® Xeon, Xeon Phi™ and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.
* Other names and brands may be claimed as the property of others.