Buying Options
Intel Threading Building Blocks
Print $39.99
Add to Cart
Safari Books Online
Add to Cart
What is this?
Print £26.99
Add to Cart
What is this?
Description
More than ever, multithreading is a requirement for good performance of systems with multi-core chips. This guide explains how to maximize the benefits of these processors through a portable C++ library that works on Windows, Linux, Macintosh, and Unix systems. With it, you'll learn how to use Intel Threading Building Blocks (TBB) effectively for parallel programming -- without having to be a threading expert.
Full Description
Table of Contents
  1. Chapter 1 Why Threading Building Blocks?

    1. Overview

    2. Benefits

  2. Chapter 2 Thinking Parallel

    1. Elements of Thinking Parallel

    2. Decomposition

    3. Scaling and Speedup

    4. What Is a Thread?

    5. Mutual Exclusion and Locks

    6. Correctness

    7. Abstraction

    8. Patterns

    9. Intuition

  3. Chapter 3 Basic Algorithms

    1. Initializing and Terminating the Library

    2. Loop Parallelization

    3. Recursive Range Specifications

    4. Recursive Range Specifications

    5. Summary of Loops

  4. Chapter 4 Advanced Algorithms

    1. Parallel Algorithms for Streams

  5. Chapter 5 Containers

    1. concurrent_queue

    2. concurrent_vector

    3. concurrent_vector

    4. concurrent_hash_map

  6. Chapter 6 Scalable Memory Allocation

    1. Limitations

    2. Problems in Memory Allocation

    3. Memory Allocators

    4. Replacing malloc, new, and delete

  7. Chapter 7 Mutual Exclusion

    1. When to Use Mutual Exclusion

    2. Mutexes

    3. Mutexes

    4. Atomic Operations

  8. Chapter 8 Timing

  9. Chapter 9 Task Scheduler

    1. When Task-Based Programming Is Inappropriate

    2. Much Better Than Raw Native Threads

    3. Initializing the Library Is Your Job

    4. Example Program for Fibonacci Numbers

    5. Task Scheduling Overview

    6. How Task Scheduling Works

    7. Recommended Task Recurrence Patterns

    8. Making Best Use of the Scheduler

    9. Task Scheduler Interfaces

    10. Task Scheduler Summary

  10. Chapter 10 Keys to Success

    1. Key Steps to Success

    2. Relaxed Sequential Execution

    3. Safe Concurrency for Methods and Libraries

    4. Debug Versus Release

    5. For Efficiency's Sake

    6. Enabling Debugging Features

    7. Mixing with Other Threading Packages

    8. Naming Conventions

  11. Chapter 11 Examples

    1. The Aha! Factor

    2. A Few Other Key Points

    3. parallel_for Examples

    4. The Game of Life

    5. Parallel_reduce Examples

    6. CountStrings: Using concurrent_hash_map

    7. Quicksort: Visualizing Task Stealing

    8. A Better Matrix Multiply (Strassen)

    9. Advanced Task Programming

    10. Packet Processing Pipeline

    11. Memory Allocation

    12. Game Threading Example

    13. Physics Interaction and Update Code

    14. Open Dynamics Engine

  12. Chapter 12 History and Related Projects

    1. Libraries

    2. Languages

    3. Pragmas

    4. Generic Programming

    5. Caches

    6. Costs of Time Slicing

    7. Quick Introduction to Lambda Functions

    8. Further Reading

  1. Colophon

View Full Table of Contents
Product Details
Title:
Intel Threading Building Blocks
By:
James Reinders
Publisher:
O'Reilly Media
Formats:
  • Print
  • Ebook
  • Safari Books Online
Print Release:
July 2007
Ebook Release:
June 2009
Pages:
336
Print ISBN:
978-0-596-51480-8
| ISBN 10:
0-596-51480-8
Ebook ISBN:
978-0-596-15959-7
| ISBN 10:
0-596-15959-5
Customer Reviews
About the Author
  1. James Reinders

    James Reinders, Chief Evangelist of Intel Software Products, is a senior engineer who joined Intel Corporation in 1989 and has contributed to a number of projects, including the world's first TeraFLOP supercomputer (ASCI Red), compilers and architecture work for the iWarp, Pentium Pro, Pentium II, Itanium, and Pentium 4 processors. He has years of experience in processor architecture, optimizing compilers, parallel computer architecture, and making products for software developers.

    Reinders is also the editorial columnist for the monthly "The Gauntlet" at www.devX.go-parallel.com, as well as the author of the Intel Press book titled "VTune Performance Analyzer Essentials" and contributor to the new book "Multi-Core Programming."

    View James Reinders's full profile page.

Colophon

The animal on the cover of Intel Threading Building Blocks is a wild canary (Serinus canaria), a small songbird in the finch family. It is also known as an island canary or Atlantic canary because it is native to islands off western Europe, particularly Madeira, Azores, and the Canary Islands, for which the bird was named. The name comes from the Latin canaria ("of the dogs"), first used by Pliny the Elder in his Naturalis Historia because of the large dogs roaming the Islands. Canaries live in orchards, farmlands, and copses, and make their nests in bushes and trees.

Although the wild canary is darker and slightly larger than the domestic canary, it is otherwise similar in appearance. Its breast is yellow-green and its back is streaked with brown. Like many species, the male is more vibrantly colored than the female. The male also has a sweeter song. When the Spanish conquered the Islands in the 15th century, they domesticated the birds and began to breed them. By the 16th century, canaries were prized as pets throughout Europe. (Samuel Pepys writes about his "canary birds" in a 1661 diary entry.) Five hundred years of selective breeding have produced many canary varieties, including the bright yellow type common today. The small birds are popular pets because they can live up to 10 years, require little special attention, and are considered to have the most melodious song of all birds.

As late as the 1980s, coal miners used canaries as a warning system, with two birds in each coal pit. According to the U.S. Bureau of Mines, canaries were preferred to mice because they are more sensitive to fumes and more visibly show distress in the presence of gas. A canary in a mine would chirp all day, but if the carbon monoxide level rose, it would stop singing and sway on its perch before falling dead-warning the miners to get out fast.

  • Book cover of Intel Threading Building Blocks