All articles

AWS ParallelCluster pricing: what an HPC cluster costs and how to cut it

By Mathieu Kerbel
Share on LinkedIn

Key facts

The tool
No charge: AWS ParallelCluster is available at no additional charge: you pay for the AWS resources it creates [1]
Idle nodes
10 minutes without a job, by default, before Slurm terminates a dynamic compute node (ScaledownIdletime) [4]
Static nodes
MinCount nodes of a queue run as long as the cluster exists; its default is 0, so a queue can scale to zero [4]
HPC instances
No Spot for any HPC instance type (hpc6a, hpc6id, hpc7a, hpc7g, hpc8a): Spot queues use other types [12]
EFA
No extra cost on any supported instance; its traffic cannot cross Availability Zones [16]
Logs
180 days of retention by default in CloudWatch Logs, and the logs are kept when the cluster is deleted [10]

AWS ParallelCluster builds high-performance computing (HPC) clusters on AWS, and it has no price of its own. In AWS's words, "you only pay for the AWS resources that are created when you create or update AWS ParallelCluster images and clusters". So AWS ParallelCluster pricing is the price of what a cluster is made of: a head node that never stops, Slurm queues of compute nodes that come and go with the jobs, shared storage such as Amazon FSx for Lustre, logs in Amazon CloudWatch, and the data transfer between them. This article covers what each part is, how it works under the hood, what it bills in the Paris Region (eu-west-3), and the ways AWS documents to pay less. Four priced clusters show what the levers do to whole monthly bills, and the cost section opens with an index of the levers, in the order to work through them.

Prices in this article are AWS list prices for the EU (Paris) Region, in USD before tax, from the AWS Price List. The offer files and their publication dates are listed in the Sources section, and each table repeats the dates of its own prices. Monthly amounts (730 hours), totals and percentages are computed from these prices. Spot prices are not in the AWS Price List: no Spot price is shown.

What AWS ParallelCluster is, and why it has no price of its own

AWS ParallelCluster is a cluster management tool that AWS supports. The user guide says what it does: "It automatically sets up the required compute resources, scheduler, and shared file system." You drive it with a command line interface (pcluster), an API, a web interface (PCUI), a Python library, or as an AWS CloudFormation custom resource, and you describe each cluster in one YAML file: its head node, its queues, its shared storage, its monitoring.

The scheduler is Slurm. The same page notes that "Starting with AWS ParallelCluster version 3.16.0, AWS Batch as a scheduler is no longer supported." Every resource the tool creates is an ordinary AWS resource in your account, billed under its own service: there is no "ParallelCluster" line on the bill. The list of AWS services it uses is long, from Amazon EC2 and Amazon EBS to Amazon DynamoDB and Amazon Route 53, but a few lines carry almost all of the cost:

What an AWS ParallelCluster cluster bills, and the setting that drives each line

Part of the cluster Billed by What sets the amount
Head node Amazon EC2, per hour HeadNode / InstanceType, every hour the cluster exists
Login nodes Amazon EC2, per hour LoginNodes / Pools / Count and InstanceType
Compute nodes Amazon EC2, per hour MinCount, MaxCount, the jobs, ScaledownIdletime
Root and shared volumes Amazon EBS, per GB-month Size and type, for as long as each volume exists
Shared file systems Amazon FSx, Amazon EFS, per GB-month DeploymentType, PerUnitStorageThroughput, StorageCapacity
Logs Amazon CloudWatch, per GB Monitoring / Logs, RetentionInDays
Data transfer AWS data transfer, per GB Subnets in one zone or several, data in or out of the Region

How an AWS ParallelCluster cluster works, under the hood

AWS describes CloudFormation as "the main service used by AWS ParallelCluster. Each cluster in AWS ParallelCluster is represented as a stack". Creating a cluster creates that stack; deleting the cluster deletes it, with the resources it manages.

What an AWS ParallelCluster cluster is made of, and what each part billsAWS ParallelCluster creates a cluster in a VPC in the Paris Region: users reach a login node, the head node runs the Slurm scheduler and launches compute nodes in one Availability Zone, the compute nodes read an Amazon FSx for Lustre file system linked to an S3 bucket, and the nodes send their logs to CloudWatch Logs.Region eu-west-3 (Paris)VPCAvailability Zone 1UsersAWS ParallelClusterLogin nodeHead node(Slurm)Compute nodesAmazon FSxfor LustreCloudWatchLogsS3bucket1234
What an AWS ParallelCluster cluster is made of, and what each part bills
  1. AWS ParallelCluster creates the cluster as a CloudFormation stack. The tool has no charge: the bill is the resources it creates.
  2. The head node runs the Slurm scheduler every hour the cluster exists ($0.2352 an hour for an m7i.xlarge); login nodes, when there are any, run all the time too.
  3. Compute nodes bill only while they exist: static nodes (MinCount) all the time, dynamic nodes from launch until ScaledownIdletime minutes after their last job, and the few minutes their termination takes ($8.5553 an hour for an hpc7a.96xlarge).
  4. The shared storage bills by the GB-month it exists ($0.162 per GB-month for a scratch FSx for Lustre file system), and the logs by the GB ingested ($0.5985) and stored.

The head node and the login nodes

AWS lists the logs of Slurm's controller, slurmctld, among the head node's, and those of its node daemon, slurmd, among the compute fleet's (Integration with Amazon CloudWatch Logs): it follows that the head node runs the Slurm controller. It "tracks provisioned instances in a DynamoDB table", and by default it also serves files: with SharedStorageType left at Ebs, "the head node will export portions of its root volume as shared directories for compute nodes and login nodes using NFS" (HeadNode section). Two constraints shape its cost. Its instance type must have the compute nodes' architecture, and it cannot change: the update policy reads "If this setting is changed, the update is not allowed." A head node is sized once, for the life of the cluster.

Login nodes, since version 3.7.0, give users a shell without the head node; a pool's Count "Specifies the number of login nodes to keep active" (LoginNodes section). It follows that, like the head node, they run, and bill, all the time.

The Slurm queues: static nodes and dynamic nodes

Each queue has compute resources, each with a MinCount and a MaxCount. The Scheduling section gives the defaults: MinCount "The default is 0", MaxCount "The default is 10". The nodes up to MinCount are static: "At cluster creation time, the head node waits for all the static nodes to be ready before signaling the success of cluster creation." The others are dynamic, and ScaledownIdletime "Defines the amount of time (in minutes) that there's no job and the Slurm node terminates. The default value is 10." The Slurm guide for multiple queue mode draws the line: "Dynamic nodes automatically enter the POWER_DOWN state after ScaledownIdletime. In contrast, static nodes in most cases aren't powered down", and "Backing instances for POWER_DOWN nodes are immediately terminated. The terminate process usually is finished in a few minutes." It follows that static nodes bill every hour the cluster exists, and dynamic nodes from their launch until a few minutes after ScaledownIdletime.

A queue's CapacityType is ONDEMAND by default, SPOT, or CAPACITY_BLOCK; with a Capacity Block, "all the instances part of the Capacity Block reservation are managed as static nodes". Spreading a queue over zones has a price too, in AWS's words: "The use of multiple Availability Zones might cause increases in storage networking latency and added inter-AZ data transfer costs."

Instances for HPC: EFA, the HPC types and Graviton

Tightly coupled jobs, such as MPI simulations, exchange data between nodes all the time. For them, AWS offers the Elastic Fabric Adapter (EFA), which "provides lower and more consistent latency and higher throughput", and EFA, in the EC2 guide's words, "is available as an optional Amazon EC2 networking feature that you can enable on any supported instance at no additional cost". Its traffic "can't cross Availability Zones or VPCs". A queue turns it on with Efa / Enabled, off by default, usually with a cluster placement group.

The HPC instance types (hpc6a, hpc6id, hpc7a, hpc7g, hpc8a) all have EFA and one thread per core, and none of them supports Spot. Two of them run in Paris: the EC2 list of instance types by Region gives "Hpc6id | Hpc7a" for Europe (Paris), and the Paris price list has rows for those two only. Every hpc7a size has the same price, and AWS lists the same 768 GiB and 300 Gbps for each: it follows that a smaller size buys the same memory and network per node for fewer cores.

Instances for an AWS ParallelCluster queue in Paris (eu-west-3), On-Demand, Linux

ItemList price, per hourA month (730 h), computed
HPC instance types (EFA)
hpc7a.96xlarge192 cores, 768 GiB, 300 Gbps$8.5553$6,245.37
hpc7a.12xlarge24 cores, 768 GiB, 300 Gbps$8.5553$6,245.37
hpc6id.32xlarge64 cores, 1,024 GiB, local NVMe$6.77294$4,944.25
Compute optimized
c6i.32xlarge128 vCPU, EFA$6.464$4,718.72
c7i.16xlarge64 vCPU, no EFA at this size$3.3936$2,477.33
c7g.16xlarge64 vCPU, AWS Graviton3, EFA$2.7475$2,005.68
c6gn.16xlarge64 vCPU, AWS Graviton2, 100 Gbps, EFA$3.28$2,394.40
Head node or login node
m7i.xlarge4 vCPU, 16 GiB, x86$0.2352$171.70
m7g.xlarge4 vCPU, 16 GiB, AWS Graviton3$0.1904$138.99

USD, before tax. AWS Price List, eu-west-3, offer file published October 23, 2026, fetched October 26, 2026.

AWS Graviton instances run the same queues for less per hour when the code builds for arm64: a c7g.16xlarge costs 19.0% less than a c7i.16xlarge of the same 64 vCPU, computed. The same vCPU count is not the same number of cores: AWS's specifications give the c7i.16xlarge 32 cores of two threads each, and the c7g.16xlarge 64 cores of one thread. A code run one process per core, with simultaneous multithreading off, gets twice the cores on the c7g node. Whether it does the same work in the same hours is for a benchmark of the real jobs to say.

Shared storage: EBS, EFS and the FSx file systems

The SharedStorage section mounts Amazon EBS volumes, Amazon Elastic File System (Amazon EFS), Amazon FSx for Lustre, FSx for NetApp ONTAP or FSx for OpenZFS on every node. Storage the cluster creates is "managed": by default it is deleted with the cluster (DeletionPolicy Delete), unless set to Retain, or Snapshot for EBS. External storage, created outside the cluster, is never deleted by it.

Amazon FSx for Lustre is the file system built for HPC. Its default deployment type in ParallelCluster is SCRATCH_2, and the two families bill differently. Scratch file systems "are designed for temporary storage and shorter-term processing of data. Data isn't replicated and doesn't persist if a file server fails". Persistent ones replicate their data, and the same guide tells the storage classes apart: "For SSD and HDD-based file systems, data is automatically replicated within the same Availability Zone in which the file system is located. For Intelligent-Tiering file systems, data is replicated across multiple Availability Zones." SSD and HDD file systems bill by their throughput tier, since, in ParallelCluster's words, "You pay for the amount of throughput that you provision"; Intelligent-Tiering bills its throughput apart. A scratch, SSD or HDD file system can be linked to an S3 bucket, so the data lives in S3 and the file system only while it is needed; "Intelligent-Tiering file systems don't support linking to Amazon S3 data repositories" (Using data repositories with Amazon FSx for Lustre).

Logs and monitoring

Cluster logs stream to CloudWatch Logs by default, with a CloudWatch dashboard and alarms for the head node. The Monitoring section sets RetentionInDays to 180 by default and the log DeletionPolicy to Retain: the logs outlive the cluster. Detailed monitoring of the compute fleet is off by default; "There are added costs when this feature is enabled."

In short: A cluster bills as its parts: a head node and login nodes every hour, compute nodes only while they exist, storage by the GB-month it exists, and logs by the GB, so the settings that decide when each part exists decide the bill.

What AWS ParallelCluster is used for, and how it compares with AWS PCS

ParallelCluster's use is to stand up an HPC cluster with a scheduler users already know: simulations that span many nodes over EFA, parameter sweeps of independent jobs, genomics pipelines, rendering. AWS suggests building on it, for example "a genomics portal that automates an entire DNA sequencing workflow".

AWS also runs Slurm for you. AWS Parallel Computing Service (AWS PCS) "is a managed service that makes it easier to run and scale high performance computing (HPC) workloads ... using Slurm". The difference shows on the bill: with ParallelCluster the head node is an instance you pay for by the hour; with AWS PCS, its FAQs describe "an hourly controller fee based on the size of the managed Slurm controller", a node management fee per managed instance, and EC2 and storage on top. The pages read for this article publish no side-by-side comparison of the two, or with AWS Batch, which ParallelCluster no longer offers as a scheduler.

ParallelCluster's settings for the main kinds of HPC work, and the bill line each one moves

Kind of work Queue settings AWS documents The line it moves
Tightly coupled simulations (MPI) HPC instance types, Efa on, a placement group, one zone Compute: the most expensive hours, On-Demand only
Independent jobs (sweeps, batches) Any instance type, Instances lists, no EFA Compute: Graviton or Spot queues can serve them
Data-heavy campaigns FSx for Lustre linked to S3 Storage: scratch for the campaign, S3 for the rest
Interactive work Login nodes, Amazon DCV on the head node or login nodes Compute: always-on nodes

How AWS ParallelCluster pricing works

Compute: the hours of each node

Every node bills its instance's hourly price for the hours it exists. A head node m7i.xlarge costs $0.2352 per hour, $171.70 a month, computed; one hpc7a.96xlarge left running as a static node costs $6,245.37 a month, computed. The table of instances above lists the others with their monthly amounts.

Eight static hpc7a.96xlarge nodes

$49,962.95 a monthin Paris, 730 hours each, computed: what a queue with MinCount 8 bills whether or not a job runs.

Computed from the AWS Price List · eu-west-3 · Oct 23, 2026

Savings Plans apply to these hours like any EC2 hours. In Paris, the 1-year No Upfront Compute Savings Plan rate of an hpc7a.96xlarge is $8.0847 per hour, and the EC2 Instance Savings Plan rate $6.7373 per hour, against $8.5553 per hour On-Demand.

Storage: FSx for Lustre, EBS and EFS in Paris

FSx for Lustre bills "the average amount of storage provisioned for your file systems per month, measured in GB-months", with "no minimum fees or set-up charges", "prorated by the second" (FSx for Lustre pricing). The throughput tier is in the price of each GB:

Shared storage for AWS ParallelCluster in Paris (eu-west-3)

ItemList priceUnit
FSx for Lustre, SSD
Scratch (SCRATCH_2)200 MB/s per TiB baseline, not replicated$0.162per GB-month
Persistent 1, 50 MB/s per TiB$0.164per GB-month
Persistent 1, 200 MB/s per TiB$0.342per GB-month
Persistent 2, 125 MB/s per TiB$0.184per GB-month
Persistent 2, 250 MB/s per TiB$0.279per GB-month
Persistent 2, 500 MB/s per TiB$0.467per GB-month
Persistent 2, 1,000 MB/s per TiB$0.844per GB-month
FSx for Lustre, HDD and Intelligent-Tiering
Persistent 1 HDD, 12 MB/s per TiB$0.026per GB-month
Persistent 1 HDD, 40 MB/s per TiB$0.086per GB-month
Intelligent-Tiering, Frequent AccessReplicated across zones; not linkable to S3$0.024per GB-month
Intelligent-Tiering, Infrequent AccessAfter 30 days without access$0.0131per GB-month
Intelligent-Tiering throughputPer MBps provisioned, billed apart$0.593per MiB/s-month
Backups$0.053per GB-month
Other shared storage
Amazon EBS gp3Root and shared volumes$0.0928per GB-month
EBS snapshotsWhat DeletionPolicy Snapshot keeps$0.053per GB-month
Amazon EFS StandardSharedStorageType Efs, or a shared file system$0.33per GB-month
Amazon S3 StandardFirst 50 TB a month$0.024per GB-month

USD, before tax. AWS Price List, eu-west-3, offer files published September 11, 2026, October 15, 2026 and October 23, 2026, fetched October 26, 2026.

So the same 12,000 GB costs $1,944.00 a month as a scratch file system and $10,128.00 as Persistent 2 at 1,000 MB/s per TiB, computed, if each exists the whole month.

Logs and data transfer

Logs and data transfer for AWS ParallelCluster in Paris (eu-west-3)

ItemList priceUnit
CloudWatch Logs ingestion, StandardPer GB$0.5985per GB
CloudWatch Logs ingestion, Infrequent AccessPer GB$0.299per GB
CloudWatch Logs storagePer GB-month$0.0315per GB-month
Between Availability ZonesPer GB, out of one zone and again into the other$0.01per GB
Out to the internet, first 10 TB a monthPer GB, after 100 GB a month free$0.09per GB

USD, before tax. AWS Price List, eu-west-3, offer files published September 16, 2026 and October 7, 2026, fetched October 26, 2026.

In short: The tool is free; the hours of the head node and of every compute node, the GB-months of every volume and file system, and the GB of logs are what a cluster costs, at the prices of the instance types and storage tiers you choose.

Architecture patterns around AWS ParallelCluster, and what they cost

Four illustrative configurations in Paris, each priced before and after the levers of the next section, line by line from the AWS Price List: a queue whose nodes never stop, a file system kept between campaigns, a queue moved to Graviton, and interruptible jobs moved to Spot. None is a client case; every amount is computed, and each card lists its assumptions and what it leaves out. The EC2 patterns price the instances of a web application the same way.

Pattern 1 of 4 · Illustrative configuration

A simulation cluster that keeps its compute nodes on

A head node and a Slurm queue of 8 hpc7a.96xlarge nodes with EFA, all static (MinCount equal to MaxCount), running all month; then MinCount 0, so the nodes exist only while jobs run and for the default 10 idle minutes after, and a Compute Savings Plan on the head node, the one instance that never stops.

Static compute nodes, or nodes that scale to zeroBefore: a head node and eight static hpc7a.96xlarge compute nodes that run all month. After: the same head node, on a Savings Plan, and eight dynamic compute nodes that exist only while jobs run.Before: MinCount 8, static nodesAfter: MinCount 0, dynamic nodesHead node8 static nodesall monthHead nodeSavings Plan8 dynamic nodeswhile jobs run12
Static compute nodes, or nodes that scale to zero Illustrative configuration in Paris, not a client case.
  1. Static nodes run, and bill $8.5553 an hour each, every hour the cluster exists, with or without a job.
  2. Dynamic nodes launch when jobs are queued and terminate after ScaledownIdletime (10 minutes by default) without a job; the head node, which never stops, is the part to commit.

The static queue ran 5,840 node-hours a month; the dynamic one runs 1,240, 155 hours a node, computed. The 10 idle minutes after each run add up to 40 node-hours, $342.21 a month, 3.2% of the bill with the levers, computed; setting ScaledownIdletime lower would trade them against more node launches.

Before · All nodes static, all month: compute $50,134.65, storage $79.81, total $50,214.46 a month.

With the levers · Scaled to zero, head node committed: compute $10,738.78, storage $56.42, total $10,795.20 a month.

With the levers: $39,419.26 a month less (78.5% less), computed.

A simulation cluster that keeps its compute nodes on, one lever at a time: the bill a month, computed

StepA month, computedChange
All nodes staticBefore the levers$50,214.46—
MinCount 0, nodes scale to zeroLever: Let idle compute nodes scale to zero$10,836.69−$39,377.77
1-year Compute Savings Plan, head nodeLever: Commit only to the part that never stops$10,795.20−$41.49

USD, before tax. AWS Price List, eu-west-3, offer file published October 23, 2026, fetched October 26, 2026.

The bills line by line, the assumptions and the sources

A simulation cluster that keeps its compute nodes on, before: All nodes static, all month Illustrative

8 static nodes, 730 hours each, used or not.

LineA month
Compute$50,134.65
Head node, m7i.xlarge1 instance × 730 h × $0.2352 /h$171.70
Compute nodes, hpc7a.96xlarge8 instances × 730 h × $8.5553 /h$49,962.95
Storage$79.81
Head node root volume (gp3)40 GB × $0.0928 /GB-mo$3.71
Shared EBS volume, /shared (gp3)500 GB × $0.0928 /GB-mo$46.40
Their root volumes (gp3)320 GB × $0.0928 /GB-mo$29.70
A month, computed$50,214.46

A simulation cluster that keeps its compute nodes on, with the levers: Scaled to zero, head node committed Illustrative

Dynamic nodes, 155 hours each, and the head node on a Savings Plan.

LineA month
Compute$10,738.78
Head node, m7i.xlarge, 1-year Compute Savings Plan1 instance × 730 h × $0.17837 /h$130.21
Compute nodes, hpc7a.96xlarge8 instances × 155 h × $8.5553 /h$10,608.57
Storage$56.42
Head node root volume (gp3)40 GB × $0.0928 /GB-mo$3.71
Shared EBS volume, /shared (gp3)500 GB × $0.0928 /GB-mo$46.40
Their root volumes (gp3)320 GB × 155 h / 730 h × $0.0928 /GB-mo$6.31
A month, computed$10,795.20

Assumptions

  • Illustrative configuration in Paris (eu-west-3), not a client case.
  • A head node m7i.xlarge with a 40 GB gp3 root volume, a 500 GB gp3 shared volume, and one compute resource of 8 hpc7a.96xlarge (192 cores each, EFA on, one cluster placement group), each with a 40 GB gp3 root volume; root volume sizes are illustrative (the default comes from the AMI).
  • The jobs keep each node busy 150 hours a month, in 30 runs; after each run Slurm waits ScaledownIdletime (default 10 minutes) before it terminates the node, so each dynamic node exists 155 hours a month.
  • A dynamic node's root volume is attached at launch, and EC2 deletes a root volume attached at launch when its instance is terminated, unless the AMI or the launch says otherwise (Preserve data when an instance is terminated); so it bills for the hours the node exists.
  • The Compute Savings Plan is the 1-year No Upfront rate of the head node's On-Demand SKU, used every hour of the month. It is the Compute plan, not the cheaper EC2 Instance Savings Plan, which commits to one instance family in the Region: a move of the cluster to Graviton (pattern 3) changes the head node's family.

Not counted

  • CloudWatch Logs, the DynamoDB table and the Route 53 hosted zone that ParallelCluster creates, and data transfer: small next to the nodes, and the same in both variants.
  • Node launch time: a dynamic node bills from its launch, before its first job starts.

Sources

USD before tax, 730 h a month. AWS Price List, eu-west-3, offer file published October 23, 2026, fetched October 26, 2026. Illustrative configuration, not a client case.

Pattern 2 of 4 · Illustrative configuration

A Lustre file system kept all month for two campaigns

12,000 GB of project data on an FSx for Lustre Persistent 2 file system, kept all month; then the data in Amazon S3 Standard, and a SCRATCH_2 file system of the same size created with the cluster for each of two 120-hour campaigns, and deleted with it.

A persistent file system all month, or S3 and scratch per campaignBefore: compute nodes read an FSx for Lustre Persistent 2 file system kept all month. After: the data stays in an S3 bucket, and a scratch FSx for Lustre file system linked to it is created for each campaign.Before: Persistent 2, all monthAfter: data in S3, scratch per campaignCompute nodesAmazon FSxfor LustreCompute nodesAmazon FSxfor LustreS3bucket12
A persistent file system all month, or S3 and scratch per campaign Illustrative configuration in Paris, not a client case.
  1. Persistent 2 at 250 MB/s per TiB bills $0.279 per GB-month for every hour it exists, between campaigns too.
  2. The data stays in S3 Standard ($0.024 per GB-month); a SCRATCH_2 file system ($0.162 per GB-month) is created for each campaign, its results exported to S3, then deleted with the cluster.

The scratch file system exists 240 hours a month instead of 730, and the data that stays between campaigns pays S3's price instead of Lustre's: 72.3% less, computed. The price is that scratch data is not replicated: results go back to S3 before the file system is deleted.

Before · Persistent 2 kept all month: storage $3,348.00, total $3,348.00 a month.

With the levers · Scratch per campaign, data in S3: storage $927.12, total $927.12 a month.

With the levers: $2,420.88 a month less (72.3% less), computed.

The bills line by line, the assumptions and the sources

A Lustre file system kept all month for two campaigns, before: Persistent 2 kept all month Illustrative

One persistent file system, 730 hours.

LineA month
Storage
FSx for Lustre, Persistent 2 SSD, 250 MB/s per TiB12,000 GB × $0.279 /GB-mo$3,348.00
A month, computed$3,348.00

A Lustre file system kept all month for two campaigns, with the levers: Scratch per campaign, data in S3 Illustrative

S3 all month, a scratch file system 240 hours.

LineA month
Storage$927.12
Amazon S3 Standard, the project data12,000 GB × $0.024 /GB-mo$288.00
FSx for Lustre, SCRATCH_2, during the campaigns12,000 GB × 240 h / 730 h × $0.162 /GB-mo$639.12
A month, computed$927.12

Assumptions

  • Illustrative configuration in Paris (eu-west-3), not a client case.
  • 12,000 GB of project data (StorageCapacity 12,000 GiB, a multiple of 2,400 GiB as SCRATCH_2 and PERSISTENT_2 require), read by the jobs during two campaigns of 120 hours each a month. The capacity is billed as 12,000 GB-months, as AWS's FSx for Lustre pricing examples bill the smallest file system's 1,200 as "1,200 GB".
  • Before: PERSISTENT_2, SSD, 250 MB/s per TiB, the throughput tier just above scratch's 200 MB/s per TiB baseline; no backups.
  • With the levers: the data stays in S3 Standard (first 50 TB tier); a SCRATCH_2 file system linked to the bucket is created for each campaign and deleted after it (DeletionPolicy Delete, the default), so it exists 240 hours a month.
  • A scratch file system does not replicate its data: what the jobs write must be exported to S3 before the file system is deleted.

Not counted

  • S3 requests made by the imports and exports, and the compute nodes: the same jobs run in both variants.
  • Data transfer between the bucket and the file system, in the same Region: no page read for this article prices it.
  • The minutes each import takes before a campaign can start.

Sources

USD before tax, 730 h a month. AWS Price List, eu-west-3, offer files published September 11, 2026 and October 15, 2026, fetched October 26, 2026. Illustrative configuration, not a client case.

Pattern 3 of 4 · Illustrative configuration

A throughput queue on x86 or on Graviton

2,000 instance-hours a month of loosely coupled jobs on c7i.16xlarge with an m7i.xlarge head node; then the same hours on c7g.16xlarge (AWS Graviton3) with an m7g.xlarge head node, since the head node must have the queue's architecture.

The bill falls by 19.0% less, computed, for the same instance-hours: the head node moves to Graviton with the queue, since a cluster has one architecture. If the jobs ran slower on Graviton, the hours would grow and eat into it: the benchmark comes first.

Before · x86 (c7i.16xlarge): compute $6,958.90, total $6,958.90 a month.

With the levers · Graviton (c7g.16xlarge): compute $5,633.99, total $5,633.99 a month.

With the levers: $1,324.91 a month less (19.0% less), computed.

The bills line by line, the assumptions and the sources

A throughput queue on x86 or on Graviton, before: x86 (c7i.16xlarge) Illustrative

Intel nodes and head node.

LineA month
Compute$6,958.90
Head node, m7i.xlarge1 instance × 730 h × $0.2352 /h$171.70
Compute nodes, c7i.16xlarge10 instances × 200 h × $3.3936 /h$6,787.20
A month, computed$6,958.90

A throughput queue on x86 or on Graviton, with the levers: Graviton (c7g.16xlarge) Illustrative

Graviton nodes and head node.

LineA month
Compute$5,633.99
Head node, m7g.xlarge1 instance × 730 h × $0.1904 /h$138.99
Compute nodes, c7g.16xlarge10 instances × 200 h × $2.7475 /h$5,495.00
A month, computed$5,633.99

Assumptions

  • Illustrative configuration in Paris (eu-west-3), not a client case.
  • 10 nodes of 64 vCPU, 200 hours each a month: 2,000 instance-hours of independent jobs (parameter sweeps), with no EFA.
  • The comparison is at equal vCPU, not equal cores: a c7i.16xlarge has 32 cores of two threads each, a c7g.16xlarge 64 cores of one thread (AWS's compute optimized specifications). A code run one process per core, with simultaneous multithreading off, gets twice the cores on the c7g node.
  • The jobs take the same hours on both: an assumption, not an AWS figure. A benchmark of the real code decides; if it runs slower on Graviton, the hours grow, and if it runs one process per core, they may shrink.
  • The code and its libraries build for arm64; the head node and the compute nodes use the ParallelCluster AMI of their architecture.

Not counted

  • Root volumes, shared storage and logs: the same in both variants.
  • The work of porting and testing the code on arm64.

Sources

USD before tax, 730 h a month. AWS Price List, eu-west-3, offer file published October 23, 2026, fetched October 26, 2026. Illustrative configuration, not a client case.

Pattern 4 of 4 · Illustrative configuration

Interruptible jobs on a Spot queue

1,000 instance-hours a month of jobs that checkpoint and can restart, on an On-Demand queue of c7i.16xlarge; then the same hours on a queue with CapacityType SPOT and the price-capacity-optimized strategy, the head node kept On-Demand.

The Spot hours would have cost $3,393.60 On-Demand, computed; their Spot price is not in the AWS Price List. HPC instance types cannot join this queue: none of them supports Spot.

Before · On-Demand queue: compute $3,565.30, total $3,565.30 a month.

With the levers · Spot queue: compute $171.70, priced lines $171.70 a month, plus 1,000 Spot instance-hours, not priced.

No difference is computed: the Spot hours have no list price (AWS: up to 90% less than On-Demand).

The bills line by line, the assumptions and the sources

Interruptible jobs on a Spot queue, before: On-Demand queue Illustrative

Head node and compute nodes On-Demand.

LineA month
Compute$3,565.30
Head node, m7i.xlarge1 instance × 730 h × $0.2352 /h$171.70
Compute nodes, c7i.16xlarge4 instances × 250 h × $3.3936 /h$3,393.60
A month, computed$3,565.30

Interruptible jobs on a Spot queue, with the levers: Spot queue Illustrative

Head node On-Demand, compute nodes on Spot.

LineA month
Compute$171.70
Head node, m7i.xlarge1 instance × 730 h × $0.2352 /h$171.70
Compute nodes, c7i.16xlarge on Spot1,000 instance-hours · On-Demand equivalent, as c7i.16xlarge: $3,393.60, computedNot priced
Priced lines, a month, computed$171.70
+ 1,000 Spot instance-hours, not priced (AWS: up to 90% less than On-Demand)

Assumptions

  • Illustrative configuration in Paris (eu-west-3), not a client case.
  • 4 nodes c7i.16xlarge, 250 hours each a month; the jobs write checkpoints and are requeued when a node is interrupted.
  • HPC instance types (hpc6a, hpc6id, hpc7a, hpc7g, hpc8a) do not support Spot: a Spot queue uses other types.
  • The head node stays On-Demand: it runs the scheduler and is not interruptible work.

Not counted

  • The hours an interrupted job runs again from its last checkpoint.
  • Root volumes, shared storage and logs: the same in both variants.

Sources

USD before tax, 730 h a month. AWS Price List, eu-west-3, offer file published October 23, 2026, fetched October 26, 2026. Illustrative configuration, not a client case.

Want the same levers on your own bill?

Get a free audit

How to reduce AWS ParallelCluster costs

Each lever below comes from AWS documentation, the last one from the Well-Architected Framework; their order is this article's: see what each cluster bills, remove what outlives its use, reshape the compute and the storage around the jobs, keep the traffic in one zone, commit only where the usage is steady, and look again:

  1. Lever 01,SeeSee what each cluster billsAlways, and first
  2. Lever 02,TrimDelete what a deleted cluster leaves behindAfter every deleted cluster
  3. Lever 03,TrimSet a retention on the cluster's logsEvery cluster that streams logs
  4. Lever 04,ReshapeLet idle compute nodes scale to zeroQueues that wait between jobs
  5. Lever 05,ReshapeSize the head node and the login nodes for their jobBefore the cluster is created
  6. Lever 06,ReshapeKeep HPC instances for tightly coupled jobsChoosing a queue's instance type
  7. Lever 07,ReshapeMove to Graviton where the code builds for arm64Code that builds and runs on arm64
  8. Lever 08,ReshapeRun interruptible jobs on Spot queuesJobs that checkpoint and can restart
  9. Lever 09,ReshapeUse scratch file systems for short-lived data, and S3 for the restData read during campaigns
  10. Lever 10,ReshapeProvision Lustre throughput for what the jobs readPersistent file systems
  11. Lever 11,RouteKeep a cluster in one Availability ZoneQueues over several zones
  12. Lever 12,CommitCommit only to the part that never stopsOnce the rest is done
  13. Lever 13,ReviewReview on a cadenceQuarterly to yearly, by share of the bill

Lever 01 · See

See what each cluster bills

When it applies
Always, and first: a cluster's cost is spread over EC2, EBS, FSx, EFS, CloudWatch and data transfer lines, none of them named after ParallelCluster.
Watch out
Each cluster is a CloudFormation stack: its resources are listed there, but storage created outside the cluster (external storage) is not; Cost Explorer files the EBS volumes and snapshots under EC2 - Other.
Tools
Cost ExplorerThe cluster's CloudFormation stack

No line of the bill is called ParallelCluster. Each cluster is a CloudFormation stack, so its resources are listed in one place: the head node, the compute fleet, the managed volumes and file systems. Cost Explorer then shows them under EC2 - Instances, EC2 - Other (the EBS volumes and snapshots), FSx, EFS and CloudWatch: "Instead of a single group for Amazon EC2 costs, Cost Explorer will group costs into EC2 - Instances and EC2 - Other" (Knowing the differences between Billing and Cost Explorer data). Storage the cluster mounts but did not create is not in the stack, and is easy to forget.

Lever 02 · Trim

Delete what a deleted cluster leaves behind

When it applies
Volumes and file systems kept with DeletionPolicy Retain or Snapshot, the snapshots themselves, and log groups, which are kept by default.
Watch out
Retain is often set on purpose, to keep results: check with the owner before deleting.
Tools
pcluster delete-clusterCost Explorer

Managed storage is deleted with the cluster by default, but Retain keeps a volume or a file system, Snapshot keeps an EBS snapshot, and the logs are kept by default. Each keeps billing: a retained 12,000 GB Persistent 2 file system at 250 MB/s per TiB costs $3,348.00 a month, computed, with no cluster to use it.

Lever 03 · Trim

Set a retention on the cluster's logs

When it applies
Clusters with the default 180-day retention and the default Retain policy, whose logs outlive the cluster.
Watch out
A retention of 0 means the CloudWatch default: never expire.
Tools
Monitoring / Logs / CloudWatch / RetentionInDays

RetentionInDays is 180 by default, and 0 "will use the default CloudWatch log retention setting, i.e. never expire". Choose the retention the logs are needed for, and the Delete policy for clusters whose logs need not outlive them. Ingestion costs $0.5985 per GB in Paris; storage $0.0315 per GB-month.

Lever 04 · Reshape

Let idle compute nodes scale to zero

When it applies
Queues whose MinCount keeps static nodes running between jobs, used or not.
Watch out
A dynamic node takes minutes to launch; ScaledownIdletime trades idle minutes against relaunches.
Tools
MinCountScaledownIdletime

With MinCount at its default of 0, a queue has no node until a job needs one, and Slurm terminates each node ScaledownIdletime minutes after its last job. Static nodes make sense for a queue that is busy every hour, or with a Capacity Block, which requires them. Pattern 1 prices the difference on eight hpc7a.96xlarge: 78.4% less with this lever alone, computed.

Lever 05 · Reshape

Size the head node and the login nodes for their job

When it applies
Head nodes sized like compute nodes, though the jobs run on the queues' nodes, and login node pools that keep more nodes active than users need.
Watch out
The head node's instance type cannot change on an update: a new type is a new cluster. With the default Ebs shared storage, the head node also serves /home over NFS.
Tools
HeadNode / InstanceTypeLoginNodes / Pools / Count

The head node runs the Slurm controller and, with the default Ebs shared storage, serves the shared directories over NFS; the jobs run on the queues' compute nodes, which, in the Slurm guide's words, become available "to run jobs" once they have "joined the cluster". Size it for that, knowing that its type cannot change without a new cluster, and that the user guide recommends EFS "for scale" when NFS from the head node becomes the bottleneck. Keep a login pool's Count to the users it serves.

Lever 06 · Reshape

Keep HPC instances for tightly coupled jobs

When it applies
Jobs that exchange data between nodes through MPI and need EFA; independent jobs do not need an HPC type.
Watch out
HPC instance types do not support Spot, and Paris offers two of them only, hpc6id and hpc7a.
Tools
Efa / EnabledPlacementGroup

HPC instance types are built for jobs that exchange data over EFA; they are On-Demand or committed only, never Spot. Independent jobs do not need EFA and can run on any type, Graviton or Spot included. Within hpc7a, every size costs $8.5553 per hour in Paris: the size sets the cores, not the price.

Lever 07 · Reshape

Move to Graviton where the code builds for arm64

When it applies
Queues whose code and libraries build for arm64, after a benchmark on the real jobs.
Watch out
The head node, the login nodes and the queues of one cluster share one architecture.
Tools
A benchmark of the real jobs

A cluster has one architecture: the head node's must be the compute nodes', and the login nodes' too. A Graviton cluster is a new cluster, with an arm64 head node. Pattern 3 prices it on the same hours; a benchmark of the real jobs says whether the hours stay the same.

Lever 08 · Reshape

Run interruptible jobs on Spot queues

When it applies
Jobs that write checkpoints and can be requeued, on queues with CapacityType SPOT.
Watch out
Two minutes of notice; HPC instance types do not support Spot; not for the head node.
Tools
CapacityType SPOTAllocationStrategy price-capacity-optimized

A queue with CapacityType SPOT runs its jobs like any other queue: "The AWS ParallelCluster configured scheduler assigns jobs to compute resources in queues with spot instances in the same way it assigns jobs to compute resources in queues with on-demand instances" (Working with Spot Instances). The jobs must survive an interruption, announced two minutes ahead. In the Scheduling section, the price-capacity-optimized strategy requests "Spot Instances from the pools that we believe have the lowest chance of interruption in the near term", then the lowest-priced of those; lowest-price is the default.

Lever 09 · Reshape

Use scratch file systems for short-lived data, and S3 for the rest

When it applies
Data that jobs read for days, not months: kept in S3, and loaded into a scratch file system created for the campaign.
Watch out
Scratch data is not replicated and is lost if a file server fails: export results to S3 before deleting.
Tools
DeploymentType SCRATCH_2ImportPath and ExportPathData repository associations

AWS's advice for scratch is plain: "Use scratch file systems when you need cost-optimized storage for short-term, processing-heavy workloads." With the data kept in S3 and the file system linked to it, a scratch file system can live only as long as a campaign, as in pattern 2. Its data is not replicated: export the results first.

Lever 10 · Reshape

Provision Lustre throughput for what the jobs read

When it applies
Persistent file systems whose throughput tier is above what the jobs read.
Watch out
Throughput scales with capacity: a file system sized for capacity may already have the throughput it needs at a lower tier.
Tools
PerUnitStorageThroughput

A persistent file system's throughput is its capacity times its tier: "For a 2.4 TiB file system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 120 MB/s of file system throughput." A file system sized for its data may already deliver what the jobs read at a lower tier; in Paris, Persistent 2 runs from $0.184 per GB-month to $0.844 per GB-month.

Lever 11 · Route

Keep a cluster in one Availability Zone

When it applies
Queues whose subnets span several zones while the file system and the head node sit in one.
Watch out
Several zones can find capacity one zone lacks; EFA traffic cannot cross zones anyway.
Tools
SlurmQueues / Networking / SubnetIds

Several zones help a queue find capacity, at a cost AWS names: "added inter-AZ data transfer costs", $0.01 per GB in Paris out of one zone and again into the other. A scratch, SSD or HDD Lustre file system lives in one zone (Intelligent-Tiering replicates across zones), and EFA traffic cannot cross zones at all: a tightly coupled queue belongs in the file system's zone.

Lever 12 · Commit

Commit only to the part that never stops

When it applies
The head node, the login nodes and any static compute nodes that run every hour of the year.
Watch out
A Savings Plan bills every hour of its term: dynamic nodes that scale to zero are not a steady baseline; the EC2 Instance Savings Plan costs less but commits to one instance family.
Tools
Savings Plans

A Savings Plan is "a commitment of using a specified amount of compute power (measured per hour) for a one or three year period" (What are Savings Plans?): it follows that it bills every hour of its term. In a cluster that scales to zero, only the head node, the login nodes and any static nodes run every hour: commit those, once the rest is done. The Compute Savings Plan applies "regardless of instance family", while the EC2 Instance Savings Plan is "a commitment to a specific instance family in a chosen AWS Region" (Savings Plans types), at $0.15512 per hour against $0.17837 per hour for an m7i.xlarge head node in Paris: the cheaper plan fits a head node whose family will not change. In pattern 1, the head node's plan is the last and smallest step.

Lever 13 · Review

Review on a cadence

When it applies
Every cluster, quarterly or every six months above ten percent of the bill and yearly below, as Well-Architected suggests, and at each new campaign or ParallelCluster version: queues, storage and logs drift.
Watch out
New instance types and storage tiers reach a Region over time: re-read the price list.
Tools
Cost ExplorerWell-Architected COST10-BP01

Well-Architected sizes the cadence by the bill (COST10-BP01 Develop a workload review process): "core workloads or workloads with a value of over ten percent of the bill are reviewed quarterly or every six months, while workloads below ten percent are reviewed annually." For a cluster, queues, storage and logs drift with each campaign, and new instance types and storage tiers reach a Region over time: look again at each new campaign or ParallelCluster version too, and re-read the price list. Paris has hpc6id and hpc7a today, not the other HPC types.

In short: Scale the compute to the jobs first, keep storage only as long as the data needs it, choose Graviton or Spot where the jobs allow, and commit last, to the head node and whatever else truly never stops.

FAQ

How much does AWS ParallelCluster cost?

Nothing for the tool: you pay for the resources it creates. In Paris, a cluster's floor is its head node, $171.70 a month for an m7i.xlarge, computed, plus its volumes; the compute nodes, the shared storage and the logs come on top (How AWS ParallelCluster pricing works).

How do I make an AWS ParallelCluster queue scale to zero?

Leave MinCount at 0, its default: the queue then has only dynamic nodes, launched for jobs and terminated after ScaledownIdletime, 10 minutes by default (Let idle compute nodes scale to zero).

Can AWS ParallelCluster use Spot Instances?

Yes, per queue, with CapacityType SPOT, for jobs that can be interrupted. HPC instance types do not support Spot, so a Spot queue uses other types (Run interruptible jobs on Spot queues).

FSx for Lustre scratch or persistent?

Scratch for data the jobs need for a campaign and can rebuild from S3; persistent for data that must survive a file server failure or stays in use for months. In Paris, scratch is $0.162 per GB-month, Persistent 2 from $0.184 per GB-month (Storage in Paris).

AWS ParallelCluster or AWS PCS?

Both run Slurm. With AWS ParallelCluster you run the head node yourself and pay for it as an instance; AWS PCS manages the Slurm controller for an hourly fee and charges per managed node. AWS publishes no side-by-side comparison on the pages read for this article (What AWS ParallelCluster is used for).

Sources

  1. AWS ParallelCluster AWS, product page, accessed October 26, 2026.
  2. What is AWS ParallelCluster AWS, documentation, accessed October 26, 2026.
  3. AWS services used by AWS ParallelCluster AWS, documentation, accessed October 26, 2026.
  4. Scheduling section (AWS ParallelCluster) AWS, documentation, accessed October 26, 2026.
  5. Slurm guide for multiple queue mode AWS, documentation, accessed October 26, 2026.
  6. Integration with Amazon CloudWatch Logs (AWS ParallelCluster) AWS, documentation, accessed October 26, 2026.
  7. HeadNode section (AWS ParallelCluster) AWS, documentation, accessed October 26, 2026.
  8. LoginNodes section (AWS ParallelCluster) AWS, documentation, accessed October 26, 2026.
  9. SharedStorage section (AWS ParallelCluster) AWS, documentation, accessed October 26, 2026.
  10. Monitoring section (AWS ParallelCluster) AWS, documentation, accessed October 26, 2026.
  11. Working with Spot Instances (AWS ParallelCluster) AWS, documentation, accessed October 26, 2026.
  12. Specifications for Amazon EC2 high-performance computing instances AWS, documentation, accessed October 26, 2026.
  13. Amazon EC2 instance types by Region AWS, documentation, accessed October 26, 2026.
  14. Specifications for Amazon EC2 compute optimized instances AWS, documentation, accessed October 26, 2026.
  15. Preserve data when an instance is terminated AWS, documentation, accessed October 26, 2026.
  16. Elastic Fabric Adapter for AI/ML and HPC workloads on Amazon EC2 AWS, documentation, accessed October 26, 2026.
  17. Deployment and storage class options for FSx for Lustre file systems AWS, documentation, accessed October 26, 2026.
  18. Using data repositories with Amazon FSx for Lustre AWS, documentation, accessed October 26, 2026.
  19. Knowing the differences between Billing and Cost Explorer data AWS, documentation, accessed October 26, 2026.
  20. What are Savings Plans? AWS, documentation, accessed October 26, 2026.
  21. Savings Plans types AWS, documentation, accessed October 26, 2026.
  22. COST10-BP01 Develop a workload review process AWS, whitepaper, accessed October 26, 2026.
  23. Amazon FSx for Lustre pricing AWS, pricing page, accessed October 26, 2026.
  24. What is AWS Parallel Computing Service? AWS, documentation, accessed October 26, 2026.
  25. AWS Parallel Computing Service FAQs AWS, product page, accessed October 26, 2026.
  26. AWS Price List: Amazon EC2, eu-west-3 (offer file of October 23, 2026) AWS, price list, accessed October 26, 2026.
  27. AWS Price List: Compute and EC2 Instance Savings Plans, eu-west-3 (offer file of October 23, 2026) AWS, price list, accessed October 26, 2026.
  28. AWS Price List: Amazon FSx, eu-west-3 (offer file of September 11, 2026) AWS, price list, accessed October 26, 2026.
  29. AWS Price List: Amazon EFS, eu-west-3 (offer file of September 11, 2026) AWS, price list, accessed October 26, 2026.
  30. AWS Price List: Amazon CloudWatch, eu-west-3 (offer file of October 7, 2026) AWS, price list, accessed October 26, 2026.
  31. AWS Price List: Amazon S3, eu-west-3 (offer file of October 15, 2026) AWS, price list, accessed October 26, 2026.
  32. AWS Price List: AWS Data Transfer, eu-west-3 (offer file of September 16, 2026) AWS, price list, accessed October 26, 2026.

Quotations from AWS documentation are used under CC BY-SA 4.0.

Amazon Web Services, AWS and the names of AWS services are trademarks of Amazon.com, Inc. or its affiliates. Diagrams use the AWS Architecture Icons, unaltered.

More articles

AWS · Networking

AWS Elastic Load Balancing: pricing, LCUs and how to cut the bill

Read
AWS · AI

Amazon Bedrock pricing: how to cut the bill

Read
AWS · Cost management

AWS Cost Explorer: reading your bill

Read