Principles of Transactional Memory

Principles of Transactional Memory
Title Principles of Transactional Memory PDF eBook
Author Rachid Guerraoui
Publisher Morgan & Claypool Publishers
Pages 194
Release 2010
Genre Computers
ISBN 1608450112

Download Principles of Transactional Memory Book in PDF, Epub and Kindle

Transactional memory (TM) is an appealing paradigm for concurrent programming on shared memory architectures. With a TM, threads of an application communicate, and synchronize their actions, via in-memory transactions. Transactions are atomic: programmers get the illusion that every transaction executes all its operations instantaneously, at some single and unique point in time. The aim of this book is to provide theoretical foundations for transactional memory.

Principles of Transactional Memory

Principles of Transactional Memory
Title Principles of Transactional Memory PDF eBook
Author Rachid Guerraoui
Publisher Springer Nature
Pages 179
Release 2022-06-01
Genre Computers
ISBN 3031020022

Download Principles of Transactional Memory Book in PDF, Epub and Kindle

Transactional memory (TM) is an appealing paradigm for concurrent programming on shared memory architectures. With a TM, threads of an application communicate, and synchronize their actions, via in-memory transactions. Each transaction can perform any number of operations on shared data, and then either commit or abort. When the transaction commits, the effects of all its operations become immediately visible to other transactions; when it aborts, however, those effects are entirely discarded. Transactions are atomic: programmers get the illusion that every transaction executes all its operations instantaneously, at some single and unique point in time. Yet, a TM runs transactions concurrently to leverage the parallelism offered by modern processors. The aim of this book is to provide theoretical foundations for transactional memory. This includes defining a model of a TM, as well as answering precisely when a TM implementation is correct, what kind of properties it can ensure, what are the power and limitations of a TM, and what inherent trade-offs are involved in designing a TM algorithm. While the focus of this book is on the fundamental principles, its goal is to capture the common intuition behind the semantics of TMs and the properties of existing TM implementations. Table of Contents: Introduction / Shared Memory Systems / Transactional Memory: A Primer / TM Correctness Issues / Implementing a TM / Further Reading / Opacity / Proving Opacity: An Example / Opacity vs.\ Atomicity / Further Reading / The Liveness of a TM / Lock-Based TMs / Obstruction-Free TMs / General Liveness of TMs / Further Reading / Conclusions

Principles of Transaction Processing

Principles of Transaction Processing
Title Principles of Transaction Processing PDF eBook
Author Philip A. Bernstein
Publisher Morgan Kaufmann
Pages 397
Release 2009-07-24
Genre Computers
ISBN 0080948413

Download Principles of Transaction Processing Book in PDF, Epub and Kindle

Principles of Transaction Processing is a comprehensive guide to developing applications, designing systems, and evaluating engineering products. The book provides detailed discussions of the internal workings of transaction processing systems, and it discusses how these systems work and how best to utilize them. It covers the architecture of Web Application Servers and transactional communication paradigms.The book is divided into 11 chapters, which cover the following: Overview of transaction processing application and system structureSoftware abstractions found in transaction processing systemsArchitecture of multitier applications and the functions of transactional middleware and database serversQueued transaction processing and its internals, with IBM's Websphere MQ and Oracle's Stream AQ as examplesBusiness process management and its mechanismsDescription of the two-phase locking function, B-tree locking and multigranularity locking used in SQL database systems and nested transaction lockingSystem recovery and its failuresTwo-phase commit protocolComparison between the tradeoffs of replicating servers versus replication resourcesTransactional middleware products and standardsFuture trends, such as cloud computing platforms, composing scalable systems using distributed computing components, the use of flash storage to replace disks and data streams from sensor devices as a source of transaction requests. The text meets the needs of systems professionals, such as IT application programmers who construct TP applications, application analysts, and product developers. The book will also be invaluable to students and novices in application programming. - Complete revision of the classic "non mathematical" transaction processing reference for systems professionals - Updated to focus on the needs of transaction processing via the Internet-- the main focus of business data processing investments, via web application servers, SOA, and important new TP standards - Retains the practical, non-mathematical, but thorough conceptual basis of the first edition

Concurrent Programming: Algorithms, Principles, and Foundations

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

Download Concurrent Programming: Algorithms, Principles, and Foundations Book in PDF, Epub and Kindle

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.

Transactional Memory. Foundations, Algorithms, Tools, and Applications

Transactional Memory. Foundations, Algorithms, Tools, and Applications
Title Transactional Memory. Foundations, Algorithms, Tools, and Applications PDF eBook
Author Rachid Guerraoui
Publisher Springer
Pages 470
Release 2014-12-29
Genre Computers
ISBN 331914720X

Download Transactional Memory. Foundations, Algorithms, Tools, and Applications Book in PDF, Epub and Kindle

The advent of multi-core architectures and cloud-computing has brought parallel programming into the mainstream of software development. Unfortunately, writing scalable parallel programs using traditional lock-based synchronization primitives is well known to be a hard, time consuming and error-prone task, mastered by only a minority of specialized programmers. Building on the familiar abstraction of atomic transactions, Transactional Memory (TM) promises to free programmers from the complexity of conventional synchronization schemes, simplifying the development and verification of concurrent programs, enhancing code reliability, and boosting productivity. Over the last decade TM has been subject to intense research on a broad range of aspects including hardware and operating systems support, language integration, as well as algorithms and theoretical foundations. On the industrial side, the major players of the software and hardware markets have been up-front in the research and development of prototypal products providing support for TM systems. This has recently led to the introduction of hardware TM implementations on mainstream commercial microprocessors and to the integration of TM support for the world’s leading open source compiler. In such a vast inter-disciplinary domain, the Euro-TM COST Action (IC1001) has served as a catalyzer and a bridge for the various research communities looking at disparate, yet subtly interconnected, aspects of TM. This book emerged from the idea having Euro-TM experts compile recent results in the TM area in a single and consistent volume. Contributions have been carefully selected and revised to provide a broad coverage of several fundamental issues associated with the design and implementation of TM systems, including their theoretical underpinnings and algorithmic foundations, programming language integration and verification tools, hardware supports, distributed TM systems, self-tuning mechanisms, as well as lessons learnt from building complex TM-based applications.

Transactional Memory, 2nd Edition

Transactional Memory, 2nd Edition
Title Transactional Memory, 2nd Edition PDF eBook
Author Tim Harris
Publisher Morgan & Claypool Publishers
Pages 263
Release 2010-10-10
Genre Technology & Engineering
ISBN 1608452360

Download Transactional Memory, 2nd Edition Book in PDF, Epub and Kindle

The advent of multicore processors has renewed interest in the idea of incorporating transactions into the programming model used to write parallel programs. This approach, known as transactional memory, offers an alternative, and hopefully better, way to coordinate concurrent threads. The ACI (atomicity, consistency, isolation) properties of transactions provide a foundation to ensure that concurrent reads and writes of shared data do not produce inconsistent or incorrect results. At a higher level, a computation wrapped in a transaction executes atomically - either it completes successfully and commits its result in its entirety or it aborts. In addition, isolation ensures the transaction produces the same result as if no other transactions were executing concurrently. Although transactions are not a parallel programming panacea, they shift much of the burden of synchronizing and coordinating parallel computations from a programmer to a compiler, to a language runtime system, or to hardware. The challenge for the system implementers is to build an efficient transactional memory infrastructure. This book presents an overview of the state of the art in the design and implementation of transactional memory systems, as of early spring 2010. Table of Contents: Introduction / Basic Transactions / Building on Basic Transactions / Software Transactional Memory / Hardware-Supported Transactional Memory / Conclusions

Operating Systems

Operating Systems
Title Operating Systems PDF eBook
Author Thomas Anderson
Publisher
Pages 0
Release 2014
Genre Computers
ISBN 9780985673529

Download Operating Systems Book in PDF, Epub and Kindle

Over the past two decades, there has been a huge amount of innovation in both the principles and practice of operating systems Over the same period, the core ideas in a modern operating system - protection, concurrency, virtualization, resource allocation, and reliable storage - have become widely applied throughout computer science. Whether you get a job at Facebook, Google, Microsoft, or any other leading-edge technology company, it is impossible to build resilient, secure, and flexible computer systems without the ability to apply operating systems concepts in a variety of settings. This book examines the both the principles and practice of modern operating systems, taking important, high-level concepts all the way down to the level of working code. Because operating systems concepts are among the most difficult in computer science, this top to bottom approach is the only way to really understand and master this important material.