On Sat, 29 Sep 2007, Saifi Khan wrote:

> Date: Sat, 29 Sep 2007 21:10:53 +0530 (IST)
> From: Saifi Khan <[EMAIL PROTECTED]>
> Reply-To:  <[email protected]>
> To:  <[email protected]>
> Subject: [twincling] threaded building blocks (TBB)
> 
> Hi all:
> 
> Threaded building blocks is an interesting approach to achieve
> parallelism in a C++ program. The idea is to provide parallelism
> in a multi-core environment without having to work with all the
> threading details/internals.
> 
> Those of us who write 'multi-threaded' programs can appreciate
> the fact that it is very to get it wrong ! Race conditions,
> deadlocks, priority inversions etc. rule the top of bug list.
> 
> So, why is threading difficult to get it right ?
> 
> The two common reasons are -
>  . incorrect reasoning about shared state.
>  . breaking invariants in the program and not restoring them.
> 
> Native threading library, NPTL (New POSIX Threads Library)
> for linux are common library implementations.
> 
> OpenMP is a message passing library designed to support
> multi-threading (and effectively parallelism) in large
> multi-processing environments.
> 
> However, concurrency is crucial to realising future application
> architectures and utilising hardware innovations.
> 
> With the background on current scenario out of the way,
> we can now take a look at TBB more closely.
> 
> The canonical website is
> http://osstbb.intel.com/
> 
> A good discussion with the designer is
> http://www.devx.com/go-parallel/Article/35471/6071?pf=true
> 
> The above discussion is fairly C++ centric as a large amount of
> existing desktop software that needs to explore the capabilities
> can now potentially run or runs on multi-core systems.
> 
> Let's get the back rolling on this interesting concept.
> 
> thanks
> Saifi.
>  

To further add to my mail on TBB, there is a good comparison
of TBB and OpenMP at 
http://softwarecommunity.intel.com/articles/eng/1524.htm

There are quite a few very good links towards the end of 
the comparison paper.

To quote a line from the paper
"Choosing threading approach is a very important part of
 parallel application design process".


thanks
Saifi.

Reply via email to