中山大学 2024 年分布式系统大作业。
DScope = Distributed Scope,分布式系统概念可视化系统。
目前支持模拟与可视化的分布式概念有:
cd dscope/
docker compose up -d这会起一个叫做 dscope_shiviz 的容器,使用 Ningx 容器在 localhost:4564 运行着 DScope 的前端服务。
可以选择源码安装 DScope 模拟器
pip install -r requirements.txt
pip install -e . --use-pep517
python -m dscope --version或者通过 pypi 直接下载 DScope
pip install -r requirements.txt
pip install dscope
python -m dscope --version预期得到输出 DScope <version>。
前端默认监听 localhost:4564,可以在 .env 中修改 SHIVIZ_PORT。
目前支持模拟的分布式场景有:
各个模拟器的超参数可以在 dscope/settings.py 中修改。
首先启动前端,确保 localhost:4564 可以访问。
运行模拟器,生成逻辑时钟的日志,此日志默认保存在 log/logical-clock.log。
dscope --simulator logical-clock此时访问前端,在 日志类型 中选择 Logical Clock,可以发现日志内容动态地渲染在页面上,点击 可视化 按钮即可看到逻辑时钟的可视化演示。
首先启动前端,确保 localhost:4564 可以访问。
运行模拟器,生成逻辑时钟的日志,此日志默认保存在 log/vector-clock.log。
dscope --simulator logical-clock此时访问前端,在 日志类型 中选择 Vector Clock,可以发现日志内容动态地渲染在页面上,点击 可视化 按钮即可看到逻辑时钟的可视化演示。
首先启动前端,确保 localhost:4564 可以访问。
运行模拟器,生成 Paxos 的日志,此日志默认保存在 log/paxos.log。
dscope --simulator paxos此时访问前端,在 日志类型 中选择 Paxos,可以发现日志内容动态地渲染在页面上,点击 可视化 按钮即可看到逻辑时钟的可视化演示。
首先启动前端,确保 localhost:4564 可以访问。
运行模拟器,生成两阶段提交协议的日志,此日志默认保存在 log/2pc.log。
dscope --simulator 2pc此时访问前端,在 日志类型 中选择 2PC,可以发现日志内容动态地渲染在页面上,点击 可视化 按钮即可看到逻辑时钟的可视化演示。







