You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by Alan Carroll <so...@yahoo-inc.com.INVALID> on 2015/06/16 20:18:01 UTC

Concurrency Kit Future

 During the 6.0 bug scrub / planning session there was a lot of discussion of Concurrency Kit (libck). The fundamental issue is that CK does not compile in a C++ environment and cannot be made to do so without significant and incompatible API changes. This is also true for the header files which means no C++ code can use CK. This is a bit of problem for using CK in ATS, something we did not anticipate when we originally tried to use CK. For this reason we have repeatedly put off building CK in the official releases but now that it is clear we will never be able to use CK as it is we have removed it entirely.

Phil Sorber has discussed this extensively with Samy Al Bahra, the author of Concurrency Kit and with the CK community. The best option at this point is to create a new project, CK++, which will be a C++ version of CK. It would start with a forked version of CK which would then be modified to build and run in a C++ environment. The CK community and Samy are all positive about this - we are not the only ones who have wanted CK in C++. The changes would be essentially wrapper changes and additional template / typing support, we would use the same underlying implementation. We could then integrate the CK++ into ATS and start using modern synchronization mechanisms.
  

Re: Concurrency Kit Future

Posted by Phil Sorber <so...@apache.org>.
On Tue, Jun 16, 2015 at 1:07 PM Brian Geffon <br...@gmail.com> wrote:

> I like the idea of CK++, I'd love to see this, my only question is: who is
> officially going to be the maintainer of CK++, will it be the CK community?
> Also, would CK++ require C++11/14 or would it try to be backwards
> compatible with older versions of C++?
>
>
The goal of it is as a project to serve ATS. So no C++11 until we not
longer support non-C++11 compilers for example.

I was thinking I would take it upon myself to be the maintainer, but I
expect a lot of support from the hard core C++ guys like you and Alan and
James. The libck team, specifically Samy, said they would help with the
"hard stuff" meaning we'll be sure to get the concurrency stuff right with
their help, but outside that, it would be a separate independent project.

I'm not married to being the maintainer though. If you are volunteering I'd
be glad to let you handle it. I've just been the one pushing thus far and
figured I'd have to continue to be that person if this were to happen.


> Brian
>
> On Tue, Jun 16, 2015 at 11:57 AM, Phil Sorber <so...@apache.org> wrote:
>
> > On Tue, Jun 16, 2015 at 12:19 PM Alan Carroll
> > <so...@yahoo-inc.com.invalid> wrote:
> >
> > >  During the 6.0 bug scrub / planning session there was a lot of
> > discussion
> > > of Concurrency Kit (libck). The fundamental issue is that CK does not
> > > compile in a C++ environment and cannot be made to do so without
> > > significant and incompatible API changes. This is also true for the
> > header
> > > files which means no C++ code can use CK. This is a bit of problem for
> > > using CK in ATS, something we did not anticipate when we originally
> tried
> > > to use CK. For this reason we have repeatedly put off building CK in
> the
> > > official releases but now that it is clear we will never be able to use
> > CK
> > > as it is we have removed it entirely.
> > >
> > > Phil Sorber has discussed this extensively with Samy Al Bahra, the
> author
> > > of Concurrency Kit and with the CK community. The best option at this
> > point
> > > is to create a new project, CK++, which will be a C++ version of CK. It
> > > would start with a forked version of CK which would then be modified to
> > > build and run in a C++ environment. The CK community and Samy are all
> > > positive about this - we are not the only ones who have wanted CK in
> C++.
> > > The changes would be essentially wrapper changes and additional
> template
> > /
> > > typing support, we would use the same underlying implementation. We
> could
> > > then integrate the CK++ into ATS and start using modern synchronization
> > > mechanisms.
> > >
> > >
> > Just to be clear, the 2nd paragraph is a proposed plan and we'd like
> > community feedback.
> >
>

Re: Concurrency Kit Future

Posted by Brian Geffon <br...@gmail.com>.
I like the idea of CK++, I'd love to see this, my only question is: who is
officially going to be the maintainer of CK++, will it be the CK community?
Also, would CK++ require C++11/14 or would it try to be backwards
compatible with older versions of C++?

Brian

On Tue, Jun 16, 2015 at 11:57 AM, Phil Sorber <so...@apache.org> wrote:

> On Tue, Jun 16, 2015 at 12:19 PM Alan Carroll
> <so...@yahoo-inc.com.invalid> wrote:
>
> >  During the 6.0 bug scrub / planning session there was a lot of
> discussion
> > of Concurrency Kit (libck). The fundamental issue is that CK does not
> > compile in a C++ environment and cannot be made to do so without
> > significant and incompatible API changes. This is also true for the
> header
> > files which means no C++ code can use CK. This is a bit of problem for
> > using CK in ATS, something we did not anticipate when we originally tried
> > to use CK. For this reason we have repeatedly put off building CK in the
> > official releases but now that it is clear we will never be able to use
> CK
> > as it is we have removed it entirely.
> >
> > Phil Sorber has discussed this extensively with Samy Al Bahra, the author
> > of Concurrency Kit and with the CK community. The best option at this
> point
> > is to create a new project, CK++, which will be a C++ version of CK. It
> > would start with a forked version of CK which would then be modified to
> > build and run in a C++ environment. The CK community and Samy are all
> > positive about this - we are not the only ones who have wanted CK in C++.
> > The changes would be essentially wrapper changes and additional template
> /
> > typing support, we would use the same underlying implementation. We could
> > then integrate the CK++ into ATS and start using modern synchronization
> > mechanisms.
> >
> >
> Just to be clear, the 2nd paragraph is a proposed plan and we'd like
> community feedback.
>

Re: Concurrency Kit Future

Posted by Phil Sorber <so...@apache.org>.
On Tue, Jun 16, 2015 at 12:19 PM Alan Carroll
<so...@yahoo-inc.com.invalid> wrote:

>  During the 6.0 bug scrub / planning session there was a lot of discussion
> of Concurrency Kit (libck). The fundamental issue is that CK does not
> compile in a C++ environment and cannot be made to do so without
> significant and incompatible API changes. This is also true for the header
> files which means no C++ code can use CK. This is a bit of problem for
> using CK in ATS, something we did not anticipate when we originally tried
> to use CK. For this reason we have repeatedly put off building CK in the
> official releases but now that it is clear we will never be able to use CK
> as it is we have removed it entirely.
>
> Phil Sorber has discussed this extensively with Samy Al Bahra, the author
> of Concurrency Kit and with the CK community. The best option at this point
> is to create a new project, CK++, which will be a C++ version of CK. It
> would start with a forked version of CK which would then be modified to
> build and run in a C++ environment. The CK community and Samy are all
> positive about this - we are not the only ones who have wanted CK in C++.
> The changes would be essentially wrapper changes and additional template /
> typing support, we would use the same underlying implementation. We could
> then integrate the CK++ into ATS and start using modern synchronization
> mechanisms.
>
>
Just to be clear, the 2nd paragraph is a proposed plan and we'd like
community feedback.