Our modifications to the Linux kernel aimed to test and prove the viability and effectiveness of a tickless mode in HPC context. Hence, our prototype does not try to address all of the functionality that were handled during ticks. For example, when OS CPUs go idle and turn off the ticks as well in addition to the application cores, there is an absence of CPUs that update the global jiffies value which breaks the time keeping machinery. We are currently in the process of addressing such deficiencies and improving the stability of our prototype. Nevertheless, our hypothesis, the tickless Linux, appears to be viable.
We argue that the Linux timing system and scheduler can be improved by allowing the core scheduler to make decisions on the time based events in the system. Currently, the scheduler is just another subsystem that depends on the timer/hrtimer infrastructure and is invoked upon a timer expiry. However, if the scheduling decisions were made at the point at which expiring timers hit first, then the scheduler would be able to control and adjust all timer based events in the system based on the scheduling policy and other tunables suitable for different platforms such as laptops, desktops, small clusters, and HPC environments. Such a design would even ease the implementation of smart timers as Tsafrir, et al. described