Skip to Main Content
Intel Threading Building Blocks
book

Intel Threading Building Blocks

by James Reinders
July 2007
Intermediate to advanced content levelIntermediate to advanced
332 pages
10h 4m
English
O'Reilly Media, Inc.
Content preview from Intel Threading Building Blocks

Mutex Flavors

Connoisseurs distinguish various attributes of mutexes. It helps to know some of these, because they involve trade-offs between generality and efficiency. Picking the right one often helps performance. Mutexes can be described by the following qualities, also summarized in Table 7-1.

Table 7-1. Traits and behavior of mutexes

Mutex

Scalable

Fair

Reentrant

Sleeps

Size

mutex

OS-dependent

OS-dependent

No

Yes

Three or more words

spin_mutex

No

No

No

No

One byte

queuing_mutex

Yes

Yes

No

No

One word

spin_rw_mutex

No

No

No

No

One word

queuing_rw_mutex

Yes

Yes

No

No

One word

Scalable

Some mutexes are called scalable. In a strict sense, this is not an accurate name because a mutex limits execution to one task at a time and is therefore necessarily a drag on scalability. A scalable mutex is rather one that does no worse than forcing single-threaded performance. A mutex actually can do worse than serialize execution if the waiting tasks consume excessive processor cycles and memory bandwidth, reducing the speed of tasks trying to do real work. Scalable mutexes are often slower than nonscalable mutexes under light contention, so a nonscalable mutex may be better. When in doubt, use a scalable mutex.

Fair

Mutexes can be fair or unfair. A fair mutex lets tasks through in the order they arrive. Fair mutexes avoid starving tasks. Each task gets its turn. However, unfair mutexes can be faster because they let tasks that are running go through ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Intel® Xeon Phi™ Coprocessor Architecture and Tools: The Guide for Application Developers

Intel® Xeon Phi™ Coprocessor Architecture and Tools: The Guide for Application Developers

Rezaur Rahman

Publisher Resources

ISBN: 9780596514808Errata Page