Formal and Adaptive Methods for Automation of Parallel Programs Construction: Emerging Research and Opportunities


Book Description

Emerging scientific and industrial applications in today’s world require significant computing power. Modern software tools are available for such platforms but are relatively complex and require the use of innovative programming models. One promising area in modern software design is the development, analysis, and implementation of algorithms and adaptive methods. These advancements in programming are promising but lack relevant research and understanding. Formal and Adaptive Methods for Automation of Parallel Programs Construction: Emerging Research and Opportunities is an essential reference source that solves the problem of the development of efficient models, methods, and tools for parallel programming automation based on the algebra of algorithms, term rewriting, and auto-tuning paradigms. The results of this book will help to further develop and improve existing research on design, synthesis, and optimization of sequential and parallel algorithms and programs. Featuring research on topics such as auto-tuning methods, graphics processing, and algorithmic language, this book is ideally designed for mathematicians, software engineers, data scientists, researchers, academicians, and students seeking coverage on developing tools for automated design and parallel programs.




Constructive Methods in Computing Science


Book Description

Computing Science is a science of constructive methods. The solution of a problem has to be described formally by constructive techniques, if it is to be evaluated on a computer. The Marktoberdorf Advanced Study Institute 1988 presented a comprehensive survey of the recent research in constructive methods in Computing Science. Some approaches to a methodological framework and to supporting tools for specification, development and verification of software systems were discussed in detail. Other lectures dealt with the relevance of the foundations of logic for questions of program construction and with new programming paradigms and formalisms which have proven to be useful for a constructive approach to software development. The construction, specification, design and verification especially of distributed and communicating systems was discussed in a number of complementary lectures. Examples for those approaches were given on several levels such as semaphores, nondeterministic state transition systems with fairness assumptions, decomposition of specifications for concurrent systems in liveness and safety properties and functional specifications of distributed systems. Construction methods in programming that were presented range from type theory, the theory of evidence, theorem provers for proving properties of functional programs to category theory as an abstract and general concept for the description of programming paradigms.




Algorithms and Architectures for Parallel Processing


Book Description

This book constitutes the refereed proceedings of the 8th International Conference on Algorithms and Architectures for Parallel Processing, ICA3PP 2008, held in Agia Napa, Cyprus, in June 2008. The 31 revised full papers presented together with 1 keynote talk and 1 tutorial were carefully reviewed and selected from 88 submissions. The papers are organized in topical sections on scheduling and load balancing, interconnection networks, parallel algorithms, distributed systems, parallelization tools, grid computing, and software systems.




Job Scheduling Strategies for Parallel Processing


Book Description

This book constitutes the thoroughly refereed post-workshop proceedings of the 6th International Workshop on Job Scheduling Strategies for Parallel Processing, JSSPP 2000, held in Cancun, Mexico in May 2000 as a satelite meeting of IPDPS 2000.The 12 revised full papers presented were carefully reviewed during an iterated evaluation process and present the state of the art in the area.







Encyclopedia of Parallel Computing


Book Description

Containing over 300 entries in an A-Z format, the Encyclopedia of Parallel Computing provides easy, intuitive access to relevant information for professionals and researchers seeking access to any aspect within the broad field of parallel computing. Topics for this comprehensive reference were selected, written, and peer-reviewed by an international pool of distinguished researchers in the field. The Encyclopedia is broad in scope, covering machine organization, programming languages, algorithms, and applications. Within each area, concepts, designs, and specific implementations are presented. The highly-structured essays in this work comprise synonyms, a definition and discussion of the topic, bibliographies, and links to related literature. Extensive cross-references to other entries within the Encyclopedia support efficient, user-friendly searchers for immediate access to useful information. Key concepts presented in the Encyclopedia of Parallel Computing include; laws and metrics; specific numerical and non-numerical algorithms; asynchronous algorithms; libraries of subroutines; benchmark suites; applications; sequential consistency and cache coherency; machine classes such as clusters, shared-memory multiprocessors, special-purpose machines and dataflow machines; specific machines such as Cray supercomputers, IBM’s cell processor and Intel’s multicore machines; race detection and auto parallelization; parallel programming languages, synchronization primitives, collective operations, message passing libraries, checkpointing, and operating systems. Topics covered: Speedup, Efficiency, Isoefficiency, Redundancy, Amdahls law, Computer Architecture Concepts, Parallel Machine Designs, Benmarks, Parallel Programming concepts & design, Algorithms, Parallel applications. This authoritative reference will be published in two formats: print and online. The online edition features hyperlinks to cross-references and to additional significant research. Related Subjects: supercomputing, high-performance computing, distributed computing




Theoretical Aspects of Computing - ICTAC 2007


Book Description

This book constitutes the refereed proceedings of the 4th International Colloquium on Theoretical Aspects of Computing, ICTAC 2007 held in Macau, China in September 2007. The aim of the colloquium is to bring together practitioners and researchers from academia, industry and government to present research results and exchange experience, ideas and solutions for their problems in theoretical aspects of computing.




Euro-Par 2007 Parallel Processing


Book Description

This volume constitutes the refereed proceedings of the 13th International Conference on Parallel Computing. The papers are organized into topical sections covering support tools and environments, performance prediction and evaluation, scheduling and load balancing, compilers for high performance, parallel and distributed databases, grid and cluster computing, peer-to-peer computing, distributed systems and algorithms, and more.




Patterns and Skeletons for Parallel and Distributed Computing


Book Description

Patterns and Skeletons for Parallel and Distributed Computing is a unique survey of research work in high-level parallel and distributed computing over the past ten years. Comprising contributions from the leading researchers in Europe and the US, it looks at interaction patterns and their role in parallel and distributed processing, and demonstrates for the first time the link between skeletons and design patterns. It focuses on computation and communication structures that are beyond simple message-passing or remote procedure calling, and also on pragmatic approaches that lead to practical design and programming methodologies with their associated compilers and tools. The book is divided into two parts which cover: skeletons-related material such as expressing and composing skeletons, formal transformation, cost modelling and languages, compilers and run-time systems for skeleton-based programming.- design patterns and other related concepts, applied to other areas such as real-time, embedded and distributed systems. It will be an essential reference for researchers undertaking new projects in this area, and will also provide useful background reading for advanced undergraduate and postgraduate courses on parallel or distributed system design.