Blockdiff – How we built our own file format for VM disk snapshots
Blockdiff – How we built our own file format for VM disk snapshots
Usually, I’m a researcher working on areas like RL for coding agents – but one day I became annoyed by our slow VM startup times. So I took the plunge into systems engineering and built the first version of our VM hypervisor called otterlink. It now powers both our research & all of Devin production workloads. Compared to EC2, otterlink was able to bring down VM startup times by about 10x. The real pain point, however, were EC2’s long snapshot times. We want a lot of flexibility (e.g. forking, rollback and suspending VMs) that all require taking disk snapshots. On EC2 taking disk snapshots usually took a whopping 30+ minutes, which would be a terrible experience for our users. With otterlink we were able to bring this down to just a couple of seconds – a 200x speed-up. To achieve this, we built our own file format blockdiff for instant block-level diffs of VM disks. Creating block-level diffs of two files is a much broader problem that goes beyond VM disks. We assumed there must be an existing open-source solution. To our surprise we couldn’t find such a tool, so we’re open-sourcing our implementation today: https://github.com/CognitionAI/blockdiff
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
Labfile, a declarative file format for orchestrating experiments
Hessellate – Hyperbolic Tessellations on the Poincaré Disk
Budding new file format
I made Confetti: a configuration language file format
Backup/restore tool for CouchDb with rsnapshot suited disk format
SAN syntax for Vim – a Sane and Nice configuration format
The CFG Configuration Format
Clang_format_all – Configure clang-format with YAML
Ragzip format specification (and Java implementation)
See what’s filling your disk — and take control