A General Lock-Free Algorithm for Parallel State Space Construction

Infinity Pub Date : 2010-09-30 DOI:10.1109/PDMC-HIBI.2010.10
Rodrigo T. Saad, S. Zilio, B. Berthomieu
{"title":"A General Lock-Free Algorithm for Parallel State Space Construction","authors":"Rodrigo T. Saad, S. Zilio, B. Berthomieu","doi":"10.1109/PDMC-HIBI.2010.10","DOIUrl":null,"url":null,"abstract":"Verification via model-checking is a very demanding activity in terms of computational resources. While there are still gains to be expected from algorithmic improvements, it is necessary to take advantage of the advances in computer hardware to tackle bigger models. Recent improvements in his area take the form of multiprocessor and multicore architectures with access to large memory space. We address the problem of generating the state space of finite-state transition systems, often a preliminary step for model-checking. We propose a novel algorithm for enumerative state space construction targeted at shared memory systems. Our approach relies on the use of two data structures: a shared Bloom filter to coordinate the state space exploration distributed among several processors and local dictionaries to store the states. The goal is to limit synchronization overheads and to increase the locality of memory access without having to make constant use of locks to ensure data integrity. Bloom filters have already been applied for the probabilistic verification of systems, they are compact data structures used to encode sets, but in a way that false positives are possible, while false negatives are not. We circumvent this limitation and propose an original multiphase algorithm to perform exhaustive, deterministic, state space generations. We assess the performance of our algorithm on different benchmarks and compare our results with the solution proposed by Inggs and Barringer.","PeriodicalId":31175,"journal":{"name":"Infinity","volume":"3 1","pages":"8-16"},"PeriodicalIF":0.0000,"publicationDate":"2010-09-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Infinity","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PDMC-HIBI.2010.10","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13

Abstract

Verification via model-checking is a very demanding activity in terms of computational resources. While there are still gains to be expected from algorithmic improvements, it is necessary to take advantage of the advances in computer hardware to tackle bigger models. Recent improvements in his area take the form of multiprocessor and multicore architectures with access to large memory space. We address the problem of generating the state space of finite-state transition systems, often a preliminary step for model-checking. We propose a novel algorithm for enumerative state space construction targeted at shared memory systems. Our approach relies on the use of two data structures: a shared Bloom filter to coordinate the state space exploration distributed among several processors and local dictionaries to store the states. The goal is to limit synchronization overheads and to increase the locality of memory access without having to make constant use of locks to ensure data integrity. Bloom filters have already been applied for the probabilistic verification of systems, they are compact data structures used to encode sets, but in a way that false positives are possible, while false negatives are not. We circumvent this limitation and propose an original multiphase algorithm to perform exhaustive, deterministic, state space generations. We assess the performance of our algorithm on different benchmarks and compare our results with the solution proposed by Inggs and Barringer.
并行状态空间构造的一种通用无锁算法
就计算资源而言,通过模型检查进行验证是一项非常苛刻的活动。虽然算法改进仍有好处,但有必要利用计算机硬件的进步来处理更大的模型。该领域最近的改进采用了多处理器和多核架构的形式,可以访问大内存空间。我们解决了生成有限状态转换系统的状态空间的问题,这通常是模型检查的初步步骤。针对共享存储系统,提出了一种新的枚举状态空间构建算法。我们的方法依赖于两种数据结构的使用:一个共享的Bloom过滤器,用于协调分布在多个处理器之间的状态空间探索;一个本地字典,用于存储状态。目标是限制同步开销并增加内存访问的局部性,而不必经常使用锁来确保数据完整性。布隆过滤器已经应用于系统的概率验证,它们是用于编码集合的紧凑数据结构,但在某种程度上可能出现假阳性,而假阴性则不会。我们规避了这一限制,并提出了一种原始的多阶段算法来执行穷举的、确定性的状态空间生成。我们在不同的基准测试中评估了算法的性能,并将结果与Inggs和Barringer提出的解决方案进行了比较。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
CiteScore
2.30
自引率
0.00%
发文量
26
审稿时长
10 weeks
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信