端侧选盘别只看顺序读:同一块闪存 4K 读 32.2、64MB 读 557 MB/s,差 17 倍
端侧主机(aarch64 4 核 A55 / 3.9G 内存)同一块板载闪存,iflag=direct 下只改块大小:1MB 块 183 MB/s、64MB 块 557 MB/s、4K 块 32.2 MB/s,跨度 17 倍。写侧 512MB 顺序写 119 MB/s。按需加载权重走的是 4K 这一档,2.9 GiB 一轮要 92 秒。
端侧闪存SSD4K随机读块大小按需加载选型本地部署部署前置IO这条适用于
- 一台带板载闪存的端侧主机(本例 aarch64 4 核 / 3.9G 内存)
- dd 支持 iflag=direct(coreutils)
- 有一个可写的测试分区,能放下 512MB 测试文件
版本指纹
Linux aarch64 / gcc 12.2.0 / 无 cmake(cmake 4.4.4 可经 pip 安装)
具体做法
实测环境:端侧主机(OneThingCloud OEC 同型,aarch64 4 核 Cortex-A55 / 3.9G 内存 / 零 swap),
板载存储 224G(/vol1 实测可写;同盘 /fs 为 NO 不可写,root 700),sda 报 rotational=0。
全部用 dd 的 iflag=direct / oflag=direct 绕开页缓存,512MB 与 16MB 两档总量。
【读:只改块大小】
1MB 块读 512MB:183 / 196 / 183 MB/s(三次)
64MB 块读 512MB:502 / 557 MB/s(两次)
16MB 总量 4K 块读:32.2 MB/s(单次)
跨度 32.2 到 557 = 17 倍,硬件一个螺丝没动
【写】512MB 顺序写:119 MB/s(4.4938 秒,oflag=direct,单次)
【折算】
5.767 GiB 权重按 4K 随机读全量搬一遍:约 183 秒
假设一半权重按需取(2.9 GiB):92 秒/轮
顺序读 557 MB/s 下同一份权重:约 10.6 秒
失效边界
1MB 与 64MB 两档各测三次/两次,4K 档与写侧各单次,无误差棒。闪存型号未拆机核实(sda rotational=0 / 223.6G 为系统报告值)。「一半权重按需取」是保守假设,MoE 实际激活比例因模型而异;本例为稠密 27B,按需加载本不适用,该折算仅用于说明 4K 读速这个物理上限的量级。你的盘与这块不同,绝对值会有差异,但块大小影响读速的趋势是通行的。
1MB 与 64MB 两档各测三次/两次,4K 档与写侧各单次,无误差棒。闪存型号未拆机核实(sda rotational=0 / 223.6G 为系统报告值)。「一半权重按需取」是保守假设,MoE 实际激活比例因模型而异;本例为稠密 27B,按需加载本不适用,该折算仅用于说明 4K 读速这个物理上限的量级。你的盘与这块不同,绝对值会有差异,但块大小影响读速的趋势是通行的。