[Benchmark] Windows large pages (Lock pages in memory) on RTX 5080 + 96 GB, 0.2.10: arena on 2 MiB pages, no decode or prompt gain (ABAB)
I maintainer di solito rispondono entro 4 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 74/100
- Tipo di issue
- Documentazione
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- cpp
- Ambito
- documentation
Direzione di ricerca
Leggi docs/DETAILS.md e i risultati del benchmark in questa issue. Aggiorna la sezione sulla concessione del diritto «Blocca le pagine in memoria» per descrivere il risultato misurato sul PC Windows testato e menzionare STRATA_NO_LARGEPAGES=1 come opzione per disattivarlo. Il lavoro è completato quando la documentazione riflette le misurazioni riportate senza presentarle come una garanzia generale di prestazioni.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What did you measure, or what went wrong
#1412 showed that "Lock pages in memory" moves the expert arena to 2 MiB large pages, and it noted that the effect on tok/s had not been measured. Here is an interleaved A/B of that effect on the 0.2.10 release.
Setup
- RTX 5080 16 GB (sm_120, PCIe 5.0 x8, the only GPU), Ryzen 9 9950X3D, 96 GB DDR5-6400, Windows 11 Pro 10.0.26200, driver 617.42
- Strata 0.2.10, Control and engine 0.1.56
windows-x86_64-cuda-cuda13(release,c5ab5d40) - "Lock pages in memory" was granted to the account in
secpol.msc, then the PC was rebooted. The test started 2 minutes after logon, with nothing else running.whoami /privlistsSeLockMemoryPrivilege; before the grant, the log saidlarge pages refused ... VirtualAlloc error 1314. - Arm A: large pages, the engine's default once the privilege is held. Log:
expert arena: cudaHostRegister PORTABLE ok; large pages (2097152 B). - Arm B:
STRATA_NO_LARGEPAGES=1. Log:large pages skipped (STRATA_NO_LARGEPAGES); using 4 KB pages. - Everything else is identical between arms:
- OrcaRouter Qwen3.8-Flash-Next-Uncensored IQ3_XXS, hand-made run config: 128K, MTP,
cyrillicdraft subset,--vram-reserve-mib 1472, 49.80 GiB arena, 4161 GPU slots. - The setup-made
qwen-128kpreset: Unsloth UD-IQ4_XS, DFlash2 Auto, 55.43 GiB arena, 2357 slots.
- OrcaRouter Qwen3.8-Flash-Next-Uncensored IQ3_XXS, hand-made run config: 128K, MTP,
Method
- Order: Orca A, B, A, B, then qwen-128k A, B. Each arm is a fresh start.
- Each start runs
strata bench run --url ... --skip-model-hash(standard-v1) and then a short Russian probe: 5 prompts × 3 seeds, thinking off, 220–700 tokens. The probe script is in #5107. - Values are medians in tok/s from the engine's timings.
Results
| Model, pages | starts | Russian: code / text edit / JSON / prose / short | English decode: short / 4K / 16K | prompt 4K / 16K | arena load | sanity |
|---|---|---|---|---|---|---|
| Orca IQ3_XXS, 2 MiB | 2 | 123 / 163 / 137 / 122 / 115 | 98 / 93 / 99 | 2159 / 4132 | 6.73, 6.75 GiB/s | 12/12 ×2 |
| Orca IQ3_XXS, 4 KB | 2 | 129 / 165 / 134 / 128 / 120 | 103 / 99 / 100 | 2160 / 4123 | 6.74, 6.75 GiB/s | 12/12 ×2 |
| qwen-128k UD-IQ4_XS, 2 MiB | 1 | 109 / 136 / 95 / 87 / 94 | 84 / 83 / 79 | 1874 / 3625 | 5.95 GiB/s | 12/12 |
| qwen-128k UD-IQ4_XS, 4 KB | 1 | 113 / 136 / 101 / 87 / 91 | 85 / 86 / 82 | 1873 / 3625 | 6.27 GiB/s | 12/12 |
- No gain from large pages on decode, prompt or load speed. If anything, the 4 KB arm is 2–6 % faster. On the interleaved Orca pairs it is ahead in 7 of 8 decode metrics, which is within the 3–6 % spread I measured between two starts of the same config, but it points one way.
- My guess: with most routed experts in the GPU cache and the rest read by the GPU from pinned host memory over PCIe, the CPU's page size is not on the hot path. I have not checked this beyond these numbers.
- Reliability: all three large-page starts in this boot got their arena on 2 MiB pages, including the third start after two restarts. I did not see the 1450 from #2295 (same 5080 + 96 GB class of PC). That is a short session, not a soak.
Suggestion
Should docs/DETAILS.md, where it describes granting "Lock pages in memory", say that on this kind of PC it was measured with no speed gain? Then nobody grants a user right and logs off for nothing. STRATA_NO_LARGEPAGES=1 worked as the off switch.
The per-request data is kept; I can add it as a results-only PR if useful.
Reproduction status
Measured locally
- Lingua principale
- C++
- Stelle
- 11.6k
- Fork
- 1k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Niko1221/Strata
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Niko1221/Strata#5560 · 2 commenti ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Niko1221/Strata#5553 · 2 commenti ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
I maintainer di solito rispondono entro 4 giorni
-
needs-format
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
Niko1221/Strata#5510 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di Niko1221/Strata
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
games-on-whales/wolf#569 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
cloudflare/workerd#8290 ·
I maintainer di solito rispondono entro 1 giorno
-
scripts/moe-cache-tune.py: device_room() under-reports free VRAM when a draft model is loadedForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
Vector35/binaryninja-api#8715 ·
I maintainer di solito rispondono entro 2 giorni
-
ai_p3 comp-database-engines
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ClickHouse/ClickHouse#130186 ·
I maintainer di solito rispondono entro 1 giorno