Seven Concurrency Models in Seven Weeks: When Threads Unravel (The Pragmatic Programmers)
Book information
Description
Your software needs to leverage multiple cores, handle thousands of users and terabytes of data, and continue working in the face of both hardware and software failure. Concurrency and parallelism are the keys, and Seven Concurrency Models in Seven Weeks equips you for this new world. See how emerging technologies such as actors and functional programming address issues with traditional threads and locks development. Learn how to exploit the parallelism in your computer's GPU and leverage clusters of machines with MapReduce and Stream Processing. And do it all with the confidence that comes from using tools that help you write crystal clear, high-quality code. This book will show you how to exploit different parallel architectures to improve your code's performance, scalability, and resilience. You'll learn about seven concurrency models: threads and locks, functional programming, separating identity and state, actors, sequential processes, data parallelism, and the lambda architecture. Learn about the perils of traditional threads and locks programming and how to overcome them through careful design and by working with the standard library. See how actors enable software running on geographically distributed computers to collaborate, handle failure, and create systems that stay up 24/7/365. Understand why shared mutable state is the enemy of robust concurrent code, and see how functional programming together with technologies such as Software Transactional Memory (STM) and automatic parallelism help you tame it. You'll learn about the untapped potential within every GPU and how GPGPU software can unleash it. You'll see how to use MapReduce to harness massive clusters to solve previously intractable problems, and how, in concert with Stream Processing, big data can be tamed. With an understanding of the strengths and weaknesses of each of the different models and hardware architectures, you'll be empowered to tackle any problem with confidence. What You Need: The example code can be compiled and executed on *nix, OS X, or Windows. Instructions on how to download the supporting build systems are given in each chapter. Cover Table of Contents Foreword Acknowledgments Preface About This Book What This Book Is Not Example Code Online Resources 1. Introduction Concurrent or Parallel? Parallel Architecture Concurrency: Beyond Multiple Cores The Seven Models 2. Threads and Locks The Simplest Thing That Could Possibly Work Day 1: Mutual Exclusion and Memory Models Day 2: Beyond Intrinsic Locks Day 3: On the Shoulders of Giants Wrap-Up 3. Functional Programming If It Hurts, Stop Doing It Day 1: Programming Without Mutable State Day 2: Functional Parallelism Day 3: Functional Concurrency Wrap-Up 4. The Clojure Way—Separating Identity from State The Best of Both Worlds Day 1: Atoms and Persistent Data Structures Day 2: Agents and Software Transactional Memory Day 3: In Depth Wrap-Up 5. Actors More Object-Oriented than Objects Day 1: Messages and Mailboxes Day 2: Error Handling and Resilience Day 3: Distribution Wrap-Up 6. Communicating Sequential Processes Communication Is Everything Day 1: Channels and Go Blocks Day 2: Multiple Channels and IO Day 3: Client-Side CSP Wrap-Up 7. Data Parallelism The Supercomputer Hidden in Your Laptop Day 1: GPGPU Programming Day 2: Multiple Dimensions and Work-Groups Day 3: OpenCL and OpenGL—Keeping It on the GPU Wrap-Up 8. The Lambda Architecture Parallelism Enables Big Data Day 1: MapReduce Day 2: The Batch Layer Day 3: The Speed Layer Wrap-Up 9. Wrapping Up Where Are We Going? Roads Not Taken Over to You Bibliography Index – SYMBOLS – – A – – B – – C – – D – – E – – F – – G – – H – – I – – J – – K – – L – – M – – N – – O – – P – – R – – S – – T – – U – – V – – W – – X – – Y –
Similar books
Seven Concurrency Models in Seven Weeks: When Threads Unravel
2014 · EPUB
Debug It!: Find, Repair, and Prevent Bugs in Your Code
2009 · PDF
Physics of Low-Dimensional Semiconductor Structures
1993 · PDF
七周七并发模型
2015 · PDF
Seven Concurrency Models in Seven Weeks. When Threads Unravel
2014 · PDF
Seven Concurrency Models in Seven Weeks: When Threads Unravel
2014 · PDF
Seven Concurrency Models in Seven Weeks: When Threads Unravel
2014 · EPUB
Seven Concurrency Models in Seven Weeks: When Threads Unravel
2014 · PDF