Automatic Performance Prediction of Parallel Programs


Book Description

Automatic Performance Prediction of Parallel Programs presents a unified approach to the problem of automatically estimating the performance of parallel computer programs. The author focuses primarily on distributed memory multiprocessor systems, although large portions of the analysis can be applied to shared memory architectures as well. The author introduces a novel and very practical approach for predicting some of the most important performance parameters of parallel programs, including work distribution, number of transfers, amount of data transferred, network contention, transfer time, computation time and number of cache misses. This approach is based on advanced compiler analysis that carefully examines loop iteration spaces, procedure calls, array subscript expressions, communication patterns, data distributions and optimizing code transformations at the program level; and the most important machine specific parameters including cache characteristics, communication network indices, and benchmark data for computational operations at the machine level. The material has been fully implemented as part of P3T, which is an integrated automatic performance estimator of the Vienna Fortran Compilation System (VFCS), a state-of-the-art parallelizing compiler for Fortran77, Vienna Fortran and a subset of High Performance Fortran (HPF) programs. A large number of experiments using realistic HPF and Vienna Fortran code examples demonstrate highly accurate performance estimates, and the ability of the described performance prediction approach to successfully guide both programmer and compiler in parallelizing and optimizing parallel programs. A graphical user interface is described and displayed that visualizes each program source line together with the corresponding parameter values. P3T uses color-coded performance visualization to immediately identify hot spots in the parallel program. Performance data can be filtered and displayed at various levels of detail. Colors displayed by the graphical user interface are visualized in greyscale. Automatic Performance Prediction of Parallel Programs also includes coverage of fundamental problems of automatic parallelization for distributed memory multicomputers, a description of the basic parallelization strategy and a large variety of optimizing code transformations as included under VFCS.







Automatic Parallelization


Book Description

Distributed-memory multiprocessing systems (DMS), such as Intel's hypercubes, the Paragon, Thinking Machine's CM-5, and the Meiko Computing Surface, have rapidly gained user acceptance and promise to deliver the computing power required to solve the grand challenge problems of Science and Engineering. These machines are relatively inexpensive to build, and are potentially scalable to large numbers of processors. However, they are difficult to program: the non-uniformity of the memory which makes local accesses much faster than the transfer of non-local data via message-passing operations implies that the locality of algorithms must be exploited in order to achieve acceptable performance. The management of data, with the twin goals of both spreading the computational workload and minimizing the delays caused when a processor has to wait for non-local data, becomes of paramount importance. When a code is parallelized by hand, the programmer must distribute the program's work and data to the processors which will execute it. One of the common approaches to do so makes use of the regularity of most numerical computations. This is the so-called Single Program Multiple Data (SPMD) or data parallel model of computation. With this method, the data arrays in the original program are each distributed to the processors, establishing an ownership relation, and computations defining a data item are performed by the processors owning the data.




Vector and Parallel Processing - VECPAR'98


Book Description

This book constitutes the thoroughly refereed post-conference proceedings of the Third International Conference on Vector and Parallel Processing, VECPAR'98, held in Porto, Portugal, in June 1998. The 41 revised full papers presented were carefully selected during two rounds of reviewing and revision. Also included are six invited papers and introductory chapter surveys. The papers are organized in sections on eigenvalue problems and solutions of linear systems; computational fluid dynamics, structural analysis, and mesh partitioning; computing in education; computer organization, programming and benchmarking; image analysis and synthesis; parallel database servers; and nonlinear problems.




Performance Evaluation, Prediction and Visualization of Parallel Systems


Book Description

Performance Evaluation, Prediction and Visualization in Parallel Systems presents a comprehensive and systematic discussion of theoretics, methods, techniques and tools for performance evaluation, prediction and visualization of parallel systems. Chapter 1 gives a short overview of performance degradation of parallel systems, and presents a general discussion on the importance of performance evaluation, prediction and visualization of parallel systems. Chapter 2 analyzes and defines several kinds of serial and parallel runtime, points out some of the weaknesses of parallel speedup metrics, and discusses how to improve and generalize them. Chapter 3 describes formal definitions of scalability, addresses the basic metrics affecting the scalability of parallel systems, discusses scalability of parallel systems from three aspects: parallel architecture, parallel algorithm and parallel algorithm-architecture combinations, and analyzes the relations of scalability and speedup. Chapter 4 discusses the methodology of performance measurement, describes the benchmark- oriented performance test and analysis and how to measure speedup and scalability in practice. Chapter 5 analyzes the difficulties in performance prediction, discusses application-oriented and architecture-oriented performance prediction and how to predict speedup and scalability in practice. Chapter 6 discusses performance visualization techniques and tools for parallel systems from three stages: performance data collection, performance data filtering and performance data visualization, and classifies the existing performance visualization tools. Chapter 7 describes parallel compiling-based, search-based and knowledge-based performance debugging, which assists programmers to optimize the strategy or algorithm in their parallel programs, and presents visual programming-based performance debugging to help programmers identify the location and cause of the performance problem. It also provides concrete suggestions on how to modify their parallel program to improve the performance. Chapter 8 gives an overview of current interconnection networks for parallel systems, analyzes the scalability of interconnection networks, and discusses how to measure and improve network performances. Performance Evaluation, Prediction and Visualization in Parallel Systems serves as an excellent reference for researchers, and may be used as a text for advanced courses on the topic.




Parallel Programming and Applications


Book Description

ZEUS (Centres of European Supercomputing) is a network for information exchange and co-operation between European Supercomputer Centres. During the fall of 1994 the idea was put forward to start an annual workshop to stimulate the exchange of ideas and experience in parallel programming and computing between researchers and users from industry and academia. The first workshop in this series, the ZEUS '95 Workshop on Parallel Programming and Computation, is organized at Linkoping University, where the Swedish ZEUS centre, NSC (National Supercomputer Centre) is located. This is open for all researchers and users in the field of parallel computing.




Supercomputing Research Advances


Book Description

Supercomputers are used for highly calculation-intensive tasks such as problems involving quantum mechanical physics, weather forecasting, climate research (including research into global warming), molecular modelling (computing the structures and properties of chemical compounds, biological macromolecules, polymers, and crystals), physical simulations (such as simulation of aeroplanes in wind tunnels, simulation of the detonation of nuclear weapons, and research into nuclear fusion), cryptanalysis, and the like. Major universities, military agencies and scientific research laboratories are heavy users. This book presents the latest research in the field from around the world.




Model-Based Performance Prediction for Concurrent Software on Multicore Architectures---A Simulation-Based Approach


Book Description

Die modellbasierte Performancevorhersage ist ein bekanntes Konzept zur Gewährleistung der Softwarequalität. Derzeitige Ansätze basieren auf einem Modell mit einer Metrik, was zu ungenauen Vorhersagen für moderne Architekturen führt. In dieser Arbeit wird ein Multi-Strategie-Ansatz zur Erweiterung von Performancevorhersagemodellen zur Unterstützung von Multicore-Architekturen vorgestellt, in Palladio implementiert und dadurch die Genauigkeit der Vorhersage deutlich verbessert. - Model-based performance prediction is a well-known concept to ensure the quality of software. Current approaches are based on a single-metric model, which leads to inaccurate predictions for modern architectures. This thesis presents a multi-strategies approach to extend performance prediction models to support multicore architectures. We implemented the strategies into Palladio and significantly increased the performance prediction power.




Advanced Computer System Design


Book Description

This text focuses on the major issues involved in computer design and architectures. Dealing primarily with systems and applications as related to advanced computer system design, it provides tutorials and surveys and relates new important research results. The intent is to provide a set of tools based on current research that will enable readers to overcome difficulties with the design and construction of advanced computer systems. Each chapter provides background information, describes and analyzes important work done in the field and provides important direction to the reader on future work and further readings. This book may be purchased as a set with its companion volume, Advanced Computer Performance Modeling and Simulation, edited by Kallol Bagchi, Jean Walrand and George Zobrist.




Programming Environments for Massively Parallel Distributed Systems


Book Description

Massively Parallel Systems (MPSs) with their scalable computation and storage space promises are becoming increasingly important for high-performance computing. The growing acceptance of MPSs in academia is clearly apparent. However, in industrial companies, their usage remains low. The programming of MPSs is still the big obstacle, and solving this software problem is sometimes referred to as one of the most challenging tasks of the 1990's. The 1994 working conference on "Programming Environments for Massively Parallel Systems" was the latest event of the working group WG 10.3 of the International Federation for Information Processing (IFIP) in this field. It succeeded the 1992 conference in Edinburgh on "Programming Environments for Parallel Computing". The research and development work discussed at the conference addresses the entire spectrum of software problems including virtual machines which are less cumbersome to program; more convenient programming models; advanced programming languages, and especially more sophisticated programming tools; but also algorithms and applications.