This manual encompasses the experience of creating a parallel software MPI platform and a graphical environment for developing parallel numerical models on general meshes. The INMOST (Integrated Numerical Modeling and Object- Oriented Supercomputing Technologies) technology kit is a tool for supercomputer modeling characterized by the maximum commonness of supported meshes, flexible and economical nature of its distributed data structure, its cross-platform and also the graphical environment for an interactive user interface.
This manual will be useful for instrumentation and automation developers, engineers and mathematicians, whose activities are related to supercomputer modeling: to all those directly involved in creating parallel applications or using parallel numerical models.
‘Workhorses’ of all computational mathematics are systems of linear equations and programs that can provide a quick solution to systems of linear equations. The manual considers algorithms for solving large sparse systems of linear equations over the field GF (2) obtained by sieve methods when solving the problem of decomposing a large natural number into a product of two simple ones. The total number of operations for the systems and algorithms under consideration is so great that the only way to solve such problems is to use parallel technologies. The book analyzes parallel properties of the two most widely used algorithms: the Montgomery multiplication algorithm and the Wiedemann-Coppersmith method. Parallel implementations of algorithms are obtained by applying simple general principles for creating parallel programs.
The book gives examples of real calculations that confirm the correctness of analytical conclusions.
The book presents lectures read by the author in various educational institutions, institutes and at scientific conferences. All of them are devoted to the problems of efficient problem solving on parallel architecture computing systems. Particular attention is paid to the study of the informational structure of algorithms and its impact on the development of effectively implemented programs. The book discusses the specific features of mathematical education in relation to the requirements of parallel computations.
For students, graduate students and researchers specializing in the study of algorithm structure, large-scale problem-solving and creation of parallel computing systems software.
The textbook describes methods and tools for developing, debugging and profiling parallel programs oriented to work in systems with shared memory. It considers various software packages, such as Intel Thread Checker, Intel Thread Profiler, and Intel Threading Building Blocks. The book gives introductory information on Intel Parallel Studio package and Intel MKL library. It demonstrates the whole cycle of development, including the creation of sequential implementation as a basis for comparison, preparation of the parallel version, its debugging, profiling and optimization. The study is conducted on model problems that do not require presence of specific subject areas knowledge. It requires reader's acquaintance with the basics of programming (the base language — C. C ++), some problems require information from higher mathematics (the Dirichlet problem).
The textbook was developed in the Laboratory of Information Technologies (ITLab) of the Faculty of the Higher School of Management of the UNN using materials prepared under the Priority National Project ‘Education’ with the support of Intel Corporation and the Grant Council of the President of the Russian Federation (Grant No. NSH-64729.2010.9).
For teachers and researchers, as well as postgraduate students and students of higher educational institutions.
The book outlines methods for solving problems using statistical modeling. The algorithms under consideration are intended for use in parallel computing on computer systems of various architectures. The authors consistently describe methods for obtaining independent streams of pseudo-random numbers and random vectors with a given distribution law, methods for approximate calculation of high-dimensional integrals and numerical solution of some classes of differential equations in ordinary and partial derivatives and simulation modeling methods.
The book is designed for those students who are introduced to elements of computational mathematics and parallel programming as well as researchers who apply numerical modeling to solve applied problems.
The book examines the current state of using supercomputers to solve weather forecasting problems and study the Earth’s climate. It presents parallel implementations and trends in developing atmosphere and ocean models and joint models. Special attention is paid to the experience of developing and implementing global atmospheric, ocean and earth system models at the Institute of Computational Mathematics, the Russian Academy of Sciences. The earth system model consists of two main blocks: atmospheric and oceanic hydro-thermodynamic models and can also include blocks of sea ice evolution, carbon cycle and atmospheric chemistry.
The complete description of major climate-forming processes makes it possible to carry out numerical experiments on the reproduction of the modern climate, its past and probable future change under various assumptions based on the earth system model. It also provides an overview of the methods used to assimilate meteorological data and justifies the choice of the algorithms that are most suitable for implementation on a massively parallel architecture.
This monograph, which is intended for undergraduate and postgraduate students and researchers, has gathered and systematized the material of long-term work by a large group of specialists in the field of mathematical modeling and computational mathematics. Of many directions and approaches that compete with one another in the modern world, the authors have chosen a relatively new direction called the ‘CABARE’ method, which they have been involved in developing in this or other extent. This approach, which is being developed at Lomonosov Moscow State University, Nuclear Safety Institute, Russian Academy of Sciences (IBRAE), Central Institute of Aerohydrodynamics (TsAGI) and a number of other Russian and foreign institutions (Cambridge University, Queen Mary University of London), has good competitive positions and is actively developing. The present monograph describes in detail the key idea of the ‘CABARE’ method in its development from the simplest linear one-dimensional equations of the hyperbolic type to the methods for solving multidimensional problems of hydrodynamics and gas dynamics on unstructured grids in complex spatial domains characteristic of industrial mathematical applications.
The book can be considered as a study guide and serve as the basis for developing a computational workshop on methods for solving equations of mathematical physics with the dominant processes of grid transfer.
At present, MATLAB is the main technical computing language. There are about one million users of it around the world, many of whom see its advantage in the increased power offered by widely available multi-core processors and multi-node computing clusters. The MATLAB environment is also ideal for studying parallel computations enabling the user to focus on parallel algorithms rather than implementation details. The concise MATLAB language makes it possible to present many specific examples as an illustration of the basic concepts of parallel programming. This book is devoted to the practical implementation of computational methods and aspects of high performance scientific computing with an emphasis on popular software, computing environments and calculation tools. It covers the development of software technologies such as status, applications and algorithms, software for solving mathematical problems, software tools, languages and compilers, computing environments and visualization. The target audience of the book includes anyone who is faced up with the task of adapting the sequential MATLAB program to a parallel environment. In addition, it may be used as the main classroom textbook on parallel computing, or as supplemental reading for studying numerical methods or algorithms of informatics.
This paper is devoted to the analysis of complex multi-extremal models of decision-making, which is traditional for Professor R.G. Strongin’s world-renown scientific school in this field. The work contains the necessary theoretical apparatus for constructing and analyzing parallel methods based on the information-statistical approach to constructing optimization methods, the characteristic theory of convergence and the effectiveness of methods for finding the extremum, and the methodology for reducing the complexity of models under examination. It gives a description of computational schemes of optimization methods, their theoretical justification and examples of practical application. It provides a brief depiction of the software that realizes, in the form of complete software systems, the proposed methods for searching for globally optimal solutions and has found its application in solving complex applied problems and in the learning process as a medium for performing laboratory work and research. The book is intended for a wide range of students, graduate students and professionals who want to study and practically use parallel methods of global optimization for solving computationally labor-intensive applied problems. The Academic Council of the Faculty of Computational Mathematics and Cybernetics (CMC), Lobachevsky Nizhny Novgorod State University recommends this monograph for use in the educational process. The monograph was prepared as part of the project of the Presidential Commission on Modernization and Technological Development of the Russian Economy ‘Creating a System for Training Highly Qualified Personnel in the Field of Supercomputer Technologies and Specialized Software.’
The purpose of the manual is to outline the basics of parallel database systems. It focuses on DBMS implementation for cluster systems providing a classification of the known forms of parallel transaction processing and a comparative analysis of various architectures of parallel database systems. It also considers possible technological approaches to the organization of parallel request processing, discusses the iterative model, synchronous and asynchronous conveyors and describes methods of data fragmentation and ways of organizing interprocessor exchanges. The author proposes an approach to automatic transformation of a sequential query execution plan into a parallel one. Much attention is paid to modeling parallel database systems and organizing effective buffering when using fragmental parallelism. The book is designed for students, graduate students and scientists who specialize in developing parallel database system technologies and applying them for processing ultra-large volumes of data on modern multi-core and multi-processor systems with clustered architecture.
The textbook presents information needed to work on a multiprocessor computer system (cluster) and provides basic concepts of the GNU. Linux operating system, enumerating the rules required for working with the functions of the Message Passing Interface library, modern compilers and the open multiprocessing technology (OpenMP). Much attention is paid to the practical issues of creating parallel programs for calculating multiple integrals, performing matrix calculations, solving simultaneous linear algebraic equations (SLAE), numerical solution of ordinary differential equation systems (ODE) and partial differential equations. It considers in detail the main features of using the PETSc mathematical library for parallel computations. To enable students to quickly learn and gain hands-on experience in parallel programming, the manual contains a large number of examples that are necessary for a user engaged in solving problems of mathematical modeling by using computer technologies.
For researchers, postgraduate students, students, teachers who use high-performance computing resources in scientific and educational work.
In the age of development of multi-core processor architecture, the topic of parallel programming assumes great importance for engineers and designers of computer systems. The book ‘Principles of Parallel Programming’ written by renowned researchers and scholars Calvin Lin (Department of Informatics at the University of Texas, Austin) and Lawrence Snyder (Department of Computer Science and Computer Science, University of Washington, Seattle), deals with the fundamental principles of parallel computing. The book explains various phenomena and provides examples of the cases when these phenomena contribute to the success of parallel programming, or, on the contrary, create certain difficulties. The publication is intended for senior university students, for students studying for their master's degree and professionals who want to learn parallel programming. The book contains valuable reliable and information that will continue to be relevant despite the hardware and software evolution.
A lecture read by V.A. Nikonov, the dean of Faculty of Public Administration (Lomonosov Moscow State University), before first course students on September 2, 2011.