Skip to content

Repository files navigation

DScope

PyPI Version PyPI Downloads

中山大学 2024 年分布式系统大作业。

DScope = Distributed Scope,分布式系统概念可视化系统。

目前支持模拟与可视化的分布式概念有:

1. 环境配置

1.1 前端

cd dscope/
docker compose up -d

这会起一个叫做 dscope_shiviz 的容器,使用 Ningx 容器在 localhost:4564 运行着 DScope 的前端服务。

1.2 模拟器

可以选择源码安装 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>

2. 超参数设置

2.1 前端

前端默认监听 localhost:4564,可以在 .env 中修改 SHIVIZ_PORT

2.2 模拟器

目前支持模拟的分布式场景有:

各个模拟器的超参数可以在 dscope/settings.py 中修改。

3. 案例演示

3.1 逻辑向量

首先启动前端,确保 localhost:4564 可以访问。

运行模拟器,生成逻辑时钟的日志,此日志默认保存在 log/logical-clock.log

dscope --simulator logical-clock

此时访问前端,在 日志类型 中选择 Logical Clock,可以发现日志内容动态地渲染在页面上,点击 可视化 按钮即可看到逻辑时钟的可视化演示。

logical_clock_1.jpg logical_clock_2.jpg

3.2 时钟向量

首先启动前端,确保 localhost:4564 可以访问。

运行模拟器,生成逻辑时钟的日志,此日志默认保存在 log/vector-clock.log

dscope --simulator logical-clock

此时访问前端,在 日志类型 中选择 Vector Clock,可以发现日志内容动态地渲染在页面上,点击 可视化 按钮即可看到逻辑时钟的可视化演示。

vector_clock_1.jpg vector_clock_2.jpg

3.3 Paxos

首先启动前端,确保 localhost:4564 可以访问。

运行模拟器,生成 Paxos 的日志,此日志默认保存在 log/paxos.log

dscope --simulator paxos

此时访问前端,在 日志类型 中选择 Paxos,可以发现日志内容动态地渲染在页面上,点击 可视化 按钮即可看到逻辑时钟的可视化演示。

paxos_1.jpg paxos_2.jpg

3.3 两阶段提交协议

首先启动前端,确保 localhost:4564 可以访问。

运行模拟器,生成两阶段提交协议的日志,此日志默认保存在 log/2pc.log

dscope --simulator 2pc

此时访问前端,在 日志类型 中选择 2PC,可以发现日志内容动态地渲染在页面上,点击 可视化 按钮即可看到逻辑时钟的可视化演示。

2pc_1.jpg 2pc_2.jpg

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages