[Haifux] Lecture proposal - high performance multi threaded programming

Shachar Shemesh shachar at shemesh.biz
Tue Apr 29 09:30:35 MSD 2008

With a bit of manual reading, anyone can learn how to create a program 
that has more than one thread of execution. This breaks down, very 
rapidly, however, as the inter-dependencies inside the program start to 
burden you down, to the point where you get race bugs that are close to 
impossible to find. Fixing those typically involve using the various 
locking mechanisms. The result is, more often than not, a program that 
both works much slower than the number of threads and processors would 
suggest it should, AND at the same time still has race conditions.

This lecture will try to give rules relating to how to construct your 
program to begin with so that it will provide high performance, be 
maintainable (for some definition of maintainable), and be bug 
efficient. In other words, this lecture is about learning to think 
"multi-threaded". In fact, efficient enough multi-threaded design do not 
even need to have more than one thread of execution......

All in favor say "aye".


More information about the Haifux mailing list