| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[doc]新增版本说明书;将资料移至 docs/zh 目录下,并同步更新受影响文档 Co-authored-by: whytao<weitao46@h-partners.com> # message auto-generated for no-merge-commit merge: !531 merge develop into develop [doc]新增版本说明书;将资料移至 docs/zh 目录下,并同步更新受影响文档 Created-by: whytao Commit-by: whytao Merged-by: yrewzjsx Description: # 合入来源 - [ ] 需求 - [ ] 问题单 - [x] issue fixed: [#275](https://atomgit.com/Ascend/memcache/issues/275) # 问题/功能描述 # 修改方案描述 新增版本说明书;将资料移至 docs/zh 目录下,并同步更新受影响文档。 # 是否涉及UT/ST - [ ] 是 - [ ] 否(说明理由) # 开发自检 - [ ] 规范:未超过1k;超过1k已完成备案;反合入需要标题注明【反合】 - [ ] 规范:已关联issue或里程碑 - [ ] 规范:不需要UT/ST且已说明理由;需要且已包含UT/ST - [ ] 安全:涉及对外接口/参数/环境变量改动,并同步修改资料 - [ ] 安全:未引入三方开源软件;引入三方开源软件并经过安全评审 - [ ] 安全:未新增对外接口/参数;新增对外接口/参数有校验 - [ ] 规范:未涉及资料改动;涉及资料改动并已完成修改 See merge request: Ascend/memcache!531 | 18 天前 | |
【性能】支持聚合个数调参 Co-authored-by: yrewzjsx<zhangjinshi2@huawei.com> # message auto-generated for no-merge-commit merge: !120 merge develop into develop 【性能】支持聚合个数调参 Created-by: yrewzjsx Commit-by: yrewzjsx Merged-by: chenyz6 Description: # Pull Request Template ## Description <!-- Provide a clear summary of the change, the problem it solves, and the technical approach. --> ## Related Issues <!-- Replace with actual issue numbers. Example: Closes #123, Related to #456 --> ## Type of Change - [ ] Bug fix - [ ] New feature - [ ] Performance optimization - [ ] Documentation update - [ ] Other (please describe):_______________ ## Testing <!-- Describe how the changes were tested. Include: - Unit/integration test coverage - Manual validation steps - Links to CI reports (e.g., CIDA) if available - Note any pending tests --> ## Checklist - [ ] I have performed a self-review of my own code. - [ ] I have updated the documentation. - [ ] I have added tests to prove my changes are effective. See merge request: Ascend/memcache!120 | 7 个月前 | |
[feature] benchmark 支持写入 warmup,提升性能统计稳定性 Co-authored-by: lirui7717<lirui7717@163.com> # message auto-generated for no-merge-commit merge: !498 merge feat/benchmark-warmup into develop [feature] benchmark 支持写入 warmup,提升性能统计稳定性 Created-by: lirui7717 Commit-by: lirui7717 Merged-by: yrewzjsx Description: # 合入来源 - [ ] 需求 - [ ] 问题单 - [x] issue:#246 # 问题/功能描述 当前 benchmark 写入测试未提供独立的 warmup 阶段,首次写入可能包含运行时初始化、缓存预热、内存分配等一次性开销,导致正式性能统计结果偏低且波动较大。 在相同环境和测试参数下: | 场景 | Warmup 次数 | 平均时延 | 带宽 | | --- | ---: | ---: | ---: | | 未预热 | 0 | 955.03 us | 16.361 GB/s | | 预热后 | 5 | 756.03 us | 20.667 GB/s | 使用 5 次 warmup 后: - 平均时延由 955.03 us 降至 756.03 us,降低约 20.8%; - 带宽由 16.361 GB/s 提升至 20.667 GB/s,提升约 26.3%。 测试命令: shell # 无 warmup bash ./bench_start.sh -t write -p 1 -b 16 -s 1048576 -n 10 -d 1 -e memcache -l npu -w 0 # warmup 5 次 bash ./bench_start.sh -t write -p 1 -b 16 -s 1048576 -n 10 -d 1 -e memcache -l npu -w 5 # 修改方案描述 新增 -w <warmup_count> 参数,用于配置写入 warmup 次数,默认值为 2,可选0来保持原有调用方式兼容。 实现内容: - bench_start.sh 解析并传递 -w 参数; - run_mutil_process.py 接收并向 worker 下发 warmup_count; - 写入 worker 在正式计时前执行指定次数的 warmup; - warmup 使用临时 key,并在正式计时前删除,避免占用正式测试的内存池容量; - 增加参数合法性校验:call_count 必须大于 0,warmup_count 不得小于 0; - 更新 README:写入示例增加 -w,读测试无需配置该参数,并补充中文参数说明。 读测试原有逻辑已在正式计时前完成预热,本次不额外增加读 warmup 参数的使用说明。 # 是否涉及UT/ST - [ ] 是 - [x] 否(说明理由) 本次改动依赖实际 Ascend/NPU、LocalService 及 memcache 运行环境。已在实际环境中完成写入 benchmark 验证,并完成 shell 语法、Python 编译和 Git diff 检查。 # 开发自检 - [x] 规范:未超过1k;超过1k已完成备案;反合入需要标题注明【反合】 - [x] 规范:已关联issue或里程碑 - [x] 规范:不需要UT/ST且已说明理由;需要且已包含UT/ST - [x] 安全:涉及对外接口/参数/环境变量改动,并同步修改资料 - [x] 安全:未引入三方开源软件 - [x] 安全:新增对外接口/参数,已增加合法性校验 - [x] 规范:涉及资料改动并已完成修改 See merge request: Ascend/memcache!498 | 1 个月前 | |
【性能】支持聚合个数调参 Co-authored-by: yrewzjsx<zhangjinshi2@huawei.com> # message auto-generated for no-merge-commit merge: !120 merge develop into develop 【性能】支持聚合个数调参 Created-by: yrewzjsx Commit-by: yrewzjsx Merged-by: chenyz6 Description: # Pull Request Template ## Description <!-- Provide a clear summary of the change, the problem it solves, and the technical approach. --> ## Related Issues <!-- Replace with actual issue numbers. Example: Closes #123, Related to #456 --> ## Type of Change - [ ] Bug fix - [ ] New feature - [ ] Performance optimization - [ ] Documentation update - [ ] Other (please describe):_______________ ## Testing <!-- Describe how the changes were tested. Include: - Unit/integration test coverage - Manual validation steps - Links to CI reports (e.g., CIDA) if available - Note any pending tests --> ## Checklist - [ ] I have performed a self-review of my own code. - [ ] I have updated the documentation. - [ ] I have added tests to prove my changes are effective. See merge request: Ascend/memcache!120 | 7 个月前 | |
[ci] style: 引入 pre-commit 并应用全代码库格式化 Co-authored-by: shilinlee<836160610@qq.com> # message auto-generated for no-merge-commit merge: !347 merge worktree-precommit-format into develop [ci] style: 引入 pre-commit 并应用全代码库格式化 Created-by: shilinlee_com Commit-by: shilinlee Merged-by: yrewzjsx Description: ## 合入来源 - [ ] 需求 - [x] 问题单 - [ ] issue ## 问题/功能描述 引入 pre-commit CI 格式化检查机制,并对全代码库应用自动格式化修正。 ## 修改方案描述 1. 新增/更新 pre-commit 基础设施: .clang-format、.pre-commit-config.yaml、script/ci-pre-commit-pr.sh CI 脚本 2. 对全代码库执行 pre-commit 自动格式化:clang-format、文件末尾补换行、去除尾随空格等 ## 是否涉及UT/ST - [ ] 是 - [x] 否(说明理由:纯格式化调整,不涉及功能逻辑改动) ## 开发自检 - [x] 规范:未超过1k;超过1k已完成备案;反合入需要标题注明【反合】 - [x] 规范:已关联issue或里程碑 - [x] 规范:不需要UT/ST且已说明理由;需要且已包含UT/ST - [x] 安全:涉及对外接口/参数/环境变量改动,并同步修改资料 - [x] 安全:未引入三方开源软件;引入三方开源软件并经过安全评审 - [x] 安全:未新增对外接口/参数;新增对外接口/参数有校验 - [x] 规范:未涉及资料改动;涉及资料改动并已完成修改 See merge request: Ascend/memcache!347 | 2 个月前 | |
[feature] benchmark 支持写入 warmup,提升性能统计稳定性 Co-authored-by: lirui7717<lirui7717@163.com> # message auto-generated for no-merge-commit merge: !498 merge feat/benchmark-warmup into develop [feature] benchmark 支持写入 warmup,提升性能统计稳定性 Created-by: lirui7717 Commit-by: lirui7717 Merged-by: yrewzjsx Description: # 合入来源 - [ ] 需求 - [ ] 问题单 - [x] issue:#246 # 问题/功能描述 当前 benchmark 写入测试未提供独立的 warmup 阶段,首次写入可能包含运行时初始化、缓存预热、内存分配等一次性开销,导致正式性能统计结果偏低且波动较大。 在相同环境和测试参数下: | 场景 | Warmup 次数 | 平均时延 | 带宽 | | --- | ---: | ---: | ---: | | 未预热 | 0 | 955.03 us | 16.361 GB/s | | 预热后 | 5 | 756.03 us | 20.667 GB/s | 使用 5 次 warmup 后: - 平均时延由 955.03 us 降至 756.03 us,降低约 20.8%; - 带宽由 16.361 GB/s 提升至 20.667 GB/s,提升约 26.3%。 测试命令: shell # 无 warmup bash ./bench_start.sh -t write -p 1 -b 16 -s 1048576 -n 10 -d 1 -e memcache -l npu -w 0 # warmup 5 次 bash ./bench_start.sh -t write -p 1 -b 16 -s 1048576 -n 10 -d 1 -e memcache -l npu -w 5 # 修改方案描述 新增 -w <warmup_count> 参数,用于配置写入 warmup 次数,默认值为 2,可选0来保持原有调用方式兼容。 实现内容: - bench_start.sh 解析并传递 -w 参数; - run_mutil_process.py 接收并向 worker 下发 warmup_count; - 写入 worker 在正式计时前执行指定次数的 warmup; - warmup 使用临时 key,并在正式计时前删除,避免占用正式测试的内存池容量; - 增加参数合法性校验:call_count 必须大于 0,warmup_count 不得小于 0; - 更新 README:写入示例增加 -w,读测试无需配置该参数,并补充中文参数说明。 读测试原有逻辑已在正式计时前完成预热,本次不额外增加读 warmup 参数的使用说明。 # 是否涉及UT/ST - [ ] 是 - [x] 否(说明理由) 本次改动依赖实际 Ascend/NPU、LocalService 及 memcache 运行环境。已在实际环境中完成写入 benchmark 验证,并完成 shell 语法、Python 编译和 Git diff 检查。 # 开发自检 - [x] 规范:未超过1k;超过1k已完成备案;反合入需要标题注明【反合】 - [x] 规范:已关联issue或里程碑 - [x] 规范:不需要UT/ST且已说明理由;需要且已包含UT/ST - [x] 安全:涉及对外接口/参数/环境变量改动,并同步修改资料 - [x] 安全:未引入三方开源软件 - [x] 安全:新增对外接口/参数,已增加合法性校验 - [x] 规范:涉及资料改动并已完成修改 See merge request: Ascend/memcache!498 | 1 个月前 | |
[feature] benchmark 支持写入 warmup,提升性能统计稳定性 Co-authored-by: lirui7717<lirui7717@163.com> # message auto-generated for no-merge-commit merge: !498 merge feat/benchmark-warmup into develop [feature] benchmark 支持写入 warmup,提升性能统计稳定性 Created-by: lirui7717 Commit-by: lirui7717 Merged-by: yrewzjsx Description: # 合入来源 - [ ] 需求 - [ ] 问题单 - [x] issue:#246 # 问题/功能描述 当前 benchmark 写入测试未提供独立的 warmup 阶段,首次写入可能包含运行时初始化、缓存预热、内存分配等一次性开销,导致正式性能统计结果偏低且波动较大。 在相同环境和测试参数下: | 场景 | Warmup 次数 | 平均时延 | 带宽 | | --- | ---: | ---: | ---: | | 未预热 | 0 | 955.03 us | 16.361 GB/s | | 预热后 | 5 | 756.03 us | 20.667 GB/s | 使用 5 次 warmup 后: - 平均时延由 955.03 us 降至 756.03 us,降低约 20.8%; - 带宽由 16.361 GB/s 提升至 20.667 GB/s,提升约 26.3%。 测试命令: shell # 无 warmup bash ./bench_start.sh -t write -p 1 -b 16 -s 1048576 -n 10 -d 1 -e memcache -l npu -w 0 # warmup 5 次 bash ./bench_start.sh -t write -p 1 -b 16 -s 1048576 -n 10 -d 1 -e memcache -l npu -w 5 # 修改方案描述 新增 -w <warmup_count> 参数,用于配置写入 warmup 次数,默认值为 2,可选0来保持原有调用方式兼容。 实现内容: - bench_start.sh 解析并传递 -w 参数; - run_mutil_process.py 接收并向 worker 下发 warmup_count; - 写入 worker 在正式计时前执行指定次数的 warmup; - warmup 使用临时 key,并在正式计时前删除,避免占用正式测试的内存池容量; - 增加参数合法性校验:call_count 必须大于 0,warmup_count 不得小于 0; - 更新 README:写入示例增加 -w,读测试无需配置该参数,并补充中文参数说明。 读测试原有逻辑已在正式计时前完成预热,本次不额外增加读 warmup 参数的使用说明。 # 是否涉及UT/ST - [ ] 是 - [x] 否(说明理由) 本次改动依赖实际 Ascend/NPU、LocalService 及 memcache 运行环境。已在实际环境中完成写入 benchmark 验证,并完成 shell 语法、Python 编译和 Git diff 检查。 # 开发自检 - [x] 规范:未超过1k;超过1k已完成备案;反合入需要标题注明【反合】 - [x] 规范:已关联issue或里程碑 - [x] 规范:不需要UT/ST且已说明理由;需要且已包含UT/ST - [x] 安全:涉及对外接口/参数/环境变量改动,并同步修改资料 - [x] 安全:未引入三方开源软件 - [x] 安全:新增对外接口/参数,已增加合法性校验 - [x] 规范:涉及资料改动并已完成修改 See merge request: Ascend/memcache!498 | 1 个月前 | |
[ci] style: 引入 pre-commit 并应用全代码库格式化 Co-authored-by: shilinlee<836160610@qq.com> # message auto-generated for no-merge-commit merge: !347 merge worktree-precommit-format into develop [ci] style: 引入 pre-commit 并应用全代码库格式化 Created-by: shilinlee_com Commit-by: shilinlee Merged-by: yrewzjsx Description: ## 合入来源 - [ ] 需求 - [x] 问题单 - [ ] issue ## 问题/功能描述 引入 pre-commit CI 格式化检查机制,并对全代码库应用自动格式化修正。 ## 修改方案描述 1. 新增/更新 pre-commit 基础设施: .clang-format、.pre-commit-config.yaml、script/ci-pre-commit-pr.sh CI 脚本 2. 对全代码库执行 pre-commit 自动格式化:clang-format、文件末尾补换行、去除尾随空格等 ## 是否涉及UT/ST - [ ] 是 - [x] 否(说明理由:纯格式化调整,不涉及功能逻辑改动) ## 开发自检 - [x] 规范:未超过1k;超过1k已完成备案;反合入需要标题注明【反合】 - [x] 规范:已关联issue或里程碑 - [x] 规范:不需要UT/ST且已说明理由;需要且已包含UT/ST - [x] 安全:涉及对外接口/参数/环境变量改动,并同步修改资料 - [x] 安全:未引入三方开源软件;引入三方开源软件并经过安全评审 - [x] 安全:未新增对外接口/参数;新增对外接口/参数有校验 - [x] 规范:未涉及资料改动;涉及资料改动并已完成修改 See merge request: Ascend/memcache!347 | 2 个月前 |
benchmark
提供python benchmark,以方便测试memcache内存池put/get性能。 主要涉及如下步骤。
一、启动元数据服务
export MMC_META_CONFIG_PATH=${your config path}/mmc-meta.conf;
bash bench_start_meta.sh
二、写数据测试
export MMC_LOCAL_CONFIG_PATH=${your config path}/mmc-local.conf;
bash bench_start.sh -t write -p 1 -b 16 -s 1048576 -n 100 -w 10 -d 1 -e memcache -l npu
三、读数据测试
export MMC_LOCAL_CONFIG_PATH=${your config path}/mmc-local.conf;
bash bench_start.sh -t read -p 1 -b 16 -s 1048576 -n 100 -d 1 -e memcache -l npu
入参说明
| 参数 | 可选项 | 说明 |
|---|---|---|
| -t | [read, write] | 控制测试是写入数据还是读取数据 |
| -p | [1, 32] | process count, 运行的进程数量, 受限于NPU的个数 |
| -b | [1, ] | batch size, 单次IO key的个数 |
| -s | [1, ] | block size, 单次IO key对应的value的大小,单位Byte |
| -n | [10, ] | call count, 循环测试次数,受限于内存池总容量,会生成 batch_size * process_count * call_count个key |
| -w | [0, ] | 写入预热次数。预热在正式写入计时前执行,不计入性能结果;每轮预热使用临时 key,并在计时前删除。默认值为 2;读测试已在正式计时前完成预热,无需配置该参数。 |
| -d | [1, 2] | 测试连续tensor(1)还是离散tensor(2),离散tensor默认为61*128KB + 61*16KB,连续tensor大小为block size |
| -e | [memcache, mooncake] | 内存池后端,默认支持memcache,mooncake须安装相关软件 |
| -l | [npu, cpu] | 测试数据tensor位于NPU还是CPU |