Simulation of a multi-core computer system in the gem5 simulator
A. N. Semakin · AIP conference proceedings · 2021
Numerical solution of numerous modern problems in the area of science and technology can only be performed on powerful workstations and supercomputers. However, these workstations are expensive, and access to the supercomputers is limited. Therefore, to use them at the different stages of computer program development (coding, debugging and optimization) is extremely irrational. Programs can be developed on low-power personal computers, and workstations and supercomputers can be involved only for performing useful calculations. With this approach it is necessary to regularly estimate code scalability to a larger numbeAr of computational cores while a computer program is being developed, as the ability of the program to ideally balance computational load on a small number of cores does not guarantee the ability of the program to obtain the same balance on a larger number of cores. Scalability can be estimated through a computer system simulator, which imitates the target computer (workstation or supercomputer nodes). In this paper, we thoroughly describe the Gem5 simulator and its settings, point out an optimal strategy for the computer system simulation and apply this strategy to two computer system models created in gem5. One is a simple functional model, which only allows determining the ability of a computer program to perform on a required number of computational cores, and the other one is a detailed clock model, whose elements represent the performance of real computer components most closely. These models are used to estimate the scalability of the program developed for calculating three-dimensional pollution transport in the atmosphere.