Facilitating analysis of Monte Carlo dense matrix inversion algorithm scaling behaviour through simulation
Highlights
► Investigated scaling characteristics of a Monte Carlo matrix inversion algorithm. ► Applicability of an extreme scale HPC simulator has been shown. ► MPI Monte Carlo dense matrix in application runtime parameters evaluated.
Introduction
Ongoing development in high-performance computing systems has led to systems capable of reaching speeds in the petaflop area in productive use today. Future exascale computers are currently being planned and developed. The improvement in computational capacity has mainly been reached through a vast increase of processor cores and compute nodes. Current top supercomputers employ hundreds-of-thousands of processor cores and the trend of increasing this number continues towards exascale systems. As more and more multi-core chips become available, and frequency scaling of individual cores has to be balanced with power consumption, exascale systems are projected to consist of more than one billion processor cores [1]. With these figures, the scaling characteristics of algorithms are an important factor towards the overall computational efficiency of the programs.
This paper is an extended version, containing a more detailed analysis of preliminary results that have already been published as conference proceedings in [2].
The following section provides the motivational background for this work, Section 3 gives an overview of related work regarding computational system simulation. Monte Carlo methods and the specific matrix inversion algorithm that is discussed as an example in this work are presented in Section 4. Section 5 provides background information on the underlying computing systems and the experimental set ups. Results and findings from simulated runs via a HPC system simulator and outcomes from running the same experiments natively on the underlying compute system are discussed in Section 6. The last section concludes and gives an outlook on future work.
Section snippets
Motivation
For researchers and application developers it can be of great benefit to be able to predict application behaviour, performance characteristics and scalability. Ideally it should be possible to get a feel how currently used software is going to perform on a different or new computing system, a supercomputer or cluster. It might be consisting of a more modern architecture, added accelerator hardware, increased size or making use of differing intercommunication technologies. Using a HPC simulator,
Related work
There have been similar approaches in the past to implement this kind of simulators, such as BigSIM [7], JCAS [8], Dimemas [9] or the Structural Simulation Toolkit [10]. Some of these developments, such as JCAS, have directly influenced the development of xSim. However, none of the aforementioned simulation approaches is able to scale to millions of concurrent threads and still provide the desired accuracy to gather meaningful performance results. The main parallel development to xSim, μπ
Monte Carlo approach
Monte Carlo methods are probabilistic algorithms that use random numbers to either simulate a stochastic behaviour or to estimate the solution of a problem. They are good candidates for parallelisation because of the fact that many independent samples are used to estimate the solution. These samples can be calculated in parallel, thereby speeding up the solution finding process. We design and develop parallel Monte Carlo methods with the following main generic properties:
- •
efficient distribution
Experiments
To assess the usability of the simulator and research the behaviour of the algorithm in question, several runs of the program were executed in both a native and a simulated environment. To show the difference between varying systems and the usefulness of xSim, those experiments have been conducted on a small scale shared memory (SHM) multi-core machine as well as utilising a small high performance computing cluster.
The simulator can be configured to simulate different environments by means of a
Evaluation
The ability to easily examine the performance of an MPI application with the help of simulating a large-scale high-performance computing system is of great help towards gauging its expected applicability, scalability and overall behaviour.
It has to be kept in mind that results obtained from simulated runs with xSim are not meant to provide an accurate full system simulation. Its purpose is the simulation of computer systems at large or extreme-scale and therefore accuracy had to be traded off
Conclusions and future work
Scaling and performance analysing tools are a good way to estimate application behaviour on compute systems. It has been shown, using the example of the Extreme-scale Simulator xSim, that existing MPI applications can easily benefit from their usage. It is possible to predict expected run times and characteristics of algorithms on large-scale systems, using various processor and interconnect configuration options. Furthermore, the developer is able to gather useful extra information about the
Acknowledgements
The authors would like to thank the developer of xSim, Christian Engelmann from ORNL for his invaluable help with the configuration and set up of the software.
Furthermore, they thankfully acknowledge the computer resources, technical expertise and assistance provided by the Barcelona Supercomputing Center – Centro Nacional de Supercomputación.
Janko Strassburg is a PhD student in Computational Science. His research interests are in the areas of high performance computing, network centered computations, scalable and fault-tolerant algorithms and accelerator architectures. His current work is focusing on Monte Carlo algorithms that are applied in the fields of linear algebra and computational finance. He is studying for his PhD at the University of Reading, UK and is currently working as a researcher at the Barcelona Supercomputing
References (20)
- et al.
Monte carlo methods for matrix computations on the grid
Future Generation Computer Systems
(2008) - et al.
The international exascale software roadmap
International Journal of High Performance Computer Applications
(2011) - et al.
Investigating scaling behaviour of Monte Carlo codes for dense matrix inversion
- et al.
Facilitating co-design for extreme-scale systems through lightweight simulation
- F. Lauer, Simulation of advanced large-scale HPC architectures, Master's Thesis, School of Systems Engineering, The...
- et al.
Simulation of large-scale HPC architectures
- et al.
xSim: the extreme-scale simulator
- et al.
Bigsim: a parallel simulator for performance prediction of extremely large parallel machines
- et al.
Super-scalable algorithms for computing on 100,000 processors
- et al.
Validation of dimemas communication model for MPI collective operations
Cited by (4)
Towards scalable mathematics and scalable algorithms for extreme scale computing
2013, Journal of Computational ScienceNeurocomputing-based matrix inversion: A critical review of the related state of the art
2018, Studies in Systems, Decision and ControlFOREX trading strategy optimization
2018, Advances in Intelligent Systems and ComputingEvolving trading signals at foreign exchange market
2017, Communications in Computer and Information Science
Janko Strassburg is a PhD student in Computational Science. His research interests are in the areas of high performance computing, network centered computations, scalable and fault-tolerant algorithms and accelerator architectures. His current work is focusing on Monte Carlo algorithms that are applied in the fields of linear algebra and computational finance. He is studying for his PhD at the University of Reading, UK and is currently working as a researcher at the Barcelona Supercomputing Center.
Prof. Vassil Alexandrov is an ICREA research professor in computational science. His expertise and research interests are in the area of computational science encompassing parallel and high performance computing, scalable algorithms for advanced computer architectures, Monte Carlo methods and algorithms. In particular, scalable Monte Carlo algorithms are developed for linear algebra, computational finance, environmental models, computational biology, etc. In addition his research focuses on scalable and fault-tolerant algorithms for petascale architectures and the exascale architecture challenge. He currently leads the extreme computing research group at BSC focusing on solving problems with uncertainty on large scale computing systems applying the techniques and methods mentioned above. He has over 100 publications in journals and proceedings of renowned international conferences.