Re: [Dependency Proposal] intel::tbb

2017-10-05 Thread Masaori Koshiba
Anybody looked at libcds[1]? It says it's mostly header-only template library of concurrent data structures. It sounds like what we're looking for. And performance looks similar to TBB. ( I'm not -1 to TBB ) - [1] libcds https://github.com/khizmax/libcds - Masaori 2017年10月5日(木) 7:37 Jason Kenny

Re: [Dependency Proposal] intel::tbb

2017-10-05 Thread Jason Kenny
I this we could a lot of value out of TBB. The tasking engine is much better than what we have. However I would not suggest we just replace everything, but instead bring it in and look at "low-hanging" fruit such as the hash map that we can get value out of today. Larger projects as using its advan

Re: [Dependency Proposal] intel::tbb

2017-10-04 Thread CrazyCow
We use continuations everywhere, which might not be appropriate according to the above quote? xD For this particular use case of the PR, it's pretty simple code and I don't think it will be a performance bottleneck. What we want here is a mature, well documented and widely used concurrent implemen

Re: [Dependency Proposal] intel::tbb

2017-10-01 Thread Alan Carroll
I wonder where Concurrency Kit falls on that graph. Here's an interesting quote from TBB:[1] "Using the task scheduler is usually the best approach to threading for performance, however there are cases when the task scheduler is not appropriate. The task scheduler is intended for high-performance

Re: [Dependency Proposal] intel::tbb

2017-09-29 Thread CrazyCow
Yea, I looked into Junction before tbb, until I found this comment on hacker news. Uhm... The absolute Y-position of the curve on the graph is secondary to > its shape. Also, the scalability discussion is largely pointless if the > sample set covers only 6 CPUs. > Intel TBB scales proportionally,

Re: [Dependency Proposal] intel::tbb

2017-09-29 Thread Jason Kenny
interesting to not the junction make will use TBB under the covers... for example: https://github.com/preshing/junction/blob/14c0b8f835d26899c22eb7e747ccdffb775c49f2/junction/extra/impl/MapAdapter_TBB.h On Fri, Sep 29, 2017 at 5:13 PM, Bryan Call wrote: > Here are some benchmark numbers I ran ac

Re: [Dependency Proposal] intel::tbb

2017-09-29 Thread Bryan Call
Here are some benchmark numbers I ran across when looking at different thread safe hash implementations: Source: http://preshing.com/20160201/new-concurrent-hash-maps-for-cpp/ -Bryan > On Sep 29, 2017, at 2:42 PM, Bryan Call

Re: [Dependency Proposal] intel::tbb

2017-09-29 Thread Bryan Call
TCL handles concurrency for memory allocation bits. Looking at it more, the hashtable part of the library doesn’t support currency and you would have to handle locking yourself. I created a test program to see when it was locking: #include "ink_hash_table.h" #include #include using namespace

Re: [Dependency Proposal] intel::tbb

2017-09-29 Thread CrazyCow
I read the code of Tcl_HashTable. They say nothing about handling concurrency. The biggest concern about this is, as Alan and Bryan said, what level of use will we have for ATS. I read docs of TBB. It's offering rich tools of handling t

Re: [Dependency Proposal] intel::tbb

2017-09-29 Thread Bryan Call
This seems like a large dependency to pull in to get a thread safe unordered map. We already have a dependency on Tcl_HashTable (InkHashTable), that handles concurrency, and it used throughout the code base. -Bryan > On Sep 28, 2017, at 5:55 PM, CrazyCow wrote: > > Hi, ATS devs, > > Curre

Re: [Dependency Proposal] intel::tbb

2017-09-29 Thread CrazyCow
Seems the latest version supports FreeBSD and SunOS. https://github.com/01org/tbb/blob/tbb_2018/build/FreeBSD.inc https://github.com/01org/tbb/blob/tbb_2018/build/SunOS.inc 2017-09-29 8:26 GMT-07:00 James Peach : > > > On Sep 29, 2017, at 7:37 AM, Derek Dagit > wrote: > > > > 3) Does it run on p

Re: [Dependency Proposal] intel::tbb

2017-09-29 Thread James Peach
> On Sep 29, 2017, at 7:37 AM, Derek Dagit wrote: > > 3) Does it run on platforms that are supported by ATS, like FreeBSD? I > thought there was not official support without patching it, but not > sure. https://www.threadingbuildingblocks.org/system-requirements AFAICT they claim x86-only and

Re: [Dependency Proposal] intel::tbb

2017-09-29 Thread Derek Dagit
3) Does it run on platforms that are supported by ATS, like FreeBSD? I thought there was not official support without patching it, but not sure. On Thu, Sep 28, 2017 at 7:58 PM, Alan Carroll wrote: > There are two big issues for me: > > 1) What level of use will we have in the rest of the ATS cor

Re: [Dependency Proposal] intel::tbb

2017-09-28 Thread Alan Carroll
There are two big issues for me: 1) What level of use will we have in the rest of the ATS core? It's a big chunk for just one place in the core. If that were it, I'd be more tempted to port the equivalent container from Concurrency Kit which would have a much smaller footprint. 2) How stable is th

[Dependency Proposal] intel::tbb

2017-09-28 Thread CrazyCow
Hi, ATS devs, Currently, we have a requirement of concurrent_unordered_map (details can be found https://github.com/apache/trafficserver/pull/2555). And intel::tbb::concurrent_unordered_map is the most mature one we can try out. I understand this dependency is huge. I'd like to hear opinions from