JETZT ONLINE BESTELLEN
A Thread Monkey's Guide to Writing Parallel Applications
First Edition Juni 2009
ISBN 978-0-596-52153-0
302 Seiten
EUR37.00
Weitere Informationen zu diesem Buch
Inhaltsverzeichnis |
Kolophon |
Rezensionen |
Inhaltsverzeichnis
-
Preface
-
Why Should You Read This Book?
-
Who Is This Book For?
-
What’s in This Book?
-
Conventions Used in This Book
-
Using Code Examples
-
Comments and Questions
-
SafariŽ Books Online
-
Acknowledgments
-
-
Chapter 1Want to Go Faster? Raise Your Hands if You Want to Go Faster!
-
Some Questions You May Have
-
Four Steps of a Threading Methodology
-
Background of Parallel Algorithms
-
Shared-Memory Programming Versus Distributed-Memory Programming
-
This Book’s Approach to Concurrent Programming
-
-
Chapter 2Concurrent or Not Concurrent?
-
Design Models for Concurrent Algorithms
-
What’s Not Parallel
-
-
Chapter 3Proving Correctness and Measuring Performance
-
Verification of Parallel Algorithms
-
Example: The Critical Section Problem
-
Performance Metrics (How Am I Doing?)
-
Review of the Evolution for Supporting Parallelism in Hardware
-
-
Chapter 4Eight Simple Rules for Designing Multithreaded Applications
-
Rule 1: Identify Truly Independent Computations
-
Rule 2: Implement Concurrency at the Highest Level Possible
-
Rule 3: Plan Early for Scalability to Take Advantage of Increasing Numbers of Cores
-
Rule 4: Make Use of Thread-Safe Libraries Wherever Possible
-
Rule 5: Use the Right Threading Model
-
Rule 6: Never Assume a Particular Order of Execution
-
Rule 7: Use Thread-Local Storage Whenever Possible or Associate Locks to Specific Data
-
Rule 8: Dare to Change the Algorithm for a Better Chance of Concurrency
-
Summary
-
-
Chapter 5Threading Libraries
-
Implicit Threading
-
Explicit Threading
-
What Else Is Out There?
-
Domain-Specific Libraries
-
-
Chapter 6Parallel Sum and Prefix Scan
-
Parallel Sum
-
Prefix Scan
-
Selection
-
A Final Thought
-
-
Chapter 7MapReduce
-
Map As a Concurrent Operation
-
Reduce As a Concurrent Operation
-
Applying MapReduce
-
MapReduce As Generic Concurrency
-
-
Chapter 8Sorting
-
Bubblesort
-
Odd-Even Transposition Sort
-
Shellsort
-
Quicksort
-
Radix Sort
-
-
Chapter 9Searching
-
Unsorted Sequence
-
Binary Search
-
-
Chapter 10Graph Algorithms
-
Depth-First Search
-
All-Pairs Shortest Path
-
Minimum Spanning Tree
-
-
Chapter 11Threading Tools
-
Debuggers
-
Performance Tools
-
Anything Else Out There?
-
Go Forth and Conquer
-
-
Glossary
-
Photo Credits
-
Colophon
Zurück zu The Art of Concurrency
