Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to the guide
THE FINANCEBASE List yours

Guide

How to Troubleshoot Bottlenecks Between AI Accelerators and Data Center Storage

By TheFinanceBase Team 12 min read

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To find out whether storage is slowing AI training or inference, measure the complete data path while the workload runs, then change one supported variable and retest. A busy drive, a saturated link, or a GPU showing low utilization is only a clue. Storage is the bottleneck only when its delay or limited throughput prevents useful accelerator work on the critical path.

Start with a repeatable workload baseline. Correlate step or request timing with storage, network, CPU, accelerator, and (where applicable) GPUDirect Storage (GDS) telemetry. Map the physical PCIe and network route, benchmark the relevant subsystem with representative I/O, and validate any improvement against the original workload.

As an Amazon Associate I earn from qualifying purchases.

What a storage bottleneck actually means

AI systems move data through several boundaries: a drive or storage service, a filesystem or protocol, a network interface, PCIe links and switches, a CPU root complex, host memory, and finally accelerator memory. A limit at any boundary can look like “the GPU is waiting for data.” Conversely, high storage utilization can coexist with a compute-bound workload that would not run faster with a quicker drive.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

NVIDIA’s GPUDirect Storage design guidance states the rule succinctly: “For IO to be a bottleneck, it must be on the critical path.” (NVIDIA GPUDirect Storage Design Guide) The practical test is whether reducing data-movement time reduces training-step time, increases examples or tokens per second, or lowers inference latency under the same conditions.

#1 Best Overall
Sale
Samsung SSD 990 PRO 2TB, PCIe 4.0 M.2 2280, Up to 7,450 MB/s | NVMe Internal Solid State Hard Drive for High End Computing, Gaming, and Heavy Duty Workstations, (MZ-V9P2T0B/AM)
  • MEET THE NEXT GEN: Consider this a cheat code; Our Samsung 990 PRO Gen4 SSD helps you reach near max performance with lightning-fast speeds; Whether you’re a hardcore gamer or a tech guru, you’ll get power efficiency built for the final boss
  • REACH THE NEXT LEVEL: Gen4 steps up with faster transfer speeds and high-performance bandwidth; With a more than 55% improvement in random performance compared to 980 PRO, it’s here for heavy computing and faster loading
  • THE FASTEST SSD FROM THE WORLD'S FLASH MEMORY BRAND: The speed you need for any occasion; With read and write speeds up to 7450/6900 MB/s you’ll reach near max performance of PCIe 4.0 powering through for any use
  • PLAY WITHOUT LIMITS: Give yourself some space with storage capacities from 1TB to 4TB; Sync all your saves and reign supreme in gaming, video editing, data analysis and more
  • IT’S A POWER MOVE: Save the power for your performance; Get power efficiency all while experiencing up to 50% improved performance per watt over the 980 PRO; It makes every move more effective with less consumption

Clues that require confirmation

Observation during the workload What it may indicate Why it is not proof by itself
Low or fluctuating accelerator utilization Input starvation, synchronization, CPU preprocessing, communication, or a compute phase with little parallelism The accelerator may be waiting on another software or communication stage rather than storage
High drive busy time or queueing Storage service pressure or an access pattern that exceeds the device’s useful capacity The I/O may be asynchronous and fully hidden behind computation
High network throughput or packet activity Remote-storage traffic approaching a link, NIC, fabric, or storage-service limit Traffic can be high while the application remains compute-bound
CPU usage spikes during input preparation Parsing, decompression, copying, or a fallback path at the CPU boundary CPU work may be independent of storage latency
Fast results from a synthetic storage test The device or link has unused capability under that test Different block sizes, concurrency, caching, or software paths can dominate the real workload

1. Reproduce the slowdown and capture a baseline

Choose one workload that reliably exhibits the symptom. Record enough context that a later run is comparable:

  • Training job or inference service, model version, batch or request shape, and data-preparation steps.
  • Dataset location and access pattern: local drive, shared or remote storage, sequential streaming, random reads, many small files, and expected reuse.
  • Accelerator model and count, host CPU and memory configuration, storage devices, NICs, filesystem or protocol, and relevant driver and library versions.
  • Application outcomes such as time per training step, examples or tokens per second, startup time, and inference latency (including any tail metric the service already records).
  • Whether the run is a cold-cache startup, a cache-warmed steady state, or a transition between the two.

Keep the system state stable: use the same dataset, worker count, batch size, accelerator allocation, storage target, and other jobs. Run long enough to see steady behavior rather than a single sample. Save the baseline measurements and the exact configuration before changing anything.

Separate cold-cache effects from steady state

First note how long initialization and the first data pass take. Then measure a later interval after caches and workers have reached their normal state. A startup-only delay can require a different fix from a sustained shortage during every training step. Do not combine those intervals when deciding whether storage is limiting throughput.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2. Prove that data movement is on the critical path

Instrument or timestamp the data-loader stage, transfer calls, compute kernels, and synchronization points over the same interval. Compare time spent waiting for input with accelerator compute time and visible idle gaps. The key question is counterfactual: if the transfer became faster, would useful accelerator work begin sooner?

Cases where faster storage may not help

  • Compute dominates each step and input is ready before the next step needs it.
  • Asynchronous reads and transfers are completely overlapped with accelerator computation.
  • The limiting work is CPU parsing, decompression, augmentation, synchronization, or inter-accelerator communication.
  • The application repeatedly requests tiny objects or performs metadata work that a higher peak-byte-rate device does not improve.

Cases that justify pursuing I/O

  • Input or transfer waits align with accelerator idle periods and lengthen the step or request.
  • Increasing a controlled prefetch or worker setting reduces waiting until another resource becomes limiting.
  • A representative storage or network change shortens the same workload’s step time or improves service throughput.

Do not infer causation from a single utilization percentage. Look for temporal alignment and then test it with one reversible change.

3. Observe every layer during the same interval

Collect application timing, storage-device statistics, network activity for remote storage, CPU telemetry, accelerator telemetry, and GDS statistics when a GDS path is in use. NVIDIA’s GPUDirect Storage Benchmarking and Configuration Guide recommends using gds_stats with Linux iostat and NVIDIA GPU tools such as nvidia-smi or DCGM’s dcgmi. This combination helps distinguish a storage limit from a CPU, GPU, or path problem.

Rank #2
Sale
Kingston NV3 1TB M.2 2280 NVMe SSD | PCIe 4.0 Gen 4x4 | Up to 6000 MB/s | SNV3S/1000G
  • Ideal for high speed, low power storage
  • Gen 4x4 NVMe PCle performance
  • Up to 6,000MB/s read, 4,000MB/s write
  • Includes Acronis cloning software
  • 5-year limited warranty

GDS statistics

gds_stats collection is disabled by default. Enable the profile:cufile_stats setting in /etc/cufile.json when the installed GDS release and operational policy support it, then collect statistics during a representative run. Record the GDS calls, bytes, and timing that the tool reports, and turn profiling back off if continuous collection is not required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Accelerator and CPU observations

Use nvidia-smi or DCGM to align accelerator utilization and memory activity with application timestamps. Observe CPU utilization, memory pressure, and the processes doing parsing or staging. A GPU that remains busy while storage is active suggests that I/O is overlapped; a GPU that becomes idle at the same time a loader or transfer waits is stronger evidence that the path deserves deeper testing.

Timeline profiling

NVIDIA Nsight Systems can trace GDS APIs and collect GDS user-space metrics with its GDS metrics support; availability depends on the installed Nsight Systems and GDS versions. See the Nsight Systems User Guide for the options supported by your installation. Use a timeline to locate the first idle interval, then match it to a read, copy, CPU stage, network event, or synchronization call rather than treating the aggregate GPU percentage as the diagnosis.

4. Map the physical and software route

Draw the route from the data source to accelerator memory. Mapping exposes shared links and crossings that device specifications alone cannot show. NVIDIA documents topology and placement effects in its GDS configuration guidance.

Local-drive route

  1. List every drive serving the job and its interface, lane width, firmware, and filesystem.
  2. Identify the PCIe switch, downstream port, and CPU root complex for each drive.
  3. Locate the accelerator’s PCIe connection and determine whether drives and accelerator share a switch, root complex, socket, or link.
  4. Check aggregate lane capacity. Multiple drives can contend for the same upstream link even when each drive is below its individual peak.

NVIDIA’s design guide gives a platform-specific example in which at least four x4 PCIe drives are needed to saturate a x16 PCIe link. That is a design example, not a universal drive-count rule; your server’s generation, switch, lane allocation, and workload determine the result.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Remote-storage route

  1. Trace the storage service and filesystem or protocol to the host NIC.
  2. Record NIC speed, PCIe placement, switch or root-complex path, and the network or fabric links between host and storage.
  3. Check for shared bandwidth with other jobs, oversubscribed fabric segments, or storage-service contention.
  4. Map the NIC-to-accelerator path if a direct transfer is intended; every PCIe and software boundary can affect delivered throughput and latency.

Application route

Confirm which component first touches the bytes. CPU parsing, memory mapping, pageable buffers, implicit copies, data migration, unsupported filesystems, or fallback code can defeat an intended direct path. Capture the actual calls and buffer locations in a profiler; do not assume that a configuration flag proves direct operation.

Rank #3
Sandisk Optimus 5100 500GB NVMe SSD, PCIe 4.0, M.2 2280 | Up to 6,600MB/s Read Speeds, Up to 5,600MB/s Write Speeds, Internal Solid State Drive - SDSP51500GAN
  • SPEED UP PROJECTS. Launch creator applications fast with uncompromising PCIe 4.0 read speeds up to 7,100MB/s,[2] (1TB and 2TB[1] models) and write speeds up to 6,700MB/s[2] (1TB[1]-4TB[1] models).
  • CREATE AND STORE MORE. Make more room for your 4K videos and high-resolution images with capacities from 500GB[1] up to 4TB[1] on M.2 2280 built with our trusted 8th generation SANDISK BiCS QLC 3D CBA NAND.
  • IT GOES WHERE YOU GO. With an all-new power efficient design, your drive delivers high performance with low power, giving you more time to be productive while on the go.
  • UNCOMPROMISED RELIABILITY. With up to 1,200 TBW[3] (4TB[1] model) endurance rating, your drive is designed for creators.
  • KEEP YOUR DRIVE UPDATED. Monitor your SSD’s performance and check for updates with the downloadable SANDISK Dashboard application.[5]

5. Benchmark the subsystem, then validate the application

Use a benchmark that exercises the layer you suspect, but keep its conditions representative. NVIDIA provides the GDS gdsio utility for GDS-capable paths and describes benchmark methodology in its benchmarking and configuration guide. For a non-GDS local or network layer, use an appropriate storage or network benchmark already approved for your environment.

Make the test resemble the workload

  • Use the same target path and filesystem or protocol.
  • Match read/write direction, block or request size, concurrency, queueing, and access pattern.
  • Use enough data to reveal cache effects, and report whether the run is cache-cold or cache-warm.
  • Measure sustained throughput, IOPS, average latency, and tail behavior when the tool provides it.
  • Repeat at the concurrency used by the application and at the aggregate load of all accelerators.

Compare results with the drive, NIC, PCIe, and storage-service limits that apply to your platform. A component benchmark establishes potential capability; it does not guarantee an application improvement. Return to the original training or inference run after every change.

Interpret common benchmark outcomes

  • Low subsystem result and matching workload stall: investigate the saturated device, link, service, or request shape.
  • High subsystem result but no application gain: the workload may be compute-bound, fully overlapped, CPU-limited, or taking a different software path.
  • Good single-drive result but poor aggregate result: inspect shared PCIe links, switches, root complexes, NICs, or storage-service contention.
  • Better benchmark result with worse application latency: check queueing, CPU overhead, tail latency, and contention; retain the baseline until the application outcome improves.

When GPUDirect Storage is worth evaluating

GDS can create a DMA path between storage and GPU memory that avoids a CPU bounce buffer. It is not a universal acceleration switch. NVIDIA’s design guidance identifies conditions that make evaluation sensible.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Suitability condition Diagnostic question If the answer is no
I/O is significant on the critical path Do transfer waits lengthen steps or requests after overlap is accounted for? Faster direct I/O may not change the outcome
Explicit transfer operations Does the application control when and where data moves? Implicit copies or hidden stages can remain the limit
Pinned GPU buffers Are buffers allocated and used in a supported pinned-memory path? The intended direct transfer may not be available
Supported NVIDIA GPU, CUDA, cuFile, filesystem, and release combination Does the installed stack meet the support matrix and documentation for this platform? Resolve compatibility before performance tuning
GPU is the first or last agent touching transferred data Is CPU parsing or processing required before or after the transfer? GDS cannot remove that CPU work

Follow the installation and troubleshooting instructions for the exact CUDA/GDS release, operating system, GPU, and filesystem. Verify the installed path with the documented checks, then benchmark and profile. A setting that appears enabled is not evidence that production I/O is using the direct path.

6. Change one supported variable at a time

Use the measurements to select the next experiment. Preserve the baseline, change one factor, repeat the same interval, and keep the change only if application outcomes improve without unacceptable latency or stability costs.

If request shape is the problem

Test batching, prefetch depth, worker concurrency, or larger reads only when telemetry shows excessive request overhead or insufficient outstanding work. Recheck CPU use and tail latency; larger batches can trade memory and responsiveness for throughput.

Rank #4
Sale
Samsung SSD 990 PRO 1TB, PCIe 4.0 M.2 2280, Up to 7,450 MB/s | NVMe Internal Solid State Hard Drive for High End Computing, Gaming, and Heavy Duty Workstations (MZ-V9P1T0B/AM)
  • HUGE SPEED BOOST: Get random read/write speeds that are 40%/55% faster than 980 PRO; Experience up to 1400K/1550K IOPS, while sequential read/write speeds up to 7,450/6,900 MB/s reach near the max performance of PCIe 4.0*
  • BREAKTHROUGH POWER EFFICIENCY: Use less power and get more performance; Enjoy up to 50% improved performance per watt over 980 PRO, plus optimal power efficiency with max PCIe 4.0 performance**
  • SMART THERMAL CONTROL: Samsung's own nickel-coated controller delivers effective thermal control; With its slim size, 990 PRO is a perfect fit for desktops and laptops that meet the PCI-SIG D8 standard***
  • THE CHAMPION MAKER: Up to 65% improvement in random performance enables faster loads for an ultimate gaming experience on PS5 and DirectStorage PC games****
  • SAMSUNG MAGICIAN SOFTWARE: Get the most out of your SSD with Samsung Magician's advanced yet intuitive optimization tools; Monitor drive health, protect valuable data, and receive important updates for your 990 PRO

If a physical link or device is saturated

Address the measured constraint: rebalance drives across PCIe paths, remove a shared-link conflict, adjust NIC or storage placement, or add capacity at the storage service. Confirm that the proposed change does not move contention to a root complex, switch, fabric segment, or CPU socket.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If CPU staging or parsing dominates

Measure the preparation stage before selecting faster storage. Improve the parser, preprocessing pipeline, buffer handling, or concurrency indicated by the profile. A direct storage path cannot eliminate work the application still requires on the CPU.

If you are considering system-level GDS settings

The GPUDirect Storage Best Practices Guide, release v1.19.1, documents platform considerations such as ACS and IOMMU. Requirements vary by platform and software version. Verify vendor instructions, maintenance procedures, and rollback steps before changing them; do not apply a setting because it is popular in an unrelated server configuration.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How to compare local and remote storage options

No universal drive, array, or storage vendor wins for every accelerator workload. Compare the candidate path against the workload and the topology you can actually deploy.

Comparison axis What to measure Why it matters
Throughput and IOPS Sustained bytes per second and operations per second at the workload’s request size, concurrency, and read/write mix Peak specifications at another request shape can mislead
Latency Average and tail latency under realistic concurrency Training stalls and inference service levels are often driven by waits, not averages alone
Topology PCIe lanes and switches, root-complex or socket crossings, NIC placement, and aggregate links Shared paths can cap several accelerators or drives together
Access pattern Sequential streaming, fine-grained requests, cache behavior, dataset reuse, and preprocessing The same device behaves differently for different request patterns
Scale and capacity Dataset size, accelerator count, growth, and shared-storage contention A path that works for one accelerator may not scale to a node or cluster
Software fit Filesystem or protocol support, cuFile/GDS compatibility, driver and tool versions, and operational support Unsupported paths can fall back or fail regardless of hardware capability
Application impact Step time, examples or tokens per second, inference throughput, and latency after the change The business result is the acceptance test

For a local NVMe design, confirm server form factor, interface and lane allocation, firmware, endurance, filesystem, and platform compatibility before purchase. Select hardware only after measurements show that local storage is the limiting layer; a new drive cannot fix a network, PCIe-topology, CPU-preprocessing, filesystem, or application bottleneck.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Failure modes and recovery steps

The GPU is idle, but storage telemetry looks normal

Expand the timeline to CPU preprocessing, synchronization, inter-accelerator communication, and kernel scheduling. Check whether the loader is blocked on parsing or locks rather than bytes. Run a controlled test that removes or simplifies preprocessing; if step time does not change, storage is unlikely to be the first fix.

Best Value
WD_Black SN7100 1TB NVMe SSD - Gen4 PCIe, M.2 2280, Up to 7,250 MB/s Read Speed, Up to 6,900 MB/s Write Speed, Next Gen TLC 3D NAND, for Laptops, Handheld Gaming Devices - WDS100T4X0E
  • This product has been replaced by our latest generation. Please search for the SANDISK Optimus GX 7100 NVMe SSD
  • HIGH-OCTANE GAMING. Experience speeds up to 7,250MB/s read and 6,900MB/s write (1-2TB models), with up to 35% faster performance than previous generation.
  • PURPOSE-BUILT. Designed for serious on-the-go gamers, with a PCIe Gen4 interface and SANDISK’s next generation TLC 3D NAND.
  • MORE TIME TO CLEAR THAT CHECKPOINT. Built with laptops and handheld gaming devices in mind, with up to 100% more power efficiency over the previous generation.
  • DO MORE WITH DASHBOARD. Ensure your drive is optimized for prime performance with the downloadable WD_BLACK Dashboard (Windows only).

Storage is busy, yet speeding it up changes nothing

Verify critical-path placement and overlap. If the accelerator remains busy while reads occur, I/O may be hidden. Also check whether the application is limited by compute, CPU work, or a downstream transfer. Keep the faster path only if the original workload improves.

GDS is enabled but transfers still cross host memory

Confirm GPU, CUDA, cuFile, filesystem, and driver support for the installed release. Inspect buffer allocation and actual API calls in a trace, check for unsupported files or fallback behavior, and verify GDS statistics. Do not rely on a configuration flag alone.

A synthetic test reaches the link limit but production does not

Align block size, concurrency, cache state, read/write mix, and target path with production. Then test aggregate load from all workers and accelerators. A synthetic result is a capacity indicator, not an application guarantee.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A tuning change improves throughput but harms reliability

Revert to the baseline, review platform and provider guidance, and retest with stability, tail latency, and error metrics included. A small throughput gain is not a valid trade if it creates failures or unacceptable service latency.

A repeatable decision checklist

  1. Record the workload, dataset, access pattern, topology, software stack, and application outcome.
  2. Capture a stable cold-cache and steady-state baseline.
  3. Show whether data movement waits are on the critical path and not fully overlapped.
  4. Collect application, storage, network, CPU, accelerator, and applicable GDS telemetry together.
  5. Map drives or storage services through PCIe switches, root complexes, NICs, fabrics, filesystems, and buffers.
  6. Benchmark the suspected layer with representative request size, concurrency, cache state, and target path.
  7. Choose one supported change indicated by the evidence.
  8. Repeat the original workload and compare step time, throughput, latency, tail behavior, and stability with the baseline.
  9. Document the result, including any topology or version constraint, before rolling the change to other nodes.

Following this sequence prevents a common mistake: buying or tuning storage before proving that storage controls progress. The useful outcome is not the highest isolated bandwidth number; it is a measured reduction in the time your accelerator workload spends waiting for data.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a comment

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More guides

Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.