From 1bb49454f7bd98cfd36cb13f9129eea39ad0426c Mon Sep 17 00:00:00 2001 From: ejc3 Date: Mon, 26 Oct 2026 16:18:45 +0000 Subject: [PATCH 1/2] fcvm-fleet: host and tile AMIs from ejc3/fcvm main 47ec5fcf On the wall's staging page every fcvm tile was drawn dimmed as behind the common time: each fcvm VM's clock was 0.2 to 1.0 s behind the host. The host AMI (bdaa0003) predates ejc3/fcvm#1301, so its fc-agent stepped a restored guest to the whole second, and a routed guest reached no NTP server to correct it (ejc3/fcvm#1343). - us-east-1 host AMI ami-0913aacc80394e1bd -> ami-0084954a5dfe26bf6, built from ejc3/fcvm main 47ec5fcf (fleet/ami/host, revised from the previous image; store under store/fcvm-fleet-host-x86_64-47ec5fcf-20261026/). - us-east-1 tile AMI ami-08f3cc41395353a2f -> ami-07bf015c4588aebc2, revised from the previous image with the host AMI's renderer image (same image id), so both halves draw with one renderer. Checked on a g4dn.metal launched from the new host AMI: store restored from S3 (16 parts, 9.5 s), a routed GPU restore landed within 5 ms of the host and chronyd selected an IPv6 NTP server; a clock set 700 ms back was within 7 ms again 10 s after chronyd's next poll. The tile builder's renderer reached its first frame (image phase). Tested: python3 -S -B scripts/test-fcvm-fleet.py OK, terraform fmt -check. --- fcvm-fleet.tf | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/fcvm-fleet.tf b/fcvm-fleet.tf index 55e5dd90..1462fd9e 100644 --- a/fcvm-fleet.tf +++ b/fcvm-fleet.tf @@ -31,18 +31,19 @@ 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 - # bdaa0003 with main's recipe (fleet/ami, ejc3/fcvm#1217): a GPU guest's NIC stays eth0 so its routed address is on it + # 47ec5fcf with main's recipe (fleet/ami, ejc3/fcvm#1217): a GPU guest's NIC stays eth0 so its routed address is on it # (#1197), the agent unit runs as root (routed VMs) and the host forwards IPv6; the agent dials the coordinator and takes - # --public-ipv4-from-imds (ejc3/fcvm#1229). - default = { "us-east-1" = { x86_64 = "ami-0913aacc80394e1bd" } } + # --public-ipv4-from-imds (ejc3/fcvm#1229). A restored guest's clock is stepped to the host's nanosecond (ejc3/fcvm#1301) + # and a routed guest gets IPv6 NTP servers it can reach (ejc3/fcvm#1343). + default = { "us-east-1" = { x86_64 = "ami-0084954a5dfe26bf6" } } } variable "fcvm_fleet_tile_amis" { description = "EC2 tile AMI per region and architecture, same shape as fcvm_fleet_host_amis" type = map(map(string)) # Ubuntu 24.04, the NVIDIA driver and container toolkit, the renderer image loaded, TLS on 443 from fcvm-fleet/tls-wildcard - # (fcvm fleet/ami/tile). Its renderer is the host AMI's: the same image, from ejc3/fcvm main c93a01d9. - default = { "us-east-1" = { x86_64 = "ami-08f3cc41395353a2f" } } + # (fcvm fleet/ami/tile). Its renderer is the host AMI's: the same image, from ejc3/fcvm main 47ec5fcf. + default = { "us-east-1" = { x86_64 = "ami-07bf015c4588aebc2" } } } locals { From 166bd13cebd5eafdf1c5ade6ca1dccd3ad529f4d Mon Sep 17 00:00:00 2001 From: ejc3 Date: Mon, 26 Oct 2026 22:59:59 +0000 Subject: [PATCH 2/2] fcvm-fleet: host AMI from ejc3/fcvm main 2c965afe ami-0084954a5dfe26bf6 (47ec5fcf) -> ami-00d8ecc3edfb8059e (2c965afe), which adds ejc3/fcvm#1350: the relay behind a GPU host's IPv4 slot ports sets TCP_NODELAY, so a frame's second TLS record no longer waits for the browser's delayed ACK. The renderer source is unchanged from 31f42d03, so the tile AMI stays. Checked on a g4dn.metal launched from the new AMI: store restored from S3, a routed GPU restore within 4 to 8 ms of the host for 20 s, chronyd with an IPv6 NTP source. --- fcvm-fleet.tf | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/fcvm-fleet.tf b/fcvm-fleet.tf index 2985a097..871ca79a 100644 --- a/fcvm-fleet.tf +++ b/fcvm-fleet.tf @@ -31,10 +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 - # 47ec5fcf with main's recipe (fleet/ami), revised from the bdaa0003 image: the renderer denoises moving frames and clamps - # the sky's history (ejc3/fcvm#1342), and a routed guest gets IPv6 NTP servers it can reach (ejc3/fcvm#1343). Its renderer - # source is the tile AMI's: 31f42d03 and 47ec5fcf differ only in fcvm's host code and fc-agent. - default = { "us-east-1" = { x86_64 = "ami-0084954a5dfe26bf6" } } + # 2c965afe with main's recipe (fleet/ami), revised from the bdaa0003 image: the renderer denoises moving frames and clamps + # the sky's history (ejc3/fcvm#1342), a routed guest gets IPv6 NTP servers it can reach (ejc3/fcvm#1343), and the IPv4 + # slot ports' relay sets TCP_NODELAY (ejc3/fcvm#1350). Its renderer source is the tile AMI's: 31f42d03 and 2c965afe differ + # only outside fleet/renderer. + default = { "us-east-1" = { x86_64 = "ami-00d8ecc3edfb8059e" } } } variable "fcvm_fleet_tile_amis" {