Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
2401 Discussions

TBB 2.2 OSS release was posted on our open source site.

Vladimir_P_Intel2
68 Views

Hi all, since TBB 2.2 is out we have posted commercial-aligned open source release to our web site http://www.threadingbuildingblocks.org. The list of changes (w.r.t. TBB 2.1 U4 commercial-aligned release) is:

- Incorporates all changes from earlier open-source releases.
- Architecture folders renamed from em64t to intel64 and from itanium
to ia64.
- Major Interface version changed from 3 to 4. Deprecated interfaces
might be removed in future releases.
- Improved memory allocator performance for allocations bigger than 8K.
- Added new thread-bound filters functionality for pipeline.
- New implementation of concurrent_hash_map that improves performance
significantly.
- A few other small changes in code and documentation.

welcome,
Vladimir

0 Kudos
4 Replies
RafSchietekat
Black Belt
68 Views
"Improved memory allocator performance for allocations bigger than 8K."
Speed, not size, right?

"Added new thread-bound filters functionality for pipeline."
Could you elaborate?

"New implementation of concurrent_hash_map that improves performance significantly."
What is the patent about? How significantly?
Alexey_K_Intel3
Employee
68 Views
Quoting - Raf Schietekat
"Improved memory allocator performance for allocations bigger than 8K."
Speed, not size, right?

"Added new thread-bound filters functionality for pipeline."
Could you elaborate?

"New implementation of concurrent_hash_map that improves performance significantly."
What is the patent about? How significantly?

1) Right, extra memory overhead per large allocation remains the same.
2) Some customers wanted to always execute a particular serial stage on an external thread that has the necessary execution context which can not be passed to another thread (read: to TBB workers). Thread bound filters are just about that. An unfortunate thing is that this design departs from relaxed sequential semantics; thus it should be used with special care.
3) I will let Anton M. answer the hash map question.
Anton_M_Intel
Employee
68 Views
Quoting - Raf Schietekat
"New implementation of concurrent_hash_map that improves performance significantly."
What is the patent about? How significantly?
There is new algorithm for resizing which eliminate necessity of segments and their locks. The count_strings example consumes ~25% less time to execute. I'll publish the details later, but rather not soon, sorry.
For your performance and scalability evaluation, consider also increasing "embedded_block" constant. Unfortunately, current version lacks a method similar to reserve() in concurrent_vector to tune it in place.
Bartlomiej
New Contributor I
68 Views
Thanks for good news and for all TBB developers for their great work!
That's nice to see that the library is spreading. ;-)
I'd suggest adding more examples - in particular something about enumerable_thread_specific, which is rather poorly documented up to now.

Reply