Herb Sutter's Effective Concurrency Archive

vitaminCPP1 pts0 comments

GitHub - g-berthiaume/effective_concurrency: Herb Sutter's Effective Concurrency Column Archive · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

g-berthiaume

effective_concurrency

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>3 Commits<br>3 Commits

src

src

README.md

README.md

View all files

Repository files navigation

Herb Sutter's Effective Concurrency Column Archive

If you search the web for articles about low-level concurrency, you're bound to come across references to Herb Sutter's Effective Concurrency column.<br>Published between 2007 and 2010 in Dr. Dobb's Journal, these articles focused on building a consistent mental model for reasoning about concurrency.

Now that Dr. Dobb's Journal has been closed, those articles have effectively been lost.

Even the Internet Archive's Wayback Machine seems to have only archived the first page of each article. While they may no longer be fully up to date, I believe they're still valuable.

This repo is my attempt to find and archive those articles.

List

Note that the quality varies, ranging from okay to great.

Currently missing (3/33): No 19, No 29 and No 30.

No<br>Name

EC #1<br>The Pillars of Concurrency

EC #2<br>How Much Scalability Do You Have or Need?

EC #3<br>Use Critical Sections (Preferably Locks) to Eliminate Races

EC #4<br>Apply Critical Sections Consistently

EC #5<br>Avoid Calling Unknown Code While Inside a Critical Section

EC #6<br>Use Lock Hierarchies to Avoid Deadlock

EC #7<br>Break Amdahl's Law!

EC #8<br>Going Superlinear

EC #9<br>Super Linearity and the Bigger Machine

EC #10<br>Interrupt Politely

EC #11<br>Maximize Locality, Minimize Contention

EC #12<br>Choose Concurrency-Friendly Data Structures

EC #13<br>The Many Faces of Deadlock

EC #14<br>Lock-Free Code: A False Sense of Security

EC #15<br>Writing Lock-Free Code: A Corrected Queue

EC #16<br>Writing a Generalized Concurrent Queue

EC #17<br>Understanding Parallel Performance

EC #18<br>Measuring Parallel Performance: Optimizing a Concurrent Queue

EC #19<br>volatile vs. volatile

EC #20<br>Sharing Is the Root of All Contention

EC #21<br>Use Threads Correctly = Isolation + Asynchronous Messages

EC #22<br>Use Thread Pools Correctly: Keep Tasks Short and Nonblocking

EC #23<br>Eliminate False Sharing

EC #24<br>Break Up and Interleave Work to Keep Threads Responsive

EC #25<br>The Power of "In Progress"

EC #26<br>Design for Manycore Systems

EC #27<br>Avoid Exposing Concurrency – Hide It Inside Synchronous Methods

EC #28<br>Prefer Structured Lifetimes - Local, Nested, Bounded, Deterministic

EC #29<br>Prefer Futures to Baked-In "Async APIs"

EC #30<br>Associate Mutexes with Data to Prevent Races

EC #31<br>Prefer Using Active Objects Instead of Naked Threads

EC #32<br>Prefer Using Futures or Callbacks to Communicate Asynchronous Results

EC #33<br>Know When to Use an Active Object Instead of a Mutex

Thanks

Thanks to Jacob Filipp for hosting the Dr. Dobbs DVD (most of the pdf comes from there).

Thanks to Miro Samek for No 31 and No 33.

Thanks to Pete Shearer for No 32.

Thanks to Herb Sutter for writing those articles.

Copyright

This is an archiving project. I do not own any of those articles.

If you are Herb Sutter and you want this repo to be modified or deleted, please reach out.

About

Herb Sutter's Effective Concurrency Column Archive

Resources

Readme

Uh oh!

There was an error while loading. Please reload this page.

Activity

Stars

stars

Watchers

watching

Forks

forks

Report repository

Releases

No releases published

Packages

Uh oh!

There was an error while loading. Please reload this page.

Contributors

Uh oh!

There was an error while loading. Please reload this page.

You can’t perform that action at this time.

concurrency herb sutter archive search reload

Related Articles