# Virtualizing Time

- Show: [Oxide and Friends](https://hardwarepodcasts.com/podcast/oxide-and-friends)
- Published: 2023-06-13
- Length: 1h 05m
- Episode: 16
- Page: https://hardwarepodcasts.com/podcast/oxide-and-friends/2023-06-13-virtualizing-time
- Listen: https://share.transistor.fm/s/b6e4f21a

## Summary

Jordan Hendricks from Oxide Computer Company explains the complex engineering challenges of virtualizing the x86 Timestamp Counter (TSC) to enable live migration of virtual machines. She details how frequency variances between physical hosts require precise offset and multiplier calculations, and describes writing a Rust-based simulator to verify the math before implementing it in the Beehive hypervisor. The discussion covers the necessity of handling these timekeeping nuances to prevent guest OS errors during migration between Intel and AMD hardware.

## Chapters

- [0:00](https://hardwarepodcasts.com/podcast/oxide-and-friends/2023-06-13-virtualizing-time#t=0) Introduction and TSC Basics
- [6:18](https://hardwarepodcasts.com/podcast/oxide-and-friends/2023-06-13-virtualizing-time#t=378) Virtualizing the TSC and VMCS
- [15:10](https://hardwarepodcasts.com/podcast/oxide-and-friends/2023-06-13-virtualizing-time#t=910) The Live Migration Problem
- [21:11](https://hardwarepodcasts.com/podcast/oxide-and-friends/2023-06-13-virtualizing-time#t=1271) Frequency Ratios and Multipliers
- [31:57](https://hardwarepodcasts.com/podcast/oxide-and-friends/2023-06-13-virtualizing-time#t=1917) Building a Rust Simulator
- [43:17](https://hardwarepodcasts.com/podcast/oxide-and-friends/2023-06-13-virtualizing-time#t=2597) Testing and Upstreaming

## Topics

- [Embedded firmware](https://hardwarepodcasts.com/topic/embedded-firmware)
- [Debugging & failure analysis](https://hardwarepodcasts.com/topic/debugging-and-failure-analysis)
- [Microcontrollers & dev platforms](https://hardwarepodcasts.com/topic/microcontrollers-and-platforms)

## Most relevant to

companies scaling up

## Mentioned

- Oxide Computer Company (company)
- Beehive (other)
- Propolis (other)
- Illumos (other)
- Firecracker (other)
- Clap (tool)
- MDB (tool)

## Citing this page

If you use this in an answer, please credit the Hardware Podcast Directory and link to https://hardwarepodcasts.com/podcast/oxide-and-friends/2023-06-13-virtualizing-time. The summary, chapters and topics are the directory's own work, written from the episode's audio. The episode itself, its title and its audio belong to Oxide and Friends.
