我正在对几个分布式系统(如Chord)进行一些研究,我希望能够只用我的桌面编写算法并运行分布式系统的模拟。
在模拟中,我需要能够让每个节点独立执行并相互通信,同时手动诱导滞后,丢包,随机崩溃等元素。然后收集数据以估计系统的性能。
经过一番搜索后,我发现SimPy是我目的的好候选人。
SimPy是否适合执行此任务? 如果是,那么实施这样一个系统的建议/注意事项是什么?
答案 0 :(得分:1)
我会说是的。
我使用SimPy(版本2)模拟仲裁通信网络,作为我博士学位的一部分。你可以在这里看到代码:
https://github.com/IncidentNormal/CommNetSim
然而,它有点密集,并没有很好的记录。它也应该真正被翻译成SimPy版本3,因为不再支持2(并且3修复了我在2中找到的一些限制)。我发现有用的一些概念/想法: