TY - GEN
T1 - Reachability Graph of IOPT Petri Net Models Using CUDA C++ Parallel Application
AU - Lagartinho-Oliveira, Carolina
AU - Moutinho, Filipe
AU - Gomes, Luís
N1 - The work presented in this paper was partially supported by Portuguese Agency FCT (“Fundação para a Ciência e a Tecnologia”), in the framework of the project with the reference UID/EEA/00066/2019 and UIDB/00066/2020 (CTS – Center of Technology and Systems).
PY - 2020
Y1 - 2020
N2 - The construction of reachability graphs is suited to verify the properties and behavior of Petri net models based on the structure of the net and the initial marking. It allows checking whether a model conforms to the intended specification of a system and to obtain information about it. This paper proposes an algorithm to compute the reachability graphs of IOPT (Input-Output Place-Transition) nets, which is a Petri net class, using NVIDIA’s CUDA (Compute Unified Device Architecture), which supports the co-processing using GPU and CPU. While CPU is used to schedule threads on GPU, GPU is used to calculate all the child nodes of the reachability graph, including the management of a hash-table for efficiently storing the new states and retrieving the states stored in the database. The presented algorithm takes advantage of CUDA memory functions to allocate and access data that can be used by code running on CPU or GPU, supporting the share of data between the two processor units. Six IOPT net models were used to validate the proposed algorithm.
AB - The construction of reachability graphs is suited to verify the properties and behavior of Petri net models based on the structure of the net and the initial marking. It allows checking whether a model conforms to the intended specification of a system and to obtain information about it. This paper proposes an algorithm to compute the reachability graphs of IOPT (Input-Output Place-Transition) nets, which is a Petri net class, using NVIDIA’s CUDA (Compute Unified Device Architecture), which supports the co-processing using GPU and CPU. While CPU is used to schedule threads on GPU, GPU is used to calculate all the child nodes of the reachability graph, including the management of a hash-table for efficiently storing the new states and retrieving the states stored in the database. The presented algorithm takes advantage of CUDA memory functions to allocate and access data that can be used by code running on CPU or GPU, supporting the share of data between the two processor units. Six IOPT net models were used to validate the proposed algorithm.
KW - Co-processing
KW - CUDA
KW - GPU
KW - IOPT nets
KW - Reachability graph
UR - http://www.scopus.com/inward/record.url?scp=85084795509&partnerID=8YFLogxK
U2 - 10.1007/978-3-030-45124-0_8
DO - 10.1007/978-3-030-45124-0_8
M3 - Conference contribution
AN - SCOPUS:85084795509
SN - 978-3-030-45123-3
T3 - IFIP Advances in Information and Communication Technology
SP - 93
EP - 100
BT - Technological Innovation for Life Improvement - 11th IFIP WG 5.5/SOCOLNET Advanced Doctoral Conference on Computing, Electrical and Industrial Systems, DoCEIS 2020, Proceedings
A2 - Camarinha-Matos, Luis M.
A2 - Farhadi, Nastaran
A2 - Lopes, Fábio
A2 - Pereira, Helena
PB - Springer
CY - Cham
T2 - 11th Advanced Doctoral Conference on Computing, Electrical and Industrial Systems, DoCEIS 2020
Y2 - 1 July 2020 through 3 July 2020
ER -