FSx for Lustre vs POSIX Filesystem Layers Over S3
Checkpoint speed and cost determine whether a parallel filesystem or object-storage layer wins.

In AI training, compute sitting idle while it waits on storage costs more than wasted compute does.
That stalling happens in two places. A 32-GPU benchmark made the gap brutally clear: checkpoint writes took roughly two minutes on a single NFS server, versus a few seconds on a parallel filesystem. A filesystem should finish a full checkpoint write in under 60 seconds. For modern checkpoint sizes, that means sustained write throughput in the range of many gigabytes per second.
Compute is the expensive part of training, so every minute it waits on storage multiplies across however many GPUs are in the cluster. Two different bets have formed in response: insert a purpose-built parallel filesystem between object storage and the cluster, or skip the middleman and make object storage itself behave enough like a POSIX filesystem that the cluster can read from it directly. Both bets have production deployments behind them. Which one fits depends on workload duration, how many clouds a team needs to train across, and how much POSIX fidelity the training code actually requires.
FSx for Lustre as a managed parallel filesystem in front of S3
FSx for Lustre is AWS's managed version of Lustre, the open-source parallel filesystem that's been running in some of the fastest supercomputers in the world. Data gets spread across multiple Object Storage Targets instead of sitting on one server, so a cluster of many GPU instances can read simultaneously at full bandwidth. Aggregate throughput scales with the size of the cluster instead of hitting a ceiling the moment a second GPU joins the party.
The S3 integration runs on lazy loading. So a training job can start right away, instead of waiting hours for a full dataset download before the first batch even loads.
On the networking side, Elastic Fabric Adapter (EFA) skips past the usual operating system overhead to push network throughput higher.
Two deployment types cover different needs. Persistent replicates data within the availability zone and fails over automatically within minutes, built for long training runs where losing progress mid-run is expensive in both time and compute cost.
Storage class adds a third lever. HDD trades latency for lower cost on throughput-heavy, sequential-read workloads that don't need sub-millisecond response times.
POSIX-over-S3 means, and the spectrum from FUSE clients to managed services
POSIX-over-S3 isn't one product, it's a spectrum, and the distance between the cheap end and the managed end is wide enough that treating them as interchangeable is a real architectural mistake.
At the lightweight end sit FUSE-based tools like S3 Mountpoint. If you list a directory against a large prefix, it issues a HEAD or LIST call per object, and that can take minutes, so these tools fit poorly with interactive work or multi-worker training jobs.
The problem isn't a bug to patch, it's structural. POSIX assumes atomic operations, consistent directory state, and byte-range locking as baseline behavior, and S3's object model never had to offer any of that. What changed between 2020 and 2026 was a run of improvements to S3 itself, strong consistency, Express One Zone, directory buckets, that finally made a properly managed approach to this problem possible.
Cloud-agnostic managed POSIX layers extend the idea across providers. Reads hit an NVMe cache at sub-millisecond latency, and the original bucket stays the source of truth the entire time.
Does the layer enforce byte-range locking, atomic rename, and strong consistency for parallel writes from multiple clients, or does it only offer advisory locks that nothing actually enforces? Amazon S3 Files, as documented, supports advisory locks only, no enforced POSIX locking, which rules it out for any application that depends on lock enforcement actually holding. Without that, code written against a real filesystem won't run unmodified.
The managed end of this spectrum, not the lightweight FUSE clients, is what actually competes with FSx for Lustre on equal footing.
Raw throughput, latency, and checkpoint performance by architecture
FSx for Lustre's striped design gives it throughput and checkpoint performance a single-node POSIX-over-S3 layer can't match once a workload is large enough to actually use it. With EFA and GPUDirect Storage, FSx for Lustre delivers up to 1,200 Gbps of per-client throughput, a direct line from storage to GPU memory with no CPU in the path. That's the right tool when many GPU instances need to read the same data at the same time at maximum bandwidth.
Checkpoint performance is where the architectural gap shows up most clearly. After implementing FSx for Lustre with SageMaker, time to start actual training dropped from hours to minutes, and later runs benefit further because the data is already warm.
Real deployments back this up. Netflix uses FSx for Lustre for large-scale distributed training on media ML models, and it handles post-production thumbnails, VFX, and trailer generation across thousands of videos and millions of clips. Paige, working in digital pathology, paired EC2 P4d instances with FSx for Lustre integrated against S3 buckets, so it could process data without manual prestaging, and training data capacity grew tenfold while workflows ran 72% faster. Shell burst to EC2 clusters with FSx for Lustre to extend its on-premises HPC capacity, and its GPUs now run at full utilization, cutting compute cost and speeding up ML model testing.
POSIX-over-S3 holds its own when the bottleneck is cold-data latency on a cache miss. A well-cached NVMe-backed layer, Archil's sub-millisecond cache among them, closes much of that gap for workloads that aren't simultaneously hammering hundreds of parallel read streams.
The honest caveat cuts the other way, too. Overbuilt systems deliver an impressive throughput number on paper while burning budget on capacity the workload never touches.
The cost structure of each approach as workload duration changes
FSx for Lustre is billed as provisioned capacity: a given throughput tier, paid for whether or not the workload uses it. It costs too much for anything intermittent: if a team provisions for a theoretical peak but runs well below it, it pays for the unused capacity every single hour.
Intelligent-Tiering, launched in May 2025, is the first real move away from that model. Snap put this to work and doubled its file storage capacity at flat cost, with inactive training artifacts automatically tiered down while active data stayed in the Frequent Access tier.
For any workload where most of the dataset is cold at a given moment, which describes a lot of large training corpora, that's structurally cheaper than paying provisioned SSD rates across the entire dataset regardless of what's actually being touched.
The breakeven comes down to duration. FSx's Scratch deployment type is the cost release valve for the short-job case: no replication, cheaper per hour, data safely backed by S3 as the source of truth. It works well, but only for teams disciplined enough to know which workloads actually qualify for it.
Operational overhead: what it takes to run each approach in production
FSx for Lustre removes the storage-engineering burden of running open-source Lustre on-premises, but it doesn't remove every decision a team has to make. Running Lustre yourself means managing metadata servers, object storage targets, kernel parameters, and failure recovery, a specialist discipline that turns a production on-premises AI cluster into a real ongoing headcount investment, not just a hardware purchase. FSx removes that layer: AWS handles server replacement, replication, and failover, with automated replacement of failed infrastructure components completing within minutes.
What FSx doesn't remove is the upfront configuration work. Someone still has to pick the right deployment type, storage class, and throughput tier, link S3 buckets correctly, configure VPC placement to match SageMaker training jobs, and manage security groups for Lustre's specific port requirements (TCP 988, 1018-1023). The FSx-SageMaker integration needs the filesystem and the training job to share a VPC, and getting that detail wrong tends to break network connectivity silently. DatologyAI uses FSx for Lustre performance monitoring through SageMaker HyperPod's Grafana dashboards, and the tooling is there, but someone on the team still has to read the dashboard and act on what it says.
POSIX-over-S3 managed services shift this burden. It means different decisions.
Cloud portability and the cost of vendor lock-in across multi-cloud training infrastructure
FSx for Lustre is an AWS-managed service that exists only inside AWS regions. Every training epoch run against it from a non-AWS compute node pays egress on top of that.
This matters because multi-cloud GPU access isn't a hypothetical future scenario, it's already how a lot of training gets done. Specialized GPU clouds like CoreWeave and Lambda Labs often have better availability of high-end GPU instances than AWS during demand spikes, and teams increasingly split training runs across providers to get the hardware they need when they need it. Cross-provider reads against S3 carry egress charges that compound with every epoch, every distributed worker, and every checkpoint, so what looks like a storage line item on the budget is really a data-movement tax on the whole training architecture.
Cloud-agnostic POSIX layers sidestep this by design. Archil mounts against S3, GCS, R2, or Azure Blob identically, with the same filesystem interface regardless of where the compute actually runs, and no cross-region movement happens unless someone configures it explicitly.
None of this makes FSx for Lustre the wrong choice for everyone. Toyota Research Institute chose FSx for Lustre specifically for its higher availability and durability compared to its legacy filesystem, along with its tight S3 integration, a legitimate and sound call for a team fully committed to AWS. Choosing FSx for Lustre at architecture time means implicitly committing to AWS for the storage layer of the whole training stack, which then constrains every compute decision downstream. For teams that can't predict six months out which cloud will have the GPU capacity they need, storage that mounts the same way across S3, GCS, R2, and Azure Blob is a structural requirement.
The Amazon S3 Files launch and FSx Intelligent-Tiering as signals of where the two architectures are converging
AWS's own 2026 product moves suggest FSx for Lustre and managed POSIX-over-S3 are settling into different audience segments, each with its own dedicated architecture.
Amazon S3 Files reached general availability in April 2026 as an NFS-based managed filesystem built on Amazon EFS, making S3 buckets accessible as filesystems through a different architectural route than the earlier FUSE layers, with automatic S3 synchronization and sub-millisecond latency claims. AWS is drawing a line between two audiences and building a dedicated product for each side of it, not converging FSx and POSIX-over-S3 into one thing.
FSx Intelligent-Tiering tackles the overprovisioning problem that made FSx expensive for anything with variable demand: fully elastic scaling, paying only for what gets used, automatic tiering between hot and cold data. That's a real step toward the cost model POSIX-over-S3 approaches have offered from day one. On the performance side, a November 2025 update made FSx for Lustre directory listing substantially faster, directly addressing one of the sharpest long-standing weaknesses parallel filesystems have under high object counts.
For anyone comparing these two architectures today, the comparison isn't between a 2020 version of FSx and a 2020 version of S3 FUSE. Managed POSIX-over-S3 layers remain structurally more flexible on both portability and cost for cold-data-heavy or burst workloads.
A decision framework: which architecture fits which workload profile
Three questions, answered in order, settle most of this: how large and sustained is the workload, does the team need to train across more than one cloud, and what POSIX guarantees does the training code actually need to run unmodified?
On scale and duration: large, sustained training runs, multi-week, hundreds of GPUs, datasets that fit entirely in a warm cache, favor FSx for Lustre. FSx's Scratch deployment type is its own answer to short jobs, but only for teams disciplined enough to use it correctly and accept the no-replication tradeoff that comes with it.
On cloud portability: teams committed fully to AWS, training exclusively on EC2, have a legitimate first choice in FSx for Lustre, and the SageMaker HyperPod integration is a genuine operational advantage. Teams training across AWS and specialized GPU clouds, or that can't predict which provider will have capacity available when they need it, have no FSx option. The architecture needs a cloud-agnostic POSIX layer from the start. Archil and similar layers mount S3, GCS, R2, and Azure Blob identically, which makes the storage architecture independent of whatever compute decision gets made later.
On POSIX fidelity: training frameworks and data tools that depend on enforced byte-range locking, atomic rename, or mmap need a filesystem offering full POSIX semantics, which FSx for Lustre and full-POSIX managed POSIX-over-S3 layers both provide, while S3 Files, with its advisory-only locking, does not. If dataset curation, collaborative data prep, or agent-driven data workflows don't require lock enforcement, they can draw from the wider range of managed POSIX-over-S3 options available.
There are cases where neither architecture is the right answer. If data fits a clean schema, it belongs in a database, not a filesystem, and forcing structured data through a filesystem layer only adds complexity without any real benefit. Very small or infrequent training jobs may not justify the setup overhead of either approach, and direct S3 access paired with a well-tuned dataloader is sometimes just the correct, boring answer.
Adobe built an AI training platform on FSx for Lustre specifically to keep GPU resources from ever sitting idle, the decision of a team fully committed to AWS, training foundational models continuously, that chose deliberately where to spend its engineering effort. LG AI Research developed its EXAONE foundation model using SageMaker and FSx for Lustre within a single year, another case of a sustained, large-scale training commitment built on AWS infrastructure. Both are the right call for exactly the workload profile FSx for Lustre was built to serve. Neither one tells a multi-cloud team anything about its own situation, which is precisely the point: the architecture follows the workload, not the other way around.


