分布式系统验证:方法、挑战与未来方向
并行验证
在顺序实现中,第一个漫游者(vagabond)在特定情况下启动第二个漫游者,并等待其运行结果,然后根据两个漫游者的搜索结果来决定是否继续或中断第一个漫游者的进程。不过,我们可以采用多种并发计算方式。
- 并行运行 :第一个和第二个漫游者可以并行运行。当要启动第二个漫游者搜索,而前一个还未完成时,第一个漫游者会被暂停。
- 建立缓冲区 :为避免频繁启动第二个漫游者(启动新进程或线程的成本较高),可以在第一个和第二个漫游者之间建立缓冲区。在Dedan程序中,就采用了在第一种类型和第二种类型的漫游者之间设置缓冲区的解决方案。
- 多漫游者启动 :2 - 漫游者算法的一个重要特性是可以启动多个第一种和第二种类型的漫游者。它们独立运行,但如果单个漫游者发现死锁(或缺乏终止条件),则所有漫游者都应停止运行。当然,漫游者数量远超可用处理器数量是没有意义的。
- 分布式运行 :搜索路径中的配置是在运行时确定的,因此算法的输入仅包含一组动作的定义。这个输入可以轻松分布到一组分布式计算机上,以并行运行多个漫游者。第一种和第二种类型的漫游者都可以分布式启动。同样,在识别出死锁(或缺乏终止条件)后,必须停止所有漫游者的运行。这是Dedan开发的下一步计划。
以下是一些模型的验证相关数据:
| Model | Yes/not | Exhaustive search | 2 - vagabonds | Configuration space (thousands) | Space
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



