Timeline: An Operating System Abstraction for Time-Aware Applications

Having a shared and accurate sense of time is critical to distributed Cyber-Physical Systems (CPS) and the Internet of Things (IoT). Thanks to decades of research in clock technologies and synchronization protocols, it is now possible to measure and synchronize time across distributed systems with unprecedented accuracy. However, applications have not benefited to the same extent due to limitations of the system services that help manage time, and hardware-OS and OS-application interfaces through which timing information flows to the application. Due to the importance of time awareness in a broad range of emerging applications, running on commodity platforms and operating systems, it is imperative to rethink how time is handled across the system stack. We advocate the adoption of a holistic notion of Quality of Time (QoT) that captures metrics such as resolution, accuracy, and stability. Building on this notion we propose an architecture in which the local perception of time is a controllable operating system primitive with observable uncertainty, and where time synchronization balances applications' timing demands with system resources such as energy and bandwidth. Our architecture features an expressive application programming interface that is centered around the abstraction of a timeline – a virtual temporal coordinate frame that is defined by an application to provide its components with a shared sense of time, with a desired accuracy and resolution. The timeline abstraction enables developers to easily write applications whose activities are choreographed across time and space. Leveraging open source hardware and software components, we have implemented an initial Linux realization of the proposed timeline-driven QoT stack on a standard embedded computing platform. Results from its evaluation are also presented.

[1]  Ralf H. Reussner,et al.  Analysing the fidelity of measurements performed with hardware performance counters , 2011, ICPE '11.

[2]  P. V. Estrela,et al.  Challenges deploying PTPv2 in a global financial company , 2012, 2012 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control and Communication Proceedings.

[3]  David L. Mills,et al.  Internet time synchronization: the network time protocol , 1991, IEEE Trans. Commun..

[4]  Julien Ridoux,et al.  Virtualize Everything but Time , 2010, OSDI.

[5]  Kang Lee,et al.  IEEE 1588 standard for a precision clock synchronization protocol for networked measurement and control systems , 2002, 2nd ISA/IEEE Sensors for Industry Conference,.

[6]  Hui Zhou,et al.  Frequency Accuracy & Stability Dependencies of Crystal Oscillators , 2008 .

[7]  B. Lantos,et al.  Formation control of a large group of UAVs with safe path planning and obstacle avoidance , 2014 .

[8]  Wilson C. Hsieh,et al.  Usenix Association 10th Usenix Symposium on Operating Systems Design and Implementation (osdi '12) 251 Spanner: Google's Globally-distributed Database , 2022 .

[9]  Aura Ganz,et al.  SURGNET: An Integrated Surgical Data Transmission System for Telesurgery , 2009, International journal of telemedicine and applications.

[10]  Maciej Lipinski,et al.  White rabbit: a PTP application for robust sub-nanosecond synchronization , 2011, 2011 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control and Communication.

[11]  Alec Wolman,et al.  Outatime: Using Speculation to Enable Low-Latency Continuous Interaction for Mobile Cloud Gaming , 2015, MobiSys.

[12]  Edward A. Lee,et al.  PTIDES: A Programming Model for Distributed Real-Time Embedded Systems , 2008 .

[13]  Nancy A. Lynch,et al.  An Upper and Lower Bound for Clock Synchronization , 1984, Inf. Control..

[14]  Hermann Kopetz,et al.  The time-triggered architecture , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[15]  Edward A. Lee,et al.  PtidyOS: A Lightweight Microkernel for Ptides Real-Time Systems , 2012, 2012 IEEE 18th Real Time and Embedded Technology and Applications Symposium.

[16]  Xinjun Sheng,et al.  A New Time Synchronization Method for Reducing Quantization Error Accumulation Over Real-Time Networks: Theory and Experiments , 2013, IEEE Transactions on Industrial Informatics.

[17]  Qi Zhao,et al.  ACES: adaptive clock estimation and synchronization using Kalman filtering , 2008, MobiCom '08.