HPC and large accelerated EC2 instances running outside any placement group
What does ZopNight detect here?
ZopNight flags a running EC2 instance in an HPC-class family (`hpc*`, `p4d`, `p5`, `p5e`, `trn1`, `trn2` and similar) or marked as an HPC workload when it is not in any placement group. A cluster placement group packs instances close together in one Availability Zone for low latency and high throughput, which tightly coupled jobs depend on. No saving is claimed.
Signal and threshold
| Field | Value |
|---|---|
| Rule IDs | RC-186 |
| Category | compliance |
| Severity | low |
| Metric | none — pure configuration read |
| Threshold | no placement group |
| Source | ZopNight |
| Permissions used | ec2:DescribeInstances · ec2:DescribePlacementGroups |
Where it applies
Why node distance matters for HPC jobs
Tightly coupled workloads, such as MPI simulations and multi-node model training, spend much of their time exchanging data between instances. The placement strategies guide describes a cluster placement group as a logical grouping of instances within a single Availability Zone, recommended for applications that benefit from low network latency, high network throughput, or both, and notes that instances in the same cluster group get a higher per-flow throughput limit. Launch the same nodes without a group and EC2 may spread them across the zone, adding latency on every exchange and stretching the job’s runtime, and therefore its bill.
Finding HPC-class instances with no group
aws ec2 describe-instances \ --filters Name=instance-state-name,Values=running \ Name=instance-type,Values='hpc*','p4d.*','p5.*','p5e.*','trn1.*','trn2.*' \ --query 'Reservations[].Instances[?Placement.GroupName==``].[InstanceId,InstanceType]' \ --output tableTo see which groups exist and their strategy:
aws ec2 describe-placement-groups --query 'PlacementGroups[].[GroupName,Strategy,State]'Which instances count as HPC
The instance must be running, and ZopNight must classify it as HPC in one of two ways: a workload
type of HPC in its own inventory, or an instance type in its HPC family list. That list matches
exact family names: hpc* types, p4d, p4de, p5, p5e, p5en, p6-b200, p6e-gb200,
trn1, trn1n, trn2 and trn2u. A family not on the list is not inferred from a shorter prefix,
so p5 does not cover p5e. A free-form customer tag cannot make an instance count as HPC.
Instances in a group, of any kind
If the instance is in any named placement group, the rule treats it as compliant. ZopNight records only the group’s name, not its strategy, so an HPC instance placed in a spread or partition group, which gives none of the cluster-group latency benefit, will not be flagged.
A performance finding priced at $0
No saving is claimed. The payoff, when there is one, is shorter job times and so fewer billed instance hours for the same work.
Moving the instance into a cluster placement group
- Create a group:
aws ec2 create-placement-group --group-name hpc-cluster --strategy cluster. - Stop the instance; AWS requires it to be stopped before its placement group can change.
- Move it:
aws ec2 modify-instance-placement --instance-id i-0123456789abcdef0 --group-name hpc-cluster. - Start it and compare inter-node bandwidth and job runtime.