Archives

Posts from Wooyoung Kim (Intel) RSS

Condition variable support in Intel® Threading Building Blocks

By Wooyoung Kim (Intel) (6 posts) on October 1, 2010 at 11:01 am
Comments (4)

Intel® Threading Building Blocks (Intel® TBB) supports condition variables since its 3.0 release. We discuss some of design choices we made for the TBB condition variable. We also describe how to use them correctly in users’ programs.

Continued ›

Category: Open Source, Parallel Programming

Simulating do-nothing mutexes -- null_mutex and null_rw_mutex

By Wooyoung Kim (Intel) (6 posts) on September 28, 2009 at 11:16 am
Comments (1)

Early this year a TBB user requested in the forum for the feature that simulates mutexes that do nothing. The user wrote “Lot of times, when we do template meta programming, we need to provide some containers with no mutex (tbb containers) and some containers with a tbb Mutex...[snip]... If we can have a NullMutex [...]

Continued ›

Category: Software Tools
Tags: , , ,

Concurrent queue changes in Intel(R) Threading Building Blocks 2.2

By Wooyoung Kim (Intel) (6 posts) on September 4, 2009 at 8:14 am
Comments (0)

The concurrent queue of Intel(R) Threading Building Blocks (Intel(R) TBB) changed significantly from 2.1 to 2.2. Member functions that have blocking semantics are dropped and those with potentially thread-unsafe semantics (mostly for debugging purposes) are renamed to indicate it clearly in their names. We strongly encourage Intel(R) TBB users to rebuild their applications with the new headers. The 2.1 concurrent queue is still supported but with a different name, namely, concurrent_bounded_queue, and with a few name changes. The backward compatibility is maintained -- an existing binary built with the 2.1 headers should work with the 2.2 binaries without any problem.

Continued ›

Category: Software Tools
Tags: ,

Shared access with TBB read/write locks

By Wooyoung Kim (Intel) (6 posts) on April 2, 2009 at 3:05 pm
Comments (10)

Lately a sequence of interesting things happened to me. It started with finding an aptly titled paper "TLRW: Return of the Read-Write Lock" by Dave Dice and Nir Shavit. A couple of weeks later, I got an email asking a question about how to use TBB read/write locks (i.e., spin_rw_mutex). A week or so later, [...]

Continued ›

Category: Open Source, Software Tools
Tags: , ,

Pondering Timed Mutex

By Wooyoung Kim (Intel) (6 posts) on September 17, 2008 at 2:59 pm
Comments (6)

On the Intel(R) Software Network, TBB Forum, is posted a message requesting support of timed mutex (http://software.intel.com/en-us/forums/intel-threading-building-blocks/topic/60190/). Our initial reaction to the post was "Why not?''  The POSIX standard has pthread_mutex_timedlock() which provides the functionality [1].  The latest C++200x Standard working draft [2] includes timed_mutex and recursive_time_mutex (see Section 30.3.2) which were voted in at [...]

Continued ›

Category: Software Tools
Tags: , , ,

The Concurrent Queue Container with Sleep Support

By Wooyoung Kim (Intel) (6 posts) on June 3, 2008 at 5:59 am
Comments (5)

The TBB Concurrent Queue container is a bounded first-in-first-out data structure. Multiple threads may concurrently insert items into it and take items out of it [1]. The main operations supported are push and pop. (The names may be misleading. Nonetheless, the TBB concurrent queue guarantees that an item inserted before another will be removed before [...]

Continued ›

Category: Open Source, Parallel Programming, Software Tools
Tags: