Facilitating analysis of Monte Carlo dense matrix inversion algorithm scaling behaviour through simulation

https://doi.org/10.1016/j.jocs.2013.01.003Get rights and content

Abstract

With the latest developments in the area of advanced computer architectures, we are already seeing large-scale machines at petascale level and are faced with the exascale computing challenge. All these require scalability at system, algorithmic and mathematical model levels. In particular, efficient scalable algorithms are required to bridge the performance gap. Being able to predict application demeanour, performance and scalability of currently used software on new supercomputers of different architectures, varying sizes, and utilising distinct ways of intercommunication, can be of great benefit for researchers as well as application developers. This paper is concerned with scaling characteristics of Monte Carlo based algorithms for matrix inversion. The algorithmic behaviour on both, a shared memory and a large-scale cluster system will be predicted with the help of an extreme-scale high-performance computing (HPC) simulator.

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)

  • S. Branford et al.

    Monte carlo methods for matrix computations on the grid

    Future Generation Computer Systems

    (2008)
  • J. Dongarra et al.

    The international exascale software roadmap

    International Journal of High Performance Computer Applications

    (2011)
  • J. Strassburg et al.

    Investigating scaling behaviour of Monte Carlo codes for dense matrix inversion

  • C. Engelmann 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...
  • I.S. Jones et al.

    Simulation of large-scale HPC architectures

  • S. Böhm et al.

    xSim: the extreme-scale simulator

  • G. Zheng et al.

    Bigsim: a parallel simulator for performance prediction of extremely large parallel machines

  • C. Engelmann et al.

    Super-scalable algorithms for computing on 100,000 processors

  • S. Girona et al.

    Validation of dimemas communication model for MPI collective operations

There are more references available in the full text version of this article.

Cited by (4)

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.

View full text