4,580 Posts served
11,094 Conversations started
- Academic

- Android

- Art, Music, & Animation

- Embedded Computing

- Events

- Game Development

- Graphics & Media

- Intel SW Partner Program

- Intel® AppUp Developer Program

- Manageability & Security

- Mobility

- Open Source

- Parallel Programming

- Performance and Optimization

- Power Efficiency

- Server

- Site News & Announcements

- Software Tools

- Ultrabook

- Association for Computing Machinery TechNews (ACM)
- Go Parallel! (Dr. Dobbs)
- HPCwire (Tabor Communications, Inc.)
- insideHPC (John West)
- Joe Duffy's Weblog (Microsoft)
- Microsoft Parallel Programming Development Center (Microsoft Germany)
- MultiCoreInfo.com
- scalability.org (Scalable Informatics)
- Software Dev Blog (Intel Germany)
- Soft Talk Blog (Intel United Kingdom)
- The Moth (Microsoft)
Archives
Posts from Anton Malakhov (Intel) 
|
Anton is one of the senior developers of TBB. He joined Intel in Jan 2006. |
Scalable Memory Pools: community preview feature
By Anton Malakhov (Intel) (6 posts) on December 19, 2011 at 5:05 am
Comments (3)
In TBB 4.0, we introduced new community preview feature (CPF) – the scalable memory pools. See the TBB Reference Manual (D.4) for formal and detailed description. In this blog, we will present them less formally and discuss what changes can be made. Motivation We had vague requests from customers to implement a memory pool (Wikipedia [...]
Category: Open Source, Parallel Programming
Tags: memory pool, scalable allocator, TBB, TBB 4.0, tbbmalloc, Threading Building Blocks
Joint lifetime and access synchronization algorithm for shared dynamic objects
By Anton Malakhov (Intel) (6 posts) on January 26, 2011 at 9:55 am
Comments (8)
Modern programming practices and computer languages (like .NET) tend to dynamically create and destroy objects at run-time, but how does it correlate with multi-core-enabled programming? A parallel program may need to synchronize both lifetime of- and access to- an object in shared memory. Known methods suffer from either limitation of scalability or additional synchronization overhead. [...]
Category: Open Source, Parallel Programming, Performance and Optimization
Tags: TBB, Threading Building Blocks, What If
Traversing concurrent_hash_map concurrently
By Anton Malakhov (Intel) (6 posts) on May 14, 2010 at 6:30 am
Comments (32)
People keep asking how to traverse tbb::concurrent_hash_map concurrently with other operations. But it wouldn’t be worth the blog if there was not any problem. The Reference clearly states that: Concurrent operations (count, find, insert, and erase) invalidate any existing iterators that point into the table, An exception to this rule is that count and find [...]
Category: Open Source, Parallel Programming, Software Tools
Tags: C++, concurrent container, concurrent_hash_map, parallel programming, parallel traversal, TBB, Threading Building Blocks
tbb::concurrent_vector in TBB 2.2
By Anton Malakhov (Intel) (6 posts) on September 19, 2009 at 4:13 am
Comments (0)
Concurrent vector was also significantly reworked for TBB 2.2 in all areas: interface, documentation, and internal implementation. Let's start from the interface. Methods push_back(), grow_by(), and grow_to_at_least() return iterator now.
Category: Open Source, Parallel Programming, Software Tools
Tags: concurrent, concurrent container, concurrent_vector, container, exception safety, exceptions, TBB, TBB 2.2
Delusion of tbb::concurrent_vector’s size or 3 ways to traverse in parallel correctly
By Anton Malakhov (Intel) (6 posts) on April 9, 2009 at 6:07 am
Comments (4)
Like in the previous post about concurrent_vector, I’d like to start from a sentence buried in the Reference Manual, Section 4.4.6.1, which describes the size() method: “The result may include elements that are under construction by concurrent calls to any of the growth methods”. It means that you can not safely traverse across a container [...]
Category: Open Source, Parallel Programming, Software Tools
Tags: TBB
tbb::concurrent_vector: secrets of memory organization
By Anton Malakhov (Intel) (6 posts) on July 24, 2008 at 3:51 am
Comments (2)
This blog entry is intended to help you better understand the way concurrent vector works with the memory and how to use it wisely for your program to work faster or consume less memory. The concurrency comes with the price Let’s open Threading Building Blocks (TBB) reference manual at point 4.3.”Fragmentation”: “Unlike a std::vector, a [...]
