ClockBound but Not Clock Limited: Making Time Accessible for Distributed Systems
Speakers
- Joshua Levinson (Amazon Web Services)
- Julien Ridoux (Amazon Web Services)
Description
Keeping track of the order of events in distributed computing is one of the most fundamental and important problems in computer science. In the past, distributed systems builders have only used wall-clock physical time in features geared for human consumption (like log timestamps and UI presentation). Time, however, is changing, and when clocks can be used at scale with a precision and accuracy good enough for distributed systems, you can approach the system design in new ways. Clock accuracy becomes a feature and benefit, not a bug, in your system design and function, and the aforementioned algorithms can be simplified and new levels of system performance can be unlocked. In 2023, we improved the Amazon Time Sync Service to microsecond-level clock accuracy on supported Amazon EC2 instances. This new capability, the first from any cloud provider, adds a local reference clock to Amazon EC2 instances and is designed to deliver clock accuracy in the low double-digit microsecond range within an instance’s guest OS software. Since this launch, we have brought this capability to global scale at AWS datacenters worldwide. At AWS, we, and our customers, are now able to use real wall-clock time in applications including databases, AI/ML, financial services, broadcast/media, telecommunications, quantum computing, and more to improve both the performance and resiliency of our systems and applications. Democratizing access to good clocks is only the first step for customers. Making it easy for customers applications to ingest and leverage timestamps into their designs is just as important as providing reference clocks. We have done the undifferentiated heavy lifting for customers at the software level by building and sharing updated, open-source software for anyone with a trusted time source to better synchronize and leverage time in their applications. We foresee broader demand from anyone and everyone building distributed applications to need a quality time source, and will be using this talk to share these updates. Included are examples where AWS and our customers are using time as a key primitive in system design.