ROSELINE: Enabling Robust, Secure and Efficient Knowledge of Time Across the System Stack
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. For example,
time synchronization is done as a best-effort background service whose performance is neither
observable nor controllable, thus consuming system resources independently of application needs
while not allowing the applications to adapt to changes in uncertainty in system time. Furthermore,
technology trends such as wireless communications, power management, multi-core processors
have introduced in the intervening system layers and additional sources of variations affecting
application level knowledge of time.
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, in collaboration
with CMU, we have developed 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. Additionally, to fully realize the potential of timeline and quality of time, we have
developed a new open-source hardware platform called Chronos that provides unique capabilities
for research in clocks and synchronization, and new “quick-start” clock oscillator that outperforms
current art by more than an order of magnitude.
Additional accomplishments relating to the Roseline project are described in posters from the
partner institutions (CMU, UCSB, and UCSD).