Using asynchronous programming to improve computer simulation performance in energy systems
Abstract
Due to the progressing complexity of modern energy systems, the need to forecast energy consumption and generation, optimise processes and develop new technologies in the energy sector, analyse scenarios for the development of energy systems and elaborate a strategy for their development, modelling and simulation is of particular relevance in this industry. The growing need to improve the productivity of computer simulation in the energy industry is effectively addressed by utilising modern computer architectures and advanced software tools that provide acceleration for computationally intensive tasks. Research presented in this paper focuses on enhancing the performance of computationally intensive algorithms using the Thomas algorithm by employing modern asynchronous programming techniques. The work implements classical and develops and implements asynchronous computational algorithms of the sweep method with subsequent assessment of the time and efficiency of their execution for the order of systems of linear equations (SLAEs) up to 5 × 107. The program code was developed using Microsoft Visual Studio C++ and the standard template for asynchronous programming. The numerical experiments showed the possibility of increasing of the implementation speed of the asynchronous algorithm by 1.87–2.91 times. Research results correspond with the literature data and the results previously obtained by the authors in similar studies using alternative parallel programming software. In general, the results of this study determine the potential for further improvement and development of methods and technologies for parallel implementation of computational tasks using the Tridiagonal Matrix Algorithm. These approaches can be extended to developing various computer models of energy processes and systems based on the solution of SLAEs with tridiagonal matrices on computers with multiprocessor or multi-core architectures.