Seven Concurrency Models in Seven Weeks

Book 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.

Table of contents

  1. Seven Concurrency Models in Seven Weeks
    1. Copyright
    2. For the Best Reading Experience...
    3. Table of Contents
    4. Early Praise for Seven Concurrency Models in Seven Weeks
    5. Foreword
    6. Acknowledgments
    7. Preface
      1. About This Book
      2. What This Book Is Not
      3. Example Code
      4. Online Resources
    8. Chapter 1: Introduction
      1. Concurrent or Parallel?
      2. Parallel Architecture
      3. Concurrency: Beyond Multiple Cores
      4. The Seven Models
    9. Chapter 2: Threads and Locks
      1. The Simplest Thing That Could Possibly Work
      2. Day 1: Mutual Exclusion and Memory Models
      3. Day 2: Beyond Intrinsic Locks
      4. Day 3: On the Shoulders of Giants
      5. Wrap-Up
    10. Chapter 3: Functional Programming
      1. If It Hurts, Stop Doing It
      2. Day 1: Programming Without Mutable State
      3. Day 2: Functional Parallelism
      4. Day 3: Functional Concurrency
      5. Wrap-Up
    11. Chapter 4: The Clojure Way— Separating Identity from State
      1. The Best of Both Worlds
      2. Day 1: Atoms and Persistent Data Structures
      3. Day 2: Agents and Software Transactional Memory
      4. Day 3: In Depth
      5. Wrap-Up
    12. Chapter 5: Actors
      1. More Object-Oriented than Objects
      2. Day 1: Messages and Mailboxes
      3. Day 2: Error Handling and Resilience
      4. Day 3: Distribution
      5. Wrap-Up
    13. Chapter 6: Communicating Sequential Processes
      1. Communication Is Everything
      2. Day 1: Channels and Go Blocks
      3. Day 2: Multiple Channels and IO
      4. Day 3: Client-Side CSP
      5. Wrap-Up
    14. Chapter 7: Data Parallelism
      1. The Supercomputer Hidden in Your Laptop
      2. Day 1: GPGPU Programming
      3. Day 2: Multiple Dimensions and Work-Groups
      4. Day 3: OpenCL and OpenGL—Keeping It on the GPU
      5. Wrap-Up
    15. Chapter 8: The Lambda Architecture
      1. Parallelism Enables Big Data
      2. Day 1: MapReduce
      3. Day 2: The Batch Layer
      4. Day 3: The Speed Layer
      5. Wrap-Up
    16. Chapter 9: Wrapping Up
      1. Where Are We Going?
      2. Roads Not Taken
      3. Over to You
    17. Bibliography
      1. You May Be Interested In…

Product information

  • Title: Seven Concurrency Models in Seven Weeks
  • Author(s): Paul Butcher
  • Release date: June 2014
  • Publisher(s): Pragmatic Bookshelf
  • ISBN: 9781937785659