Sep 4, 2006

Code with Concurrency or Don't Code at all!

As chip-manufacturers continue to add more cores to the microprocessor, moving from dual-core to multi-core to many-core CPUs, increasing the parallelism in code would be imperative to taking advantage of this hardware. Herb Sutter of the C++ fame has written very eloquently on this subject in his famous article The Free Lunch is Over and the follow up article for the ACM Queue: Software and the Concurrency Revolution. You can also listen to him talking about this subject at the PARC forum.

 

If you read these articles, you would figure out how critical it is to understand concurrent programming and start using these idioms. To get started, I would recommend the following:

 

1. Concurrency: What Every Dev Must Know about Multi-Threaded Apps by Vance Morrison

2. Writing Faster Managed Code: Know What Things Cost by Jan Gray

3. CLR Inside Out: Using Concurrency for Scalability by Joe Duffy

4. The Concurrent Affairs Column by Jeffrey Richter

5. The Concurrency and Co-ordination Runtime Videos by Jeff Richer at Channel9

 

While this in it itself would take a few days to read and I guess about a month to understand, if you are hungry for more, follow this up with the list of books put up by Joe Duffy at this blog entry.

 

Lastly, there is some very interesting work being done at Microsoft Research. Check out C# Software Transactional Memory, the Comega Programming Language, and writings by Tim Harris.

 

 

0 comments: