Attaining Strictly Increasing and Precise Time Count in Energy-Efficient Computer Systems

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.

[1]  Gregory A. Koenig,et al.  Clock synchronization in high‐end computing environments: a strategy for minimizing clock variance at runtime , 2013, Concurr. Comput. Pract. Exp..

[2]  Gregory A. Koenig,et al.  A Clock Synchronization Strategy for Minimizing Clock Variance at Runtime in High-End Computing Environments , 2010, 2010 22nd International Symposium on Computer Architecture and High Performance Computing.

[3]  Richard O. Ratzel,et al.  Toward higher precision , 2012, Commun. ACM.

[4]  Colin J. Fidge,et al.  High-Precision Relative Clock Synchronization Using Time Stamp Counters , 2008, 13th IEEE International Conference on Engineering of Complex Computer Systems (iceccs 2008).

[5]  Darryl Veitch,et al.  PC based precision timing without GPS , 2002, SIGMETRICS '02.

[6]  Flaviu Cristian A probabilistic approach to distributed clock synchronization , 1989, [1989] Proceedings. The 9th International Conference on Distributed Computing Systems.

[7]  M. Branicky,et al.  Design Considerations for Software Only Implementations of the IEEE 1588 Precision Time Protocol , 2005 .

[8]  Julien Ridoux,et al.  Robust synchronization of absolute and difference clocks over networks , 2009, IEEE/ACM Trans. Netw..

[9]  A. A. Delawari Time Synchronization in Wireless Sensor Networks , 2013 .

[11]  Darryl Veitch,et al.  Robust synchronization of software clocks across the internet , 2004, IMC '04.

[12]  Alberto Ferreira de Souza,et al.  Hardware Supported Synchronization Primitives for Clusters , 2008, PDPTA.

[13]  John C. Eidson,et al.  Measurement, Control, and Communication Using IEEE 1588 , 2006 .

[14]  Luiz De Rose,et al.  A Paradigm Change: From Performance Monitoring to Performance Analysis , 2009, 2009 21st International Symposium on Computer Architecture and High Performance Computing.

[15]  David L. Mills,et al.  Network Time Protocol (Version 3) Specification, Implementation and Analysis , 1992, RFC.

[16]  Steve Muir The Seven Deadly Sins of Distributed Systems , 2004, WORLDS.

[17]  Thomas F. Wenisch,et al.  The PowerNap Server Architecture , 2011, TOCS.

[18]  Ron Brightwell,et al.  Characterizing application sensitivity to OS interference using kernel-level noise injection , 2008, HiPC 2008.