You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@dubbo.apache.org by ding peng <pr...@gmail.com> on 2019/07/09 09:57:20 UTC

Re: thread pool improvement

  Pls help me check this. Many thanks and sorry for the delay of my proposal :)  https://docs.google.com/document/d/1C3aP7KUqNubgKvFHMmhyfupCFpowTmyblh-Erg-PR0U/edit#heading=h.vav52gmsokfk <https://docs.google.com/document/d/1C3aP7KUqNubgKvFHMmhyfupCFpowTmyblh-Erg-PR0U/edit#heading=h.vav52gmsokfk>

> On Jun 3, 2019, at 3:32 PM, Ian Luo <ia...@gmail.com> wrote:
> 
> Pls. go ahead. You may need to talk further with Jun. But anyway, I am
> looking forward to your proposal.
> 
> I will raise a pull request in several days about micro benchmark with jmh
> 
> You may need to consider to add it into dubbo-benchmark.
> 
> Thanks,
> -Ian.
> 
> On Mon, Jun 3, 2019 at 3:01 PM ding peng <pr...@gmail.com> wrote:
> 
>> Ian,
>> 
>>  I will raise a pull request in several days about micro benchmark with
>> jmh. Then I can help with this disruptor implement, then we can discuss
>> further about this.
>> 
>> Also, I found it may have some connection with chickenlj’s  optimizing
>> thread model  https://github.com/apache/dubbo/pull/4131 <
>> https://github.com/apache/dubbo/pull/4131> . But I haven’t dig into this
>> yet :)
>> 
>> Looking forward to bringing some improvement for dubbos’ thread model.
>> 
>> Brs,
>> Moriadry
>> 
>>> On Jun 3, 2019, at 1:31 PM, Ian Luo <ia...@gmail.com> wrote:
>>> 
>>> Moriadry,
>>> 
>>> It sounds a interesting proposal. Let us know when it's ready :)
>>> 
>>> Thanks,
>>> -Ian.
>>> 
>>> 
>>> On Tue, May 28, 2019 at 11:09 PM ding peng <pr...@gmail.com>
>> wrote:
>>> 
>>>> Yes, I also believe we need  builtin benchmark for dubbo, like netty or
>>>> grpc always does(micro benchmarks based on jmh). But there are so many
>>>> configuration on registry, transport, serialization etc. for dubbo.
>> Maybe
>>>> we just can use one certain config to implement this?
>>>> 
>>>> BRs
>>>> Moriadry
>>>> 
>>>>> On May 23, 2019, at 1:55 PM, YunKun Huang <hy...@apache.org> wrote:
>>>>> 
>>>>> It sounds good, and using disruptor may has some performance
>>>> improvement.
>>>>> 
>>>>> But before do this, I think we need figure out a official way or a
>>>> common way to do benchmark first.
>>>>> 
>>>>> This project maybe a good start:
>>>> https://github.com/apache/incubator-dubbo-benchmark but looks like it
>>>> doesn't have update for a long time
>>>>> 
>>>>> On 2019/05/21 11:50:58, ding peng <pr...@gmail.com> wrote:
>>>>>> Hi,
>>>>>> 
>>>>>>  There are many handler threads and worker threads in Dubbo, Do we
>>>> have a plan to use disruptor as one of the common thread pool implement,
>>>> Disruptor library is known to be one of the fastest ways of implementing
>>>> the queues that are required for communication between producers and
>>>> consumers.
>>>>>> 
>>>>>>  With disruptor builtin, I believe there will be some performance
>>>> improvement on thread pool.
>>>>>> 
>>>>>> Moriadry
>>>> 
>>>> 
>> 
>> 


Re: thread pool improvement

Posted by Ian Luo <ia...@gmail.com>.
Sure, pls. go ahead, look forward to your pull request.

-Ian.

On Thu, Jul 11, 2019 at 11:40 AM ding peng <pr...@gmail.com> wrote:

> Yes, this is just an initial version. I can make it configurable if we
> discuss and make sure the implement is just correct!  Bucket size, blocking
> strategy, producer type and so on,  are all  configurable, which can be
> explicitly set by user.
>
> I’m looking forward to your opinions on it.
>
> Thanks,
> -moriadry
>
> > On Jul 11, 2019, at 11:25 AM, Ian Luo <ia...@gmail.com> wrote:
> >
> > The result looks promising. Is it possible to introduce disruptor as a
> > thread pool impl user can explicitly choose? Any other's opinion on this?
> >
> > Thanks,
> > -Ian.
> >
> > On Tue, Jul 9, 2019 at 5:57 PM ding peng <pr...@gmail.com> wrote:
> >
> >>  Pls help me check this. Many thanks and sorry for the delay of my
> >> proposal :)
> >>
> https://docs.google.com/document/d/1C3aP7KUqNubgKvFHMmhyfupCFpowTmyblh-Erg-PR0U/edit#heading=h.vav52gmsokfk
> >> <
> >>
> https://docs.google.com/document/d/1C3aP7KUqNubgKvFHMmhyfupCFpowTmyblh-Erg-PR0U/edit#heading=h.vav52gmsokfk
> >>>
> >>
> >>> On Jun 3, 2019, at 3:32 PM, Ian Luo <ia...@gmail.com> wrote:
> >>>
> >>> Pls. go ahead. You may need to talk further with Jun. But anyway, I am
> >>> looking forward to your proposal.
> >>>
> >>> I will raise a pull request in several days about micro benchmark with
> >> jmh
> >>>
> >>> You may need to consider to add it into dubbo-benchmark.
> >>>
> >>> Thanks,
> >>> -Ian.
> >>>
> >>> On Mon, Jun 3, 2019 at 3:01 PM ding peng <pr...@gmail.com>
> wrote:
> >>>
> >>>> Ian,
> >>>>
> >>>> I will raise a pull request in several days about micro benchmark with
> >>>> jmh. Then I can help with this disruptor implement, then we can
> discuss
> >>>> further about this.
> >>>>
> >>>> Also, I found it may have some connection with chickenlj’s  optimizing
> >>>> thread model  https://github.com/apache/dubbo/pull/4131 <
> >>>> https://github.com/apache/dubbo/pull/4131> . But I haven’t dig into
> >> this
> >>>> yet :)
> >>>>
> >>>> Looking forward to bringing some improvement for dubbos’ thread model.
> >>>>
> >>>> Brs,
> >>>> Moriadry
> >>>>
> >>>>> On Jun 3, 2019, at 1:31 PM, Ian Luo <ia...@gmail.com> wrote:
> >>>>>
> >>>>> Moriadry,
> >>>>>
> >>>>> It sounds a interesting proposal. Let us know when it's ready :)
> >>>>>
> >>>>> Thanks,
> >>>>> -Ian.
> >>>>>
> >>>>>
> >>>>> On Tue, May 28, 2019 at 11:09 PM ding peng <pr...@gmail.com>
> >>>> wrote:
> >>>>>
> >>>>>> Yes, I also believe we need  builtin benchmark for dubbo, like netty
> >> or
> >>>>>> grpc always does(micro benchmarks based on jmh). But there are so
> many
> >>>>>> configuration on registry, transport, serialization etc. for dubbo.
> >>>> Maybe
> >>>>>> we just can use one certain config to implement this?
> >>>>>>
> >>>>>> BRs
> >>>>>> Moriadry
> >>>>>>
> >>>>>>> On May 23, 2019, at 1:55 PM, YunKun Huang <hy...@apache.org>
> >> wrote:
> >>>>>>>
> >>>>>>> It sounds good, and using disruptor may has some performance
> >>>>>> improvement.
> >>>>>>>
> >>>>>>> But before do this, I think we need figure out a official way or a
> >>>>>> common way to do benchmark first.
> >>>>>>>
> >>>>>>> This project maybe a good start:
> >>>>>> https://github.com/apache/incubator-dubbo-benchmark but looks like
> it
> >>>>>> doesn't have update for a long time
> >>>>>>>
> >>>>>>> On 2019/05/21 11:50:58, ding peng <pr...@gmail.com> wrote:
> >>>>>>>> Hi,
> >>>>>>>>
> >>>>>>>> There are many handler threads and worker threads in Dubbo, Do we
> >>>>>> have a plan to use disruptor as one of the common thread pool
> >> implement,
> >>>>>> Disruptor library is known to be one of the fastest ways of
> >> implementing
> >>>>>> the queues that are required for communication between producers and
> >>>>>> consumers.
> >>>>>>>>
> >>>>>>>> With disruptor builtin, I believe there will be some performance
> >>>>>> improvement on thread pool.
> >>>>>>>>
> >>>>>>>> Moriadry
> >>>>>>
> >>>>>>
> >>>>
> >>>>
> >>
> >>
>
>

Re: thread pool improvement

Posted by ding peng <pr...@gmail.com>.
Yes, this is just an initial version. I can make it configurable if we discuss and make sure the implement is just correct!  Bucket size, blocking strategy, producer type and so on,  are all  configurable, which can be explicitly set by user.

I’m looking forward to your opinions on it.

Thanks,
-moriadry

> On Jul 11, 2019, at 11:25 AM, Ian Luo <ia...@gmail.com> wrote:
> 
> The result looks promising. Is it possible to introduce disruptor as a
> thread pool impl user can explicitly choose? Any other's opinion on this?
> 
> Thanks,
> -Ian.
> 
> On Tue, Jul 9, 2019 at 5:57 PM ding peng <pr...@gmail.com> wrote:
> 
>>  Pls help me check this. Many thanks and sorry for the delay of my
>> proposal :)
>> https://docs.google.com/document/d/1C3aP7KUqNubgKvFHMmhyfupCFpowTmyblh-Erg-PR0U/edit#heading=h.vav52gmsokfk
>> <
>> https://docs.google.com/document/d/1C3aP7KUqNubgKvFHMmhyfupCFpowTmyblh-Erg-PR0U/edit#heading=h.vav52gmsokfk
>>> 
>> 
>>> On Jun 3, 2019, at 3:32 PM, Ian Luo <ia...@gmail.com> wrote:
>>> 
>>> Pls. go ahead. You may need to talk further with Jun. But anyway, I am
>>> looking forward to your proposal.
>>> 
>>> I will raise a pull request in several days about micro benchmark with
>> jmh
>>> 
>>> You may need to consider to add it into dubbo-benchmark.
>>> 
>>> Thanks,
>>> -Ian.
>>> 
>>> On Mon, Jun 3, 2019 at 3:01 PM ding peng <pr...@gmail.com> wrote:
>>> 
>>>> Ian,
>>>> 
>>>> I will raise a pull request in several days about micro benchmark with
>>>> jmh. Then I can help with this disruptor implement, then we can discuss
>>>> further about this.
>>>> 
>>>> Also, I found it may have some connection with chickenlj’s  optimizing
>>>> thread model  https://github.com/apache/dubbo/pull/4131 <
>>>> https://github.com/apache/dubbo/pull/4131> . But I haven’t dig into
>> this
>>>> yet :)
>>>> 
>>>> Looking forward to bringing some improvement for dubbos’ thread model.
>>>> 
>>>> Brs,
>>>> Moriadry
>>>> 
>>>>> On Jun 3, 2019, at 1:31 PM, Ian Luo <ia...@gmail.com> wrote:
>>>>> 
>>>>> Moriadry,
>>>>> 
>>>>> It sounds a interesting proposal. Let us know when it's ready :)
>>>>> 
>>>>> Thanks,
>>>>> -Ian.
>>>>> 
>>>>> 
>>>>> On Tue, May 28, 2019 at 11:09 PM ding peng <pr...@gmail.com>
>>>> wrote:
>>>>> 
>>>>>> Yes, I also believe we need  builtin benchmark for dubbo, like netty
>> or
>>>>>> grpc always does(micro benchmarks based on jmh). But there are so many
>>>>>> configuration on registry, transport, serialization etc. for dubbo.
>>>> Maybe
>>>>>> we just can use one certain config to implement this?
>>>>>> 
>>>>>> BRs
>>>>>> Moriadry
>>>>>> 
>>>>>>> On May 23, 2019, at 1:55 PM, YunKun Huang <hy...@apache.org>
>> wrote:
>>>>>>> 
>>>>>>> It sounds good, and using disruptor may has some performance
>>>>>> improvement.
>>>>>>> 
>>>>>>> But before do this, I think we need figure out a official way or a
>>>>>> common way to do benchmark first.
>>>>>>> 
>>>>>>> This project maybe a good start:
>>>>>> https://github.com/apache/incubator-dubbo-benchmark but looks like it
>>>>>> doesn't have update for a long time
>>>>>>> 
>>>>>>> On 2019/05/21 11:50:58, ding peng <pr...@gmail.com> wrote:
>>>>>>>> Hi,
>>>>>>>> 
>>>>>>>> There are many handler threads and worker threads in Dubbo, Do we
>>>>>> have a plan to use disruptor as one of the common thread pool
>> implement,
>>>>>> Disruptor library is known to be one of the fastest ways of
>> implementing
>>>>>> the queues that are required for communication between producers and
>>>>>> consumers.
>>>>>>>> 
>>>>>>>> With disruptor builtin, I believe there will be some performance
>>>>>> improvement on thread pool.
>>>>>>>> 
>>>>>>>> Moriadry
>>>>>> 
>>>>>> 
>>>> 
>>>> 
>> 
>> 


Re: thread pool improvement

Posted by Ian Luo <ia...@gmail.com>.
The result looks promising. Is it possible to introduce disruptor as a
thread pool impl user can explicitly choose? Any other's opinion on this?

Thanks,
-Ian.

On Tue, Jul 9, 2019 at 5:57 PM ding peng <pr...@gmail.com> wrote:

>   Pls help me check this. Many thanks and sorry for the delay of my
> proposal :)
> https://docs.google.com/document/d/1C3aP7KUqNubgKvFHMmhyfupCFpowTmyblh-Erg-PR0U/edit#heading=h.vav52gmsokfk
> <
> https://docs.google.com/document/d/1C3aP7KUqNubgKvFHMmhyfupCFpowTmyblh-Erg-PR0U/edit#heading=h.vav52gmsokfk
> >
>
> > On Jun 3, 2019, at 3:32 PM, Ian Luo <ia...@gmail.com> wrote:
> >
> > Pls. go ahead. You may need to talk further with Jun. But anyway, I am
> > looking forward to your proposal.
> >
> > I will raise a pull request in several days about micro benchmark with
> jmh
> >
> > You may need to consider to add it into dubbo-benchmark.
> >
> > Thanks,
> > -Ian.
> >
> > On Mon, Jun 3, 2019 at 3:01 PM ding peng <pr...@gmail.com> wrote:
> >
> >> Ian,
> >>
> >>  I will raise a pull request in several days about micro benchmark with
> >> jmh. Then I can help with this disruptor implement, then we can discuss
> >> further about this.
> >>
> >> Also, I found it may have some connection with chickenlj’s  optimizing
> >> thread model  https://github.com/apache/dubbo/pull/4131 <
> >> https://github.com/apache/dubbo/pull/4131> . But I haven’t dig into
> this
> >> yet :)
> >>
> >> Looking forward to bringing some improvement for dubbos’ thread model.
> >>
> >> Brs,
> >> Moriadry
> >>
> >>> On Jun 3, 2019, at 1:31 PM, Ian Luo <ia...@gmail.com> wrote:
> >>>
> >>> Moriadry,
> >>>
> >>> It sounds a interesting proposal. Let us know when it's ready :)
> >>>
> >>> Thanks,
> >>> -Ian.
> >>>
> >>>
> >>> On Tue, May 28, 2019 at 11:09 PM ding peng <pr...@gmail.com>
> >> wrote:
> >>>
> >>>> Yes, I also believe we need  builtin benchmark for dubbo, like netty
> or
> >>>> grpc always does(micro benchmarks based on jmh). But there are so many
> >>>> configuration on registry, transport, serialization etc. for dubbo.
> >> Maybe
> >>>> we just can use one certain config to implement this?
> >>>>
> >>>> BRs
> >>>> Moriadry
> >>>>
> >>>>> On May 23, 2019, at 1:55 PM, YunKun Huang <hy...@apache.org>
> wrote:
> >>>>>
> >>>>> It sounds good, and using disruptor may has some performance
> >>>> improvement.
> >>>>>
> >>>>> But before do this, I think we need figure out a official way or a
> >>>> common way to do benchmark first.
> >>>>>
> >>>>> This project maybe a good start:
> >>>> https://github.com/apache/incubator-dubbo-benchmark but looks like it
> >>>> doesn't have update for a long time
> >>>>>
> >>>>> On 2019/05/21 11:50:58, ding peng <pr...@gmail.com> wrote:
> >>>>>> Hi,
> >>>>>>
> >>>>>>  There are many handler threads and worker threads in Dubbo, Do we
> >>>> have a plan to use disruptor as one of the common thread pool
> implement,
> >>>> Disruptor library is known to be one of the fastest ways of
> implementing
> >>>> the queues that are required for communication between producers and
> >>>> consumers.
> >>>>>>
> >>>>>>  With disruptor builtin, I believe there will be some performance
> >>>> improvement on thread pool.
> >>>>>>
> >>>>>> Moriadry
> >>>>
> >>>>
> >>
> >>
>
>