Metadata Server Bottlenecks in Distributed Filesystems at Scale
Metadata operations, not data bandwidth, become the bottleneck as filesystems scale.
Sponsored by Archil

Metadata server bottlenecks in distributed filesystems are a cascade. As systems grow, they run into capacity limits, then directory contention, the cost of coordination, and trade-offs in consistency. The right architecture depends on which constraint binds first for the workload, and what removing it costs in complexity, hardware, or guarantees.
Why metadata operations become the bottleneck before data operations do
Data bandwidth scales nearly linearly with the number of storage servers because more servers can carry more data. Metadata cannot follow the same curve because a hierarchical namespace carries dependencies between names, directories, and files. Operations on that namespace have ordering and consistency obligations with no direct equivalent in pure data transfer.
That asymmetry matters more as datacenter file counts reach hundreds of billions and workloads favor small files. CFS (EuroSys '23) reports that metadata operations account for at least 67% of filesystem requests across application types in Baidu AI Cloud production traces, and approach virtually all requests in some workloads. Meanwhile, faster media and parallel storage arrays remove the cover that slow data access once provided. InfiniFS (FAST '22) cites Facebook's Tectonic filesystem as an example of the pressure created by consolidating small clusters into one instance containing billions of files. At that scale, diagnosing “slow metadata” means finding which layer of the metadata stack is constrained, because several can be.
How a single metadata server runs out of headroom
A single metadata server imposes two ceilings, namely how much metadata it can hold and how many requests it can process. Its capacity bounds the number of inodes and directory entries, while every lookup, create, or rename funnels clients through the same node. The model made operational sense when file counts were manageable and data access was slow. As file counts and request rates grew, that central server became a structural constraint.
Adding metadata servers is a natural next step because more machines can share the storage and processing work. But those machines still serve one namespace, and the relationships within it must stay consistent. Distribution therefore adds coordination work that partly offsets the extra capacity.
What sharding the directory tree trades away
Partitioning the directory tree forces a choice between keeping related metadata together and spreading work evenly. Coarse-grained partitioning groups inodes with their parent directory, preserving locality. However, a large or frequently written directory becomes a hotspot because bursts of creation converge on its owning server. Fine-grained partitioning spreads inodes more evenly but separates them from their parents. Operations including create, mkdir, and rename then need distributed transactions when they touch both, a tension SwitchFS (EuroSys '26) identifies as unresolved.
Research designs try to get around that choice by splitting metadata based on what it does. InfiniFS (FAST '22) uses access-content decoupled partitioning, keeping a directory's access metadata with its parent and its content metadata with its children. CFS (EuroSys '23) instead places file attributes near their data on storage nodes and namespace hierarchies in a distributed database layer, eliminating cross-shard transactions in the common case. Neither approach makes all coordination disappear. Client-side caching is no universal escape hatch either, since keeping caches coherent across shards becomes more expensive as concurrent clients multiply. InfiniFS's analysis of near-root hotspots shows how that maintenance can become a bottleneck of its own.
Why locking is the cost that sharding cannot eliminate
Even a balanced namespace can spend most of its time coordinating metadata changes. CFS (EuroSys '23) measured locking overhead at more than half of metadata request processing time without contention, rising toward virtually all processing time under high-conflict workloads. POSIX requires operations such as create, rename, and mkdir to be atomic and isolated. Conventional implementations meet those requirements by grouping mutations into transactions and taking locks to prevent races, with transaction machinery supporting durability across failures.
Directory modifications expose the resulting choke point because mkdir and dirrename must update the parent's entry list and timestamps. Inode creation may run across several servers, yet the parent update remains serialized on its owner, leaving near-zero inter-server parallelism during bursts. Locks also constrain work within that server, so more CPU cores do not produce proportional throughput gains. A larger engine is little help when the handbrake stays on. Preserving POSIX while leaving this coordination model untouched therefore leaves a ceiling in place, however elegant the partitioning. The remaining approaches answer that problem differently, reducing related latency, moving work, or changing when updates happen, each with a different cost.
Path resolution as a hidden multiplier on every metadata operation
Before a filesystem can act on a target inode, it must find it through the path. In a deep directory tree, each component traditionally requires a lookup on the server that owns that directory node. Those lookups form a dependency chain because each has to wait for the result of the one before it. Path resolution can thus account for most of the metadata latency even when directory modifications do not compete over a parent.
InfiniFS (FAST '22) addresses that chain with speculative path resolution. Predictable directory IDs let clients speculate on intermediate directories and issue lookups for all path components in parallel. Rather than making each lookup cheaper, the approach avoids paying their latency one after another. It preserves consistency, but a directory rename during traversal can make speculation wrong, so the system must detect that case and retry. The trade is added complexity and possible retries for a shorter path through the common case. That matters because reducing traversal latency is one way to accelerate metadata without weakening what applications are allowed to observe.
How RDMA and NVM shift the CPU to the front of the critical path
Traditional server-active metadata designs were built for slow block storage and TCP/IP networking, so CPU work took up little of the time for a round-trip. RDMA removes kernel involvement from cross-node communication, while NVM removes block-layer overhead from persistent metadata access. As network and storage latency fall to microsecond scale, pathname parsing, index traversal, and permission checking move to the front of the critical path.
RPC-based communication retains server-side processing through two-sided RDMA verbs, limiting the benefit of one-sided RDMA's CPU-bypass potential. DirectFS (Electronics, September 2025) proposes a client-active architecture that moves metadata indexing to clients through one-sided RDMA operations. It combines hash-based namespace indexing with hotness-aware metadata prefetching to bypass the server CPU on the common path. However, clients must then traverse shared metadata structures exposed in remote memory. Keeping concurrent access safe now becomes a major part of the design, work that used to sit behind a server interface. Hardware acceleration thus changes not only the bottleneck's location but also where coordination must live.
Asynchronous metadata updates as a way to break directory contention without weakening POSIX
Directory contention is not an unavoidable price of POSIX correctness in the form conventional implementations pay it. SwitchFS (EuroSys '26) observes that representative datacenter workloads typically do not read a directory immediately after updating it. That gap creates room to return from operations early and defer directory updates. Pending updates can then be aggregated and applied before the next directory read, removing work from the immediate path and batching changes that would otherwise serialize.
Before serving a read, the system has to work out which directories still have pending work. SwitchFS uses a programmable switch to track that state in the network on the path of metadata accesses, with negligible overhead. With line-rate packet processing, the system needs no extra server to coordinate the work, which would add a round-trip and a ceiling on throughput. SwitchFS reports substantially higher throughput and lower latency than emulated InfiniFS and CFS under skewed workloads, with the largest gains in high-contention, large-directory cases.
This is deferred execution with a requirement to serve up-to-date directory contents. POSIX durable visibility is preserved only while the pending-update registry stays consistent and reads trigger the required flush before being served. The programmable switch is therefore part of the correctness machinery.
What POSIX compliance actually costs and when relaxing it is the right trade
These approaches show that more throughput does not always require weaker guarantees. CFS reduces locking costs through narrower critical sections and tiered organization while pursuing POSIX compliance. InfiniFS preserves consistency during speculative traversal by accepting detection and retry complexity. DirectFS gains server CPU headroom by placing more trust and coordination responsibility with clients accessing shared remote structures.
SwitchFS instead changes when directory work happens while preserving externally visible POSIX behavior. It needs programmable-switch infrastructure and a way to recover safely if the switch fails or loses pending-update state. That is different from relaxing directory visibility, where an application actually accepts weaker semantics. Treating both as simply “asynchronous” hides the distinction that matters most.
Analytics pipelines reading pre-existing datasets may be indifferent to strict directory ordering and can accept weaker semantics for higher throughput. Transactional updates, build systems, and package managers with atomic multi-file requirements cannot casually make that exchange. The decision is therefore not whether POSIX is expensive in the abstract. It is which guarantees the workload needs, and whether the architecture preserves them through coordination, retries, deferred internal work, or specialized hardware.
How agent workloads expose metadata bottlenecks that general-purpose tuning misses
AI agent workloads make these trade-offs concrete through rapid sandbox startup, parallel workspace forking, and persistent per-tenant namespaces. Startup accumulates metadata latency through tool calls, package lookups, and working-directory initialization. Along a reasoning chain, that delay can cause broken reasoning steps, with little sign that storage is the cause. Because models are disproportionately trained on bash and command-line tools, their filesystem activity resembles interactive shell use, including many small lookups, frequent directory reads, and occasional creation bursts. Those patterns fit filesystem interfaces better than object-store semantics, but put metadata directly in the user's wait.
Trying candidate strategies in parallel adds a different need, since each attempt must have a cheap workspace of its own. Without a branch primitive, workspaces must either go through copy operations or share a namespace and contend over it. Persistent workspaces also need to keep packages, intermediate files, and agent state across sessions, so their directory trees depend on how metadata checkpoint and recovery work. Path-based separation within a shared namespace still leaves path-traversal and symlink-following risks, so isolation needs enforced per-tenant permissions, not path conventions alone.
What to look for when evaluating a metadata architecture for your scale
Evaluation starts with the operation mix. Deep trees and frequent lookups point toward path-resolution limits and the value of speculative traversal or client-side caching. Hot directories with heavy writes point toward directory contention and approaches such as asynchronous updates or access-content decoupling. Applications also differ in the semantics they need: some can accept weaker visibility, while others need strict atomicity and ordering. Internal deferral that preserves POSIX must not be confused with exposing deferred visibility to an application.
Deployment constraints narrow that choice further. SwitchFS requires programmable-switch infrastructure, while DirectFS requires RDMA-capable networks. Commodity-hardware designs have a broader deployment envelope. For agent platforms, evaluation also needs to establish whether branching, checkpointing, and discarding a workspace avoid copying its data.
Metadata bottlenecks form a cascade of structural constraints, and each remedy carries a distinct cost.
This article is sponsored by Archil.
Sources
- InfiniFS: An Efficient Metadata Service for Large-Scale ...
- DirectFS: An RDMA-Accelerated Distributed File System with CPU-Oblivious Metadata Indexing
- . . Latest updates: hps://dl.acm.org/doi/10.1145/3552326.3587443 . .
- SwitchFS: Asynchronous Metadata Updates for Distributed Filesystems with In-Network Coordination


