Skip to content

Add m8id instance family (Granite Rapids + local NVMe)#291

Open
JugadK wants to merge 2 commits into
Netflix-Skunkworks:mainfrom
JugadK:add-m8id
Open

Add m8id instance family (Granite Rapids + local NVMe)#291
JugadK wants to merge 2 commits into
Netflix-Skunkworks:mainfrom
JugadK:add-m8id

Conversation

@JugadK

@JugadK JugadK commented Jun 27, 2026

Copy link
Copy Markdown

Summary

Adds the m8id instance family: Intel Xeon 6 (Granite Rapids) CPU — identical to m8i — plus local NVMe ephemeral storage.

  • instance_families.py: new m8id entry. Shares m8i's CPU (GRANITE_RAPIDS_IPC, 3.9 GHz single/all-core turbo); uses a new 8th-gen-ssd io-latency curve.
  • auto_shape.py: new 8th-gen-ssd latency curve, measured via fio (4k randread, QD1, 60s; median across 10× m8id.4xlarge): p5/p50/p95 = 0.074 / 0.077 / 0.094 ms. minimum_value is a realistic 0.03 ms floor (the fio clat-min ~0.5 µs is a cached-I/O artifact, not the device floor).

TODO before un-drafting

  • Generate hardware/profiles/shapes/aws/auto_m8id.json (python -m service_capacity_modeling.tools.generate_missing --execute; needs EC2 describe-instance-types creds).
  • tox -e pre-commit and tox -e py312.

@JugadK JugadK force-pushed the add-m8id branch 4 times, most recently from dea7625 to 1632117 Compare June 29, 2026 23:09
m8id = m8i CPU + local NVMe. Mirrors m8i (GRANITE_RAPIDS_IPC, 3.9 GHz all-core)
and adds the local-NVMe ephemeral profile:
- instance_families.py: "m8id" entry with io_latency_curve "8th-gen-ssd".
- auto_shape.py: "8th-gen-ssd" latency curve from fio (4k randread, QD1, 60s),
  median across 49 m8id.4xlarge (three runs): low/mid/high = p5/p50/p95 =
  0.070/0.093/0.105 ms. Per-instance p50 is bimodal (~76us / ~93us, ~35%/65%
  split reproduced across all three runs), so the median is firmly ~93us.
  minimum_value 0.03 = realistic floor (clat-min ~0.5us is a cached-I/O
  artifact); maximum_value 1.2 = conservative tail bound.
- auto_shape.py: aws_iops_per_gib "8id" = (303.5, 151.8). m8id's published
  instance-store IOPS match the m6id/m7gd per-GiB rate exactly (m8id.96xlarge =
  6,439,992 read / 3,220,008 write over 6x3800 GB = 22,800 GB).
@JugadK JugadK marked this pull request as ready for review July 1, 2026 00:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants