From dcef3f2cef99988c179aab3258efd180148e3914 Mon Sep 17 00:00:00 2001 From: ejc3 Date: Tue, 27 Oct 2026 08:45:46 +0000 Subject: [PATCH] fcvm-fleet: host AMI from ejc3/fcvm main e15f9e7e (agent snapshot baked, launch files prefetched) A woken GPU host's first slot restores took 27 to 40 s (restore_ms), against about 2 s for a later relaunch on the same host. On a g4dn.metal started from the current AMI, 34 s of that was `podman image inspect` reading podman and its libraries from the lazily loaded root volume, and 8 s was each slot cold-booting a VM because the AMI's baked snapshot had another key. - us-east-1 host AMI ami-0bba499ff882e9ab8 (2e2181cf, #708) -> ami-00feb207580bdc9e3, built from ejc3/fcvm main e15f9e7e (which contains 2e2181cf), revised from the 2c965afe image; store under store/fcvm-fleet-host-x86_64-e15f9e7e-20261027/ (17 PUTs, all 200). - ejc3/fcvm#1370: the build launches one VM as the agent launches a slot (warm-root: first frame 17.5 s), so the store holds the snapshot the slots restore, and fcvm-fleet-prefetch.service reads the launch's root volume files at boot (6163 files, 334 MiB listed). - ejc3/fcvm#1368: every slot of a host shares that snapshot. Stacked on #708 (its tile AMI is kept). Tested: python3 -S -B scripts/test-fcvm-fleet.py OK, terraform fmt -check. --- fcvm-fleet.tf | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/fcvm-fleet.tf b/fcvm-fleet.tf index 8f61d42..cd8c12f 100644 --- a/fcvm-fleet.tf +++ b/fcvm-fleet.tf @@ -31,9 +31,11 @@ variable "fcvm_fleet_host_amis" { type = map(map(string)) # Ubuntu 24.04, IOMMU on, every NVIDIA GPU on vfio-pci at boot, fcvm with the gpu profile set up and the renderer warmed; # the store is restored onto the instance store at boot (fcvm fleet/ami/host). Built in us-east-1 only, from ejc3/fcvm main - # 2e2181cf with main's recipe (fleet/ami), revised from the 2c965afe image: the renderer's SPS carries a VUI - # bitstream_restriction with max_num_reorder_frames 0, so decoders stop holding 7 or 8 frames (ejc3/fcvm#1361). - default = { "us-east-1" = { x86_64 = "ami-0bba499ff882e9ab8" } } + # e15f9e7e with main's recipe (fleet/ami), revised from the 2c965afe image. Over 2e2181cf (the renderer's SPS carries a + # VUI bitstream_restriction with max_num_reorder_frames 0, ejc3/fcvm#1361) it bakes the pre-start snapshot the agent's + # slots restore and reads their launch files from the root volume at boot (ejc3/fcvm#1370), and every slot of a host + # shares that snapshot (ejc3/fcvm#1368): a woken host's first restores took 27 to 40 s. + default = { "us-east-1" = { x86_64 = "ami-00feb207580bdc9e3" } } } variable "fcvm_fleet_tile_amis" {