Archives

Posts from Andrey Marochko (Intel) RSS

Andrey Marochko (Intel)

Developed software in numerous areas from numerical analysis to advanced GUI and to distributed client-server applications. Use C++ since 1992. Got involved with asynchrony and multithreading in the late 90s. Since 2004 - Sr. software engineer at Intel, first in the Threading Tools, then in 2007 joined the Threading Runtimes team, where concentrate on the Threading Building Blocks development with focus on TBB task scheduler.

TBB initialization, termination, and resource management details, juicy and gory.

By Andrey Marochko (Intel) (14 posts) on April 9, 2011 at 8:35 am
Comments (0)

Well, maybe more essential than juicy, and rather treacherous than gory. As I noted in my previous blog introducing a major task scheduler extension – support for task and task group priorities, TBB has been steadily evolving ever since its inception. My recent interactions with a few teams using TBB both inside and outside of [...]

Continued ›

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

Task and task group priorities in TBB

By Andrey Marochko (Intel) (14 posts) on April 1, 2011 at 9:37 am
Comments (3)

What I like most about Intel® Threading Building Blocks (TBB) library is its incessant evolution. Having been first released almost five years ago and enjoying quite broad adoption in the software development industry since then, it still keeps growing new features at unabated pace. Sustaining this trend and advancing TBB’s quest for ever better composability, [...]

Continued ›

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

TBB 3.0 and processor affinity

By Andrey Marochko (Intel) (14 posts) on December 28, 2010 at 4:04 am
Comments (0)

The blog describes new TBB 3.0 feature that allows controlling default size of TBB thread pool using process affinity mask, and discusses behavior variations peculiar to specific operating systems.

Continued ›

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

TBB 3.0, high end many-cores, and Windows processor groups

By Andrey Marochko (Intel) (14 posts) on December 16, 2010 at 9:06 am
Comments (3)

Recently released TBB 3.0 Update 4 contains not only the first ever Customer Preview Feature but also a few changes in the task scheduler that may come handy in some situations, for example when your TBB application has to work on a machine with more than 64 cores.

Continued ›

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

TBB scheduler clandestine evolution

By Andrey Marochko (Intel) (14 posts) on December 9, 2010 at 3:10 am
Comments (0)

This blog discusses earlier unpublished details of the TBB task scheduler's stealing kernel replacement that took place in TBB 2.2. This information may be useful to those interested in theory and practical aspects of work stealing, one of the most efficient techniques of implementing scalable shared memory parallelism.

Continued ›

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

TBB 3.0 task scheduler improves composability of TBB based solutions. Part 2.

By Andrey Marochko (Intel) (14 posts) on May 21, 2010 at 1:12 am
Comments (0)

TBB 3.0 has its task scheduler upgraded to address several issues that limited composability of the code parallelized with TBB. Thus if you design or contribute to complex applications, this blog will help you understand the nature and impact of the changes in TBB 3.0 task scheduler. This is the second part of two.

Continued ›

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

TBB 3.0 task scheduler improves composability of TBB based solutions. Part 1.

By Andrey Marochko (Intel) (14 posts) on May 13, 2010 at 5:34 am
Comments (1)

TBB 3.0 has its task scheduler upgraded to address several issues that limited composability of the code parallelized with TBB. Thus if you design or contribute to complex applications, this blog will help you understand the nature and impact of the changes in TBB 3.0 task scheduler. Read the first part of two.

Continued ›

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

Exception handling in TBB 2.2 - Getting ready for C++0x

By Andrey Marochko (Intel) (14 posts) on August 18, 2009 at 5:22 am
Comments (0)

Just released TBB 2.2 utilizes the new C++ exception propagation functionality that is part of the upcoming C++0x standard, and thus makes exception handling in TBB based applications even more straightforward.

Continued ›

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

TBB containers vs. STL. Performance in the multi-core age.

By Andrey Marochko (Intel) (14 posts) on October 20, 2008 at 2:26 am
Comments (4)

In my previous post I've tried to explain why TBB containers are so different from the STL ones, and claimed “efficiency” and “performance” considerations to be important reasons. For the starter let me to clarify what exactly did I mean when I talked about them. The meaning of performance in general is intuitively obvious - [...]

Continued ›

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

TBB containers vs. STL. Functionality rift

By Andrey Marochko (Intel) (14 posts) on October 13, 2008 at 2:28 am
Comments (1)

How TBB concurrent containers differ from the STL ones, why the particular design decisions were made, and what the efficiency of both approaches depends on...

Continued ›

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

Exception Handling and Cancellation in TBB - Part IV – Using context objects

By Andrey Marochko (Intel) (14 posts) on June 11, 2008 at 2:41 am
Comments (1)

After a good deal of theoretizing about various cancellation scenarios, we’ve finally reached the point where we can touch a bit more material substance (if one can say so about information☺). So let’s see how to use group contexts in practice. You can create an instance of task group context using any technique applicable to [...]

Continued ›

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

Exception Handling and Cancellation in TBB - Part III – Use cases with nested parallelism

By Andrey Marochko (Intel) (14 posts) on June 4, 2008 at 4:33 am
Comments (0)

Now that we’ve familiarized ourselves with the simple scenarios in the previous part of this post, let’s consider more complex, but nevertheless ubiquitous use case of nested parallelism (maybe it is even more widespread that non-nested usages). When we considered a standalone algorithm, canceling any of its tasks naturally caused unconditional cancellation of all its [...]

Continued ›

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

Exception Handling and Cancellation in TBB - Part II – Basic use cases

By Andrey Marochko (Intel) (14 posts) on May 29, 2008 at 1:54 am
Comments (2)

After the long-winded introduction let’s consider the semantics of task cancellation and exception handling in TBB. The basic usage model of cancellation was shaped in order to cover the following primary use cases: Cancelling an algorithm when one of its tasks decides that the purpose of the algorithm has been reached. A variety of parallel [...]

Continued ›

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

Exception Handling and Cancellation in TBB: Part I - The Past

By Andrey Marochko (Intel) (14 posts) on May 19, 2008 at 4:09 am
Comments (0)

The last stable TBB drop (tbb20_20080408oss) featured the first version of the exception handling and cancellation support in the library, and the upcoming 2.1 release will have a bit more mature variant of it. While the documentation is not yet available, in this blog I would like to outline the main usage models for this [...]

Continued ›

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