Attaining Strictly Increasing and Precise Time Count in Energy-Efficient Computer Systems - Dutra, Diego Leonel Cadette; Whately, Lauro Luis Armondi; Amorim, Claudio Luis de (Anais do International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), 2013)
Energy-efficient computer systems are making increasing use of processors that have multiple core units, DVFS, and virtualization support. However, current system clocks have not been usually designed to cope with the capacity of such mechanisms to decelerate/accelerate the passage of time, which increases the time drifts in the system and produces two adverse side effects. First, a reduction in the precision of the system clocks, which makes it infeasible to run applications that are dependent on precise time measurements. Second, increasing the rate of system resynchronization with an external global clock, which adds more noise to the system and counteracts the attainment of a desirable energy efficiency. As an alternative to the system clock, we propose an original virtual clock, named RVEC, with the property that the time count is strictly increasing and precise (SIP). A preliminary experimental evaluation of an implementation of RVEC in Linux using a beowulf cluster of four energy-efficient computer systems showed that RVEC exhibited the SIP property while was highly precise and had negligible overhead in comparison with representative Linux system clocks. Furthermore, we used RVEC to build a High-Precision Global Clock (HPGC) which is free from resynchronization and implemented HPGC in the OpenMPI library as a time synchronization service for the MPI_Wtime() function to improve its timekeeping functions and lower the system noise. Our preliminary results from micro benchmarks executing in the same cluster indicated that the HPGC is highly scalable and precise solution which allowed the micro benchmarks to stay globally synchronized by using only 30 messages per node to initially synchronize the cluster nodes, thanks to the RVEC's SIP property. These results suggest that RVEC and HPGC can be effective alternatives to the system clock and the global clock respectively, in energy-efficient computer systems, especially for MPI applications running on beowulf clusters.