Synthesis of Parallel Algorithms


Book Description

Mathematics of Computing -- Parallelism.




A Parallel Algorithm Synthesis Procedure for High-Performance Computer Architectures


Book Description

Despite five decades of research, parallel computing remains an exotic, frontier technology on the fringes of mainstream computing. Its much-heralded triumph over sequential computing has yet to materialize. This is in spite of the fact that the processing needs of many signal processing applications continue to eclipse the capabilities of sequential computing. The culprit is largely the software development environment. Fundamental shortcomings in the development environment of many parallel computer architectures thwart the adoption of parallel computing. Foremost, parallel computing has no unifying model to accurately predict the execution time of algorithms on parallel architectures. Cost and scarce programming resources prohibit deploying multiple algorithms and partitioning strategies in an attempt to find the fastest solution. As a consequence, algorithm design is largely an intuitive art form dominated by practitioners who specialize in a particular computer architecture. This, coupled with the fact that parallel computer architectures rarely last more than a couple of years, makes for a complex and challenging design environment. To navigate this environment, algorithm designers need a road map, a detailed procedure they can use to efficiently develop high performance, portable parallel algorithms. The focus of this book is to draw such a road map. The Parallel Algorithm Synthesis Procedure can be used to design reusable building blocks of adaptable, scalable software modules from which high performance signal processing applications can be constructed. The hallmark of the procedure is a semi-systematic process for introducing parameters to control the partitioning and scheduling of computation and communication. This facilitates the tailoring of software modules to exploit different configurations of multiple processors, multiple floating-point units, and hierarchical memories. To showcase the efficacy of this procedure, the book presents three case studies requiring various degrees of optimization for parallel execution.







Parallel Algorithms


Book Description

This volume is the result of the Third DIMACS Implementation Challenge that was conducted as part of the 1993-94 Special year on Parallel Algorithms. The Implementation Challenge was formulated in order to provide a forum for a concerted effort to study effective algorithms for combinatorial problems and to investigate opportunities for massive speed-ups on parallel computers. The challenge invluded two problem areas for research study: tree searching, algorithms, used in game search and combinatorial optimization, for example, and algorithms for sparse graphs. Participants at sites in the US and Europe undertook projects from November 1993 through October 1994. The workshop was held at DIMACS in November 1994. Participants were encouraged to share test results, to rework their implementations considering feedback at the workshop, and to submit a final report for the proceedings. Nine papers were selected for this volume.




Parallel Algorithms for Logic Synthesis


Book Description

The size of the VLSI circuit is increasing at a very rapid pace, and soon the sequential algorithms running on a uniprocessor will be inadequate to handle such large circuits. Parallel processing can be used to reduce the computation time considerably with almost no degradation in the quality. Most of the parallel algorithms developed for VLSI CAD applications, however, are designed for one specific parallel architecture. As a result, considerable effort and expense are needed to port them to different parallel machines. The ongoing ProperCAD project at the University of Illinois offers a bright solution to that problem by allowing the user to develop parallel algorithms on the top of a portable framework such that the programs developed will run unchanged on a variety of parallel machines, both shared and distributed memory machines. In this thesis, parallel algorithms for combinational logic synthesis using two approaches are developed: (1) the Transduction method, which uses the concept of a set of permissible functions to perform various logic transformations to reduce the size of logic circuit, and (2) the MIS approach, which uses algebraic factoring and node simplification for the purpose of logic minimization. The parallel algorithms developed in this thesis offer three major contributions. First, the parallel algorithms use an asynchronous, message-driven computing model with no synchronizing barriers separating phases of parallel computation. Second, these algorithms are portable across a wide variety of parallel architectures, shared memory machines such as Encore Multimax and Sequent Symmetry, distributed memory machines such as Intel/860, and networks of workstations. Finally, these algorithms are built around well defined sequential algorithm interfaces, so that the parallel algorithms can benefit from the future improvements and expansions of the sequential algorithms. Very large circuits, however, can not he handled as a whole by any synthesis algorithm. Those circuits are partitioned, and then the partitions are synthesized independently in parallel. A parallel synthesis system based on the partitioning approach is also described in this thesis.




Efficient Parallel Algorithms


Book Description

Mathematics of Computing -- Parallelism.




Parallel Processing and Parallel Algorithms


Book Description

Motivation It is now possible to build powerful single-processor and multiprocessor systems and use them efficiently for data processing, which has seen an explosive ex pansion in many areas of computer science and engineering. One approach to meeting the performance requirements of the applications has been to utilize the most powerful single-processor system that is available. When such a system does not provide the performance requirements, pipelined and parallel process ing structures can be employed. The concept of parallel processing is a depar ture from sequential processing. In sequential computation one processor is in volved and performs one operation at a time. On the other hand, in parallel computation several processors cooperate to solve a problem, which reduces computing time because several operations can be carried out simultaneously. Using several processors that work together on a given computation illustrates a new paradigm in computer problem solving which is completely different from sequential processing. From the practical point of view, this provides sufficient justification to investigate the concept of parallel processing and related issues, such as parallel algorithms. Parallel processing involves utilizing several factors, such as parallel architectures, parallel algorithms, parallel programming lan guages and performance analysis, which are strongly interrelated. In general, four steps are involved in performing a computational problem in parallel. The first step is to understand the nature of computations in the specific application domain.




Parallel Algorithms


Book Description

Focusing on algorithms for distributed-memory parallel architectures, Parallel Algorithms presents a rigorous yet accessible treatment of theoretical models of parallel computation, parallel algorithm design for homogeneous and heterogeneous platforms, complexity and performance analysis, and essential notions of scheduling. The book extract




Parallel Algorithms


Book Description

This book is an introduction to the field of parallel algorithms and the underpinning techniques to realize the parallelization. The emphasis is on designing algorithms within the timeless and abstracted context of a high-level programming language. The focus of the presentation is on practical applications of the algorithm design using different models of parallel computation. Each model is illustrated by providing an adequate number of algorithms to solve some problems that quite often arise in many applications in science and engineering.The book is largely self-contained, presuming no special knowledge of parallel computers or particular mathematics. In addition, the solutions to all exercises are included at the end of each chapter.The book is intended as a text in the field of the design and analysis of parallel algorithms. It includes adequate material for a course in parallel algorithms at both undergraduate and graduate levels.




Concurrency and Parallelism, Programming, Networking, and Security


Book Description

This book constitutes the refereed proceedings of the Second Asian Conference on Computing Science, ASIAN'96, held in Singapore in December 1996. The volume presents 31 revised full papers selected from a total of 169 submissions; also included are three invited papers and 14 posters. The papers are organized in topical sections on algorithms, constraints and logic programming, distributed systems, formal systems, networking and security, programming and systems, and specification and verification.