LEADER 06264nam 22007215 450 001 9910437584803321 005 20200705102524.0 010 $a3-642-32027-9 024 7 $a10.1007/978-3-642-32027-9 035 $a(CKB)2670000000317274 035 $a(EBL)1030772 035 $a(OCoLC)824455427 035 $a(SSID)ssj0000870689 035 $a(PQKBManifestationID)11497954 035 $a(PQKBTitleCode)TC0000870689 035 $a(PQKBWorkID)10819285 035 $a(PQKB)11141909 035 $a(DE-He213)978-3-642-32027-9 035 $a(MiAaPQ)EBC1030772 035 $a(MiAaPQ)EBC6315471 035 $a(PPN)168320851 035 $a(EXLCZ)992670000000317274 100 $a20121228d2013 u| 0 101 0 $aeng 135 $aur|n|---||||| 181 $ctxt 182 $cc 183 $acr 200 10$aConcurrent Programming: Algorithms, Principles, and Foundations /$fby Michel Raynal 205 $a1st ed. 2013. 210 1$aBerlin, Heidelberg :$cSpringer Berlin Heidelberg :$cImprint: Springer,$d2013. 215 $a1 online resource (528 p.) 300 $aDescription based upon print version of record. 311 $a3-642-44615-9 311 $a3-642-32026-0 320 $aIncludes bibliographical references and index. 327 $aPart I - Lock-Based Synchronization -- Chap. 1 - The Mutual Exclusion Problem -- Chap. 2 - Solving Mutual Exclusion -- Chap. 3 - Lock-Based Concurrent Objects -- Part II - On the Foundations Side: The Atomicity Concept -- Chap. 4 - Atomicity: Formal Definition and Properties -- Part III - Mutex-Free Synchronization -- Chap. 5 - Mutex-Free Concurrent Objects -- Chap. 6 - Hybrid Concurrent Objects -- Chap. 7 - Wait-Free Objects from Read/Write Registers Only -- Chap. 8 - Snapshot Objects from Read/Write Registers Only -- Chap. 9 - Renaming Objects from Read/Write Registers Only -- Part IV - The Transactional Memory Approach -- Chap. 10 - Transactional Memory -- Part V - On the Foundations Side: From Safe Bits to Atomic Registers -- Chap. 11 - Safe, Regular and Atomic Read/Write Registers -- Chap. 12 - From Safe Bits to Atomic Bits: A Lower Bound and an Optimal Construction -- Chap. 13 - Bounded Constructions of Atomic b-Valued Registers -- Part VI - On the Foundations Side: The Computability Power of Concurrent Objects (Consensus) -- Chap. 14 - Universality of Consensus -- Chap. 15 - The Case of Unreliable Base Objects -- Chap. 16 - Consensus Numbers and the Consensus Hierarchy -- Chap. 17 - The Alphas and Omega of Consensus: Failure Detector-Based Consensus -- Afterword -- Bibliography -- Index. 330 $aThe advent of new architectures and computing platforms means that synchronization and concurrent computing are among the most important topics in computing science. Concurrent programs are made up of cooperating entities -- processors, processes, agents, peers, sensors -- and synchronization is the set of concepts, rules and mechanisms that allow them to coordinate their local computations in order to realize a common task. 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. 606 $aComputers 606 $aComputer organization 606 $aSoftware engineering 606 $aComputer hardware 606 $aTheory of Computation$3https://scigraph.springernature.com/ontologies/product-market-codes/I16005 606 $aComputer Systems Organization and Communication Networks$3https://scigraph.springernature.com/ontologies/product-market-codes/I13006 606 $aSoftware Engineering/Programming and Operating Systems$3https://scigraph.springernature.com/ontologies/product-market-codes/I14002 606 $aComputer Hardware$3https://scigraph.springernature.com/ontologies/product-market-codes/I1200X 615 0$aComputers. 615 0$aComputer organization. 615 0$aSoftware engineering. 615 0$aComputer hardware. 615 14$aTheory of Computation. 615 24$aComputer Systems Organization and Communication Networks. 615 24$aSoftware Engineering/Programming and Operating Systems. 615 24$aComputer Hardware. 676 $a005.275 700 $aRaynal$b Michel$4aut$4http://id.loc.gov/vocabulary/relators/aut$059942 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910437584803321 996 $aConcurrent Programming: Algorithms, Principles, and Foundations$92503797 997 $aUNINA