Hi Sree,

Thanks for the heads up.

Best,
Anirudh

On Mon, Sep 11, 2017 at 3:07 PM, Sree Kuchibhotla <[email protected]> wrote:

> Hi Anirudh,
> Sure you could go with latest version - but keep in mind that we MAY
> change num_cqs() to be equal to the number of cores in a future version.
> Same goes for other settings - but they are less likely to change though.
>
> So if having one completion queue and a minimum of one polling thread is a
> hard-requirement for you, I recommend actually overriding the defaults in
> your code (like I mentioned earlier)
>
> -Sree
>
> On Mon, Sep 11, 2017 at 2:59 PM, Anirudh Kasturi <[email protected]>
> wrote:
>
>> Great !  I found on github for grpc version 1.6.0, the default settings
>> are :
>>
>> num_cqs(1), min_pollers(1), max_pollers(2), cq_timeout_msec(10000) {}
>> Probably I am better off going with the latest version then. Thanks again
>> Sree.
>>
>> On Mon, Sep 11, 2017 at 2:53 PM, Sree Kuchibhotla <[email protected]>
>> wrote:
>>
>>> Yes, it is elastic.
>>>
>>> It will dial the number of threads down to 1 thread  (to be more
>>> precise, it will dial down to whatever is set in the Se
>>> rverBuilder::SyncServerOption::MIN_POLLERS setting - which is "1" by
>>> default. Also, this is a "per-completion" queue setting)
>>>
>>> thanks,
>>>
>>> -Sree
>>>
>>> On Mon, Sep 11, 2017 at 2:46 PM, Anirudh Kasturi <[email protected]
>>> > wrote:
>>>
>>>> Hi Sree it worked.  So one more question.  I believe there is a timeout
>>>> for the worker threads.  In case there are more requests coming in and the
>>>> grpc server spins up new worker threads from the pool based on the incoming
>>>> requests,  once those requests are processed,  would the grpc server spin
>>>> them down back again?  Is it that elastic?
>>>>
>>>> Thanks,
>>>> Anirudh
>>>>
>>>> On Mon, Sep 11, 2017 at 1:24 PM, Anirudh Kasturi <
>>>> [email protected]> wrote:
>>>>
>>>>> Thanks a lot Sree.  This is very helpful.  I will also make sure I
>>>>> upgrade my grpc version.
>>>>>
>>>>> Best,
>>>>> Anirudh
>>>>>
>>>>> On Mon, Sep 11, 2017 at 12:15 PM, Sree Kuchibhotla <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi Anirudh,
>>>>>> There is no direct way of reducing the number of worker threads. Btw,
>>>>>> I am assuming you are using gRPC version earlier than the latest 1.6.
>>>>>>
>>>>>> If so, when you are using a Synchronous grpc server, it by default
>>>>>> creates as many "completion queues" as the number of cores (In the latest
>>>>>> version of grpc, we only create ONE completion queue).
>>>>>> Each completion queue will have "atleast one" worker thread polling
>>>>>> for incoming new RPCs  (i.e If a worker thread is busy handling an RPC it
>>>>>> just received, we create a new worker thread to poll for new RPCs. So
>>>>>> clearly, on a server that handles multiple RPCs in parallel, the number 
>>>>>> of
>>>>>> worker threads at any point may be greater than 1).
>>>>>>
>>>>>>
>>>>>> In anycase, you can reduce the "minimum number of workers" to 1 by
>>>>>> having the Sync server create only one completion queue the following 
>>>>>> way:
>>>>>>
>>>>>> ServerBuilder builder
>>>>>> ...
>>>>>> builder.SetSyncServerOption(ServerBuilder::SyncServerOption::NUM_CQS,
>>>>>> 1)
>>>>>>
>>>>>>
>>>>>> (Here
>>>>>> <https://github.com/grpc/grpc/blob/b6ef6e9ff5701d15a352f38a450de2af49d19657/test/cpp/end2end/end2end_test.cc#L265>
>>>>>> is an example of a grpc test  that sets the number of completion queues 
>>>>>> to
>>>>>> 4)
>>>>>>
>>>>>> thanks,
>>>>>> Sree
>>>>>>
>>>>>> On Mon, Sep 11, 2017 at 11:35 AM, Anirudh Kasturi <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Hello folks,
>>>>>>>
>>>>>>> I noticed that when I bring up my grpc server, it spins up worker
>>>>>>> threads using the grpc::ThreadManager::WorkerThread::Run().
>>>>>>> The number of worker threads spun = Number of Cores on the server I
>>>>>>> bring up my GRPC server on.
>>>>>>>
>>>>>>> For eg : If I have a VM with 2 cores,  the grpc server brings up two
>>>>>>> worker threads. If the VM has 40 cores it brings up 40 worker threads.
>>>>>>> In reality, I just need one worker thread. Is it possible to bring
>>>>>>> up only one worker thread?  Is that configurable? Also is there a way I 
>>>>>>> can
>>>>>>> name the thread so that we have a way to track it?  Thank you.
>>>>>>>
>>>>>>> Best,
>>>>>>> Anirudh
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "grpc.io" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> To post to this group, send email to [email protected].
>>>>>>> Visit this group at https://groups.google.com/group/grpc-io.
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/d/msgid/grpc-io/c744a0c7-c248-4a16
>>>>>>> -9bf1-df7fba045fe0%40googlegroups.com
>>>>>>> <https://groups.google.com/d/msgid/grpc-io/c744a0c7-c248-4a16-9bf1-df7fba045fe0%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/CAOOzfuyG1TSFHC0diNNLgr5iZZ_s8CJQX24-W3i5U2u8ztdPFw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to