Andrea Giordano, D. D'Ambrosio, David Macri, R. Rongo, G. Utrera, Marisa Gil, W. Spataro
{"title":"OpenCAL++: An object-oriented architecture for transparent Parallel Execution of Cellular Automata models","authors":"Andrea Giordano, D. D'Ambrosio, David Macri, R. Rongo, G. Utrera, Marisa Gil, W. Spataro","doi":"10.1109/PDP59025.2023.00045","DOIUrl":null,"url":null,"abstract":"Cellular Automata (CA) models, initially studied by John von Neumann, have been developed by numerous researchers and applied in both academic and scientific fields. Thanks to their local and independent rules, simulations of complex systems can be easily implemented based on CA modelling on parallel machines. However, due to the heterogeneity of the components - from the hardware to the software perspective-the various possible scenarios running parallelism in today's architectures can pose a challenge in such implementations, making it difficult to exploit. This paper presents OpenCAL++, a transparent and efficient object-oriented platform for the parallel execution of cellular automata models. The architecture of OpenCAL++ ensures the modeller a fully transparent parallel execution and a strong “separation of concerns” between the execution parallelism issues and the model implementation. The code implementing the Cellular Automata model remains the same whether the execution performs in a shared-, distributed-memory or a GPGPU context, irrespective of the optimizations adopted. To this aim, the object-oriented paradigm has been intensely exploited. As well as the OpenCAL++ architecture, we present the description of a simple Cellular Automata model implementation for illustrative purposes.","PeriodicalId":153500,"journal":{"name":"2023 31st Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 31st Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PDP59025.2023.00045","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Cellular Automata (CA) models, initially studied by John von Neumann, have been developed by numerous researchers and applied in both academic and scientific fields. Thanks to their local and independent rules, simulations of complex systems can be easily implemented based on CA modelling on parallel machines. However, due to the heterogeneity of the components - from the hardware to the software perspective-the various possible scenarios running parallelism in today's architectures can pose a challenge in such implementations, making it difficult to exploit. This paper presents OpenCAL++, a transparent and efficient object-oriented platform for the parallel execution of cellular automata models. The architecture of OpenCAL++ ensures the modeller a fully transparent parallel execution and a strong “separation of concerns” between the execution parallelism issues and the model implementation. The code implementing the Cellular Automata model remains the same whether the execution performs in a shared-, distributed-memory or a GPGPU context, irrespective of the optimizations adopted. To this aim, the object-oriented paradigm has been intensely exploited. As well as the OpenCAL++ architecture, we present the description of a simple Cellular Automata model implementation for illustrative purposes.
细胞自动机(CA)模型最初由约翰·冯·诺依曼(John von Neumann)研究,后来得到了许多研究人员的发展,并在学术和科学领域得到了应用。由于它们的局部规则和独立规则,基于并行机器的CA建模可以很容易地实现复杂系统的仿真。然而,由于组件的异构性(从硬件到软件的角度),在当今体系结构中运行并行性的各种可能场景可能对此类实现构成挑战,使其难以利用。本文介绍了opencal++,一个透明、高效的面向对象平台,用于并行执行元胞自动机模型。OpenCAL++的体系结构确保了建模者完全透明的并行执行,以及执行并行性问题和模型实现之间强有力的“关注点分离”。无论在共享内存、分布式内存还是GPGPU上下文中执行,实现细胞自动机模型的代码都是相同的,而不考虑所采用的优化。为了达到这个目的,面向对象范式得到了广泛的利用。除了opencal++体系结构之外,我们还描述了一个简单的元胞自动机模型实现,以进行说明。