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.
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 examines in detail the four problems that have attracted researchers’ attention in the past few decades: prime factorization of large composite numbers, computation of discrete logarithms in the multiplicative residue group by a prime modulus, the solution of large sparse systems of linear equations over finite fields, the computation of the rank of elliptic curves defined over field of rational numbers. The fastest algorithms for solving the first two problems are based on what is known to be a numerical field sieve algorithm that reduces them to the solution of large sparse systems of linear equations over finite fields. These systems are so large that conventional solution algorithms are not applicable to them. Special block iterative algorithms are used instead. This area of the applied number theory is now being actively developed around the world due to its application in cryptography. Because of the absence of lower complexity estimates for solving these number-theoretic problems, the only way to verify the reliability of the cryptographic algorithms used is by running a practical test involving most advanced algorithms and most powerful computers.
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.
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.’
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.