A financial modeling firm is designing a high-performance compute (HPC) environment on AWS to run tightly-coupled risk simulations. The workload uses Message Passing Interface (MPI) and requires node-to-node network latency of less than microseconds. The cluster must dynamically scale between and compute-optimized EC2 instances based on queue depth. During load testing, the team observes that scaling out the Auto Scaling group incrementally results in frequent launch failures with `InsufficientInstanceCapacity` errors, and the network performance between newly launched instances does not meet the low-latency SLA.
Which architecture should a Solutions Architect recommend to resolve the capacity errors and maintain the required low-latency performance?
- Deploy the EC2 instances in a single Cluster Placement Group within a single Availability Zone. Use a Launch Template that specifies an Elastic Fabric Adapter (EFA) enabled instance type, and associate the Auto Scaling group with an On-Demand Capacity Reservation targeted for the placement group to guarantee that the maximum capacity of instances is pre-allocated.Answer
- BDeploy the EC2 instances across multiple Availability Zones using a Spread Placement Group. Enable Elastic Fabric Adapter (EFA) in the Launch Template, and configure a scaling policy based on the average network in/out metric to distribute the simulation nodes evenly.
- CDeploy the EC2 instances in a Partition Placement Group with partitions within a single Availability Zone. Configure an Application Load Balancer to distribute the simulation control traffic, setting the target group health check to the default port while the simulation application runs on port .
- DDeploy the EC2 instances in a Cluster Placement Group spanning Availability Zones. Use a Launch Template that enables Elastic Network Adapter (ENA) Express to automatically optimize node-to-node communication latency and throughput across the zones.