BoxRouter

Memory

Builds on Common Methodology

Measures sustained main-memory bandwidth with the STREAM Triad benchmark across three 610.4 MiB arrays using one OpenMP thread per requested vCPU.

Data-science workloads, in-memory analytics, and large language or compiler toolchains frequently bottleneck on how fast the system can stream data between main memory (DRAM) and the CPU rather than on raw clock speed. Two providers that sell the same 2 vCPU / 4 GiB can differ in memory bandwidth, for example by the CPU model a sandbox lands on.

The Memory tab measures sustainable memory bandwidth using John McCalpin's STREAM Triad benchmark across arrays sized to bypass CPU caches.

View the Procedure View STREAM Triad Results Download Raw Data

Metrics

STREAM Triad is the sustained main-memory bandwidth of the STREAM Triad kernel (a[i] = b[i] + scalar * c[i]) across 2 OpenMP threads, reported in GB/s of 10^9 bytes/s.

Timed Part Starts Ends
STREAM Triad STREAM begins its benchmark. STREAM exits after 20 passes; its rate is the best Triad pass by its own clock, in 10^9 bytes/s.
B_{\mathrm{Triad},\,i} = \dfrac{B_{\mathrm{Triad,MB/s},\,i}}{1000} = \dfrac{3 \times 8 \times N_{\mathrm{elem}}}{\min_{p \in \{2,\,\dots,\,20\}} t_{i,p} \times 10^{9}}
  • B_{\mathrm{Triad},\,i} Best Triad rate of trial i in decimal gigabytes per second (10^9 bytes/s), rounded to three decimal places.
  • B_{\mathrm{Triad,MB/s},\,i} Best Triad rate of trial i as STREAM prints it, in 10^6 bytes/s.
  • N_{\mathrm{elem}} Number of 8-byte double elements per array, 80,000,000.
  • t_{i,p} Elapsed time in seconds of pass p in trial i on STREAM's internal clock, for passes 2 to 20.

Each Triad pass streams two double arrays of 625,000 KiB each (b and c, eighty million elements each) and writes one double array of 625,000 KiB (a), transferring 3 * 640,000,000 = 1,920,000,000 bytes (1.92 GB decimal / 1.83 GiB binary) per pass.

Across 20 passes, STREAM discards pass 0, takes the minimum time across the remaining passes, reports Best Rate MB/s (10^6 bytes/s), and we divide by 1,000 to publish GB/s (10^9 bytes/s).

Measurement

Each trial uses a sandbox created from BoxRouter's pinned standard image, running a static Linux x86_64 build of John D. McCalpin's STREAM 5.10 (stream, verified by SHA-256).

  1. Create sandbox and run readiness check.
  2. Record CPU model, L3 cache size, and memory facts, then upload and verify the static stream binary.
  3. Bandwidth Run OMP_NUM_THREADS=2 ./stream for 20 passes as a polled background script in shuffled order alongside the 7-Zip tests and verify "Solution Validates". Timed
  4. Destroy sandbox.

The stream binary is compiled with 80,000,000 double elements per array (625,000 KiB / 610.4 MiB each, 1.83 GiB total across a, b, and c) and NTIMES = 20.

The hardware probe records visible CPU count (nproc), processor model name, instruction flags (SHA-NI, AVX2, AVX-512), L3 cache capacity, cgroup CPU quota (cpu.max), and available memory.

Scope Limits and Caveats

  • Measures sequential vector streaming from DRAM rather than random pointer-chasing access time or CPU compute speed; always uses 2 OpenMP threads for the 2 requested vCPUs.
  • Where the sandbox reports more than 160 MB of L3 cache, one array is under four times the cache, which breaks STREAM's run rule, and the array-size check records a note on those trials.

Failures and Exclusions

Outcome classifications, top-up rounds, and outlier rules follow Common Methodology; the first failed step ends the trial without in-trial retries.

A trial succeeds only when the stream binary SHA-256 matches the pinned SHA-256, stream exits 0, stdout includes Solution Validates and a positive Triad: rate, the guest clock passes the twenty-millisecond /proc/uptime gate, and the shared sandbox is confirmed destroyed.

Step Time Limit
Create 5 min
CPU facts 30 s
STREAM Triad 2 min
Destroy 5 min

Statistics

Based On
Common Methodology

Per-unit percentiles, bootstrap confidence intervals, and tail rules follow Common Methodology.

A provider is ranked once it has at least 5 successful trials.

Sandbox and Trials

Image Digest
sha256
Image Version
0.3.11
Image Registry Page
View on the Registry
Pull the Image
docker pull ghcr.io/boxrouter/standard-image@sha256:89d4c97048dbdfb8b6d85ad91833962ff38d1c334a5f47e6de80a9762310191b Copy
Lifetime
20.0 min
Idle Connection Time
5.0 min

From Common Methodology

Idle Connection Exceptions
Provider Rule File Transfer Idle Time
Daytona The SDK has no idle-timeout setting. Its command channel keeps its connection open, and its file-transfer channel reconnects after 5 s of idle time. 5.0 s

From Common Methodology

Network Path Attempts
10

From Common Methodology

Mode
Single
Sandboxes per Trial
1
Parallel Trials
10
Concurrent Sandboxes
1

At a Glance

Quantity
Bandwidth
Per
Trial
Unit
Gigabytes per Second (GB/s)
Direction
Higher Is Better
Statistic
Median
Clock
Sandbox clock

From Common Methodology

Machine Size
2 vCPU / 4 GiB
Trials
40

All Methods

Memory

Measures sustained main-memory bandwidth with the STREAM Triad benchmark across three 610.4 MiB arrays using one OpenMP thread per requested vCPU.

Data-science workloads, in-memory analytics, and large language or compiler toolchains frequently bottleneck on how fast the system can stream data between main memory (DRAM) and the CPU rather than on raw clock speed. Two providers that sell the same 2 vCPU / 4 GiB can differ in memory bandwidth, for example by the CPU model a sandbox lands on.

The Memory tab measures sustainable memory bandwidth using John McCalpin's STREAM Triad benchmark across arrays sized to bypass CPU caches.

Metrics

Loading results…

Measurement

Loading results…

Scope Limits and Caveats

Loading results…

Failures and Exclusions

Loading results…

Statistics

Loading results…

Sandbox and Trials

Loading results…