DISTRIBUTED COMPUTING SEMINAR disc.ece.illinois.edu/disc-seminar.php (TELE-SEMINAR) Virtually Real Clocks Prof. Sandeep Kulkarni Michigan State University 11:00 am October 13, 2017 (Friday) 239 CSL ABSTRACT Clock: What is it good for? Distributed systems utilize clocks for several tasks; serializing events or transactions, restore to an older state, periodically checkpoint and so on. Using real/physical clocks has an inherent benefit that they are most natural. However, real clocks drift over time introducing several problems in distributed systems. Specifically, clock drift may make it appear that the effect happened before the cause. Logical/Virtual clocks can solve some of these problems but suffer from lack of connection to reality thereby making them unnatural. In this work, we introduce virtually real clocks. When needed, these clocks behave like physical clocks so that we can answer questions such as (1) when did it happen, (2) how much time elapsed between the two given events, (3) what did the system look 5 minutes ago, and so on. Moreover, in spite of drift, these clocks ensure that cause will never appear to be before the effect. We demonstrate that these virtually real clocks can be implemented in a backward compatible manner to physical clocks and they are better than real clocks when it comes to ordering transactions in a database and ensuring causal consistency in a key-value store and efficient scalable checkpointing and rollback distributed system. Moral: Don't use real clocks. Always use our virtually real clocks. BIOGRAPHY Sandeep Kulkarni received his BS from Indian Institute of Technology, Bombay and MS and PhD from Ohio State University. He is currently a professor at Michigan State University. His areas of research include distributed systems, fault-tolerance, software engineering, formal methods, and security.