Re: Usecases for the per-task latency-nice attribute

From: Tim Chen
Date: Thu Sep 19 2019 - 12:27:23 EST


On 9/19/19 1:37 AM, Parth Shah wrote:
>
>>
>> $> Separating AVX512 tasks and latency sensitive tasks on separate cores
>> -------------------------------------------------------------------------
>> Another usecase we are considering is to segregate those workload that will pull down
>> core cpu frequency (e.g. AVX512) from workload that are latency sensitive.
>> There are certain tasks that need to provide a fast response time (latency sensitive)
>> and they are best scheduled on cpu that has a lighter load and not have other
>> tasks running on the sibling cpu that could pull down the cpu core frequency.
>>
>> Some users are running machine learning batch tasks with AVX512, and have observed
>> that these tasks affect the tasks needing a fast response. They have to
>> rely on manual CPU affinity to separate these tasks. With appropriate
>> latency hint on task, the scheduler can be taught to separate them.
>>
>
> Thanks for listing out your usecase.
>
> This is interesting. If scheduler has the knowledge of AVX512 tasks then
> with these interface the scheduler can refrain from picking such core
> occupying AVX512 tasks for the task with "latency-nice = -19".
>
> So I guess for this specific use-case, the value for such per-task
> attribute should have range (most probably [-19,20]) and the name
> "latency-nice" also suits the need.

Yes.

>
> Do you have any specific values in mind for such attr?

Not really. I assume a [-19 20] range that the user who launch the
task will set. Probably something towards the -19 end for latency
sensitive task and something towards the 20 end for AVX512 tasks. And 0
as default for most tasks.

Tim