深色模式
sim-scaffold:调度仿真器脚手架
为调度、资源分配类论文生成可运行的仿真器骨架(RL 风格接口、5 种对比算法、多种子实验和自查测试),再照着论文的系统模型逐项修改。
能做什么
调度、资源分配类期刊论文的实验大多是仿真,代码通常不公开,复现或做自己的研究时要自己写仿真器。这个技能先生成一个能跑的骨架,再和你一起把它改成论文的模型:
| 文件 | 内容 |
|---|---|
sim.py | 仿真器:任务、节点、时间公式(estimate)、约束(mask)、状态转移(step),接口和强化学习环境一致 |
policies.py | 对比算法:随机、轮询、最少负载、数据优先、贪心 |
run.py | 每个策略 × 每个种子跑一遍,写成 CSV;--set 临时改参数做敏感性分析 |
config.json | 参数设置表,单位统一 |
test_sim.py | 自查:手算结果、带宽翻倍、缓存命中、对比算法的相对顺序 |
默认模型是边缘节点上的任务调度:任务需要一份数据(镜像、模型)和计算量,没有数据的节点要先下载,数据缓存在节点上。只依赖 Python 标准库。
安装
装到当前项目(.claude/skills/),macOS / Linux
curl -LO https://skills.bnuai.com/download/skills/sim-scaffold.zip && mkdir -p .claude/skills && unzip -o sim-scaffold.zip -d .claude/skills装到个人目录,所有项目都能用,macOS / Linux
curl -LO https://skills.bnuai.com/download/skills/sim-scaffold.zip && mkdir -p ~/.claude/skills && unzip -o sim-scaffold.zip -d ~/.claude/skills装到当前项目,Windows PowerShell
Invoke-WebRequest https://skills.bnuai.com/download/skills/sim-scaffold.zip -OutFile sim-scaffold.zip; Expand-Archive sim-scaffold.zip -DestinationPath .claude\skills -Force压缩包从本站下载,不需要 Node.js 或 GitHub。带脚本的技能需要 Python 3.9 以上。更新时重新下载解压、覆盖原文件夹即可。
怎么用
text
我要复现 LDLS 的仿真实验。先帮我把系统模型整理出来,再生成一个仿真器骨架,照着论文改。Agent 会先和你一起整理实体、参数设置表、每段时间的公式(标明式号)、约束和优化目标,以及论文没写清、需要假设的地方,再一次改一处,每改一处都跑自查。
示例:默认模型的结果
text
策略 平均完成时间 (s) P99 (s) 缓存命中 (3 个种子,均值 ± 标准差)
Random 137.83 ± 83.98 649.16 57.5%
RoundRobin 105.97 ± 62.33 572.57 58.0%
LeastLoaded 54.09 ± 14.48 130.56 58.1%
CacheFirst 212.29 ± 13.27 1277.61 97.0%
Greedy 24.91 ± 2.04 85.53 93.5%只看数据位置的 CacheFirst 缓存命中率最高,却把任务挤到少数节点上,结果最差;只看负载的 LeastLoaded 反复下载;两者都考虑的 Greedy 最好。这正是层感知调度要解决的权衡,和 L9 实验的结论一致。
直接运行脚本
bash
python3 skills/sim-scaffold/scripts/scaffold.py my-sim
cd my-sim && python test_sim.py && python run.py --seeds 5
python run.py --set tasks.arrival_rate=0.6 --policies Greedy,LeastLoaded权限说明
只在你指定的新目录里生成文件,已存在的同名文件不会被覆盖。不联网。
局限
骨架是起点,不是论文的实现。每个公式、参数和假设都要对照论文核对,和论文结果对不上时先查仿真器。