Concurrent Programming: Algorithms, Principles, and Foundations
Title | Concurrent Programming: Algorithms, Principles, and Foundations PDF eBook |
Author | Michel Raynal |
Publisher | Springer Science & Business Media |
Pages | 530 |
Release | 2012-12-30 |
Genre | Computers |
ISBN | 3642320279 |
This book is devoted to the most difficult part of concurrent programming, namely synchronization concepts, techniques and principles when the cooperating entities are asynchronous, communicate through a shared memory, and may experience failures. Synchronization is no longer a set of tricks but, due to research results in recent decades, it relies today on sane scientific foundations as explained in this book. In this book the author explains synchronization and the implementation of concurrent objects, presenting in a uniform and comprehensive way the major theoretical and practical results of the past 30 years. Among the key features of the book are a new look at lock-based synchronization (mutual exclusion, semaphores, monitors, path expressions); an introduction to the atomicity consistency criterion and its properties and a specific chapter on transactional memory; an introduction to mutex-freedom and associated progress conditions such as obstruction-freedom and wait-freedom; a presentation of Lamport's hierarchy of safe, regular and atomic registers and associated wait-free constructions; a description of numerous wait-free constructions of concurrent objects (queues, stacks, weak counters, snapshot objects, renaming objects, etc.); a presentation of the computability power of concurrent objects including the notions of universal construction, consensus number and the associated Herlihy's hierarchy; and a survey of failure detector-based constructions of consensus objects. The book is suitable for advanced undergraduate students and graduate students in computer science or computer engineering, graduate students in mathematics interested in the foundations of process synchronization, and practitioners and engineers who need to produce correct concurrent software. The reader should have a basic knowledge of algorithms and operating systems.
Concurrent Programming
Title | Concurrent Programming PDF eBook |
Author | Gregory R. Andrews |
Publisher | Addison Wesley |
Pages | 664 |
Release | 1991 |
Genre | Computers |
ISBN |
Mathematics of Computing -- Parallelism.
Concurrent Crash-Prone Shared Memory Systems
Title | Concurrent Crash-Prone Shared Memory Systems PDF eBook |
Author | Raynal Michel |
Publisher | Springer Nature |
Pages | 115 |
Release | 2022-05-31 |
Genre | Computers |
ISBN | 3031792130 |
Theory is what remains true when technology is changing. So, it is important to know and master the basic concepts and the theoretical tools that underlie the design of the systems we are using today and the systems we will use tomorrow. This means that, given a computing model, we need to know what can be done and what cannot be done in that model. Considering systems built on top of an asynchronous read/write shared memory prone to process crashes, this monograph presents and develops the fundamental notions that are universal constructions, consensus numbers, distributed recursivity, power of the BG simulation, and what can be done when one has to cope with process anonymity and/or memory anonymity. Numerous distributed algorithms are presented, the aim of which is being to help the reader better understand the power and the subtleties of the notions that are presented. In addition, the reader can appreciate the simplicity and beauty of some of these algorithms.
Principles of Concurrent Programming
Title | Principles of Concurrent Programming PDF eBook |
Author | M. Ben-Ari |
Publisher | Prentice Hall |
Pages | 196 |
Release | 1982 |
Genre | Computers |
ISBN |
Mathematics of Computing -- Parallelism.
Foundations of Algorithms
Title | Foundations of Algorithms PDF eBook |
Author | Richard E. Neapolitan |
Publisher | Jones & Bartlett Learning |
Pages | 647 |
Release | 2011 |
Genre | Computers |
ISBN | 0763782505 |
Data Structures & Theory of Computation
Distributed Programming
Title | Distributed Programming PDF eBook |
Author | A. Udaya Shankar |
Publisher | Springer Science & Business Media |
Pages | 389 |
Release | 2012-09-15 |
Genre | Computers |
ISBN | 1461448816 |
Distributed Programming: Theory and Practice presents a practical and rigorous method to develop distributed programs that correctly implement their specifications. The method also covers how to write specifications and how to use them. Numerous examples such as bounded buffers, distributed locks, message-passing services, and distributed termination detection illustrate the method. Larger examples include data transfer protocols, distributed shared memory, and TCP network sockets. Distributed Programming: Theory and Practice bridges the gap between books that focus on specific concurrent programming languages and books that focus on distributed algorithms. Programs are written in a "real-life" programming notation, along the lines of Java and Python with explicit instantiation of threads and programs. Students and programmers will see these as programs and not "merely" algorithms in pseudo-code. The programs implement interesting algorithms and solve problems that are large enough to serve as projects in programming classes and software engineering classes. Exercises and examples are included at the end of each chapter with on-line access to the solutions. Distributed Programming: Theory and Practice is designed as an advanced-level text book for students in computer science and electrical engineering. Programmers, software engineers and researchers working in this field will also find this book useful.
Algorithms and Architectures for Parallel Processing
Title | Algorithms and Architectures for Parallel Processing PDF eBook |
Author | Jesus Carretero |
Publisher | Springer |
Pages | 695 |
Release | 2016-11-24 |
Genre | Computers |
ISBN | 3319495836 |
This book constitutes the refereed proceedings of the 16th International Conference on Algorithms and Architectures for Parallel Processing, ICA3PP 2016, held in Granada, Spain, in December 2016. The 30 full papers and 22 short papers presented were carefully reviewed and selected from 117 submissions. They cover many dimensions of parallel algorithms and architectures, encompassing fundamental theoretical approaches, practical experimental projects, and commercial components and systems trying to push beyond the limits of existing technologies, including experimental efforts, innovative systems, and investigations that identify weaknesses in existing parallel processing technology.