SYSTEM Cited by 1 source
Xen (hypervisor)¶
Definition¶
Xen is a general-purpose open-source hypervisor originating at the University of Cambridge. Until late 2017, every EC2 instance ran on Xen. AWS progressively moved EC2 off of Xen toward the systems/nitro / KVM-based lightweight hypervisor so that networking, storage, and isolation could be driven by dedicated hardware pipelines.
Relevance here¶
In the EBS retrospective, Xen is the "general-purpose hypervisor" whose IO-path choices turned out to be EBS's tax:
- IO queues compounded. Instance block device queue → Xen ring → dom0 kernel block device queue → EBS client network queue.
- The Cambridge-era default for Xen block-device ring-queue parameters (number of queues × queue entries) capped the EC2 host at 64 outstanding IO requests total, across all devices. This scaling accident was surfaced by patterns/loopback-isolation of each queue layer.
- Software virtualization costs motivated the move to Nitro: first offloading VPC (networking), then EBS (storage).
Still: Xen served EC2 well enough that EBS "had served us well." The post is clear the issue wasn't Xen's fault — it was about moving out of a general-purpose design for an increasingly specialized workload.
Seen in¶
- sources/2024-08-22-allthingsdistributed-continuous-reinvention-block-storage-at-aws — IO-path queue accounting, Cambridge-default discovery, Nitro migration motivation.