Perfect, thanks!


On Fri, 21 Feb 2020, 00:55 Qian Zhang, <zhq527...@gmail.com> wrote:

> if we wanted to support multiple tasks per executor, could we leverage the
>> mesos containeriser to easily put each task in its own cgroup?
>
>
> If what your custom executor does is similar with default executor (i.e.,
> launch each task in a task group as a nested container by calling Mesos
> agent API `LAUNCH_CONTAINER`), then the answer is yes since we are going to
> support nested cgroups for nested containers (i.e., each nested container
> can have its own cgroups) in Mesos containerizer soon.
>
>
> Regards,
> Qian Zhang
>
>
> On Fri, Feb 21, 2020 at 4:46 AM Vinod Kone <vinodk...@apache.org> wrote:
>
>> Andrei, Qian: Can one of you answer the above question?
>>
>> On Thu, Feb 20, 2020 at 7:15 PM Charles-François Natali <
>> cf.nat...@gmail.com> wrote:
>>
>>> Thanks for the quick reply!
>>>
>>> I think we're going to go for one executor per task for now, that's much
>>> simpler.
>>>
>>> Otherwise I was wondering - if we wanted to support multiple tasks per
>>> executor, could we leverage the mesos containeriser to easily put each task
>>> in its own cgroup?
>>>
>>>
>>>
>>> Is it just a matter of setting 'execu
>>> On Thu, 20 Feb 2020, 17:40 Vinod Kone, <vinodk...@apache.org> wrote:
>>>
>>>> Hi Charles,
>>>>
>>>> We are actually working on a new feature that puts each of the tasks
>>>> (of the default executor) in its own cgroup so that they can be
>>>> individually limited. See
>>>> https://issues.apache.org/jira/browse/MESOS-9916 . For custom
>>>> executor, you would be on your own to implement the same. Also, your custom
>>>> executor / scheduler should be able to limit one task per executor if you
>>>> so desire.
>>>>
>>>> On Thu, Feb 20, 2020 at 6:34 PM Charles-François Natali <
>>>> cf.nat...@gmail.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Is there a way to force Mesos to use one executor per task?
>>>>> The reason I would want to do that is for resources limits: for
>>>>> example, when using cgroup to limit CPU and memory, IIUC the containeriser
>>>>> sets limits corresponding to the sum of the resources allocated to the
>>>>> tasks managed by the underlying executor.
>>>>>
>>>>> Which means that for example if a task is allocated 1GB and another
>>>>> 2GB, if they are started by the same executor, the collarbone 
>>>>> containeriser
>>>>> will limit the total memory for the two tasks (plus the executor) to 3GB.
>>>>> But, unless I'm missing something, nothing prevents a process (assuming 
>>>>> one
>>>>> process per task with e.g. the command executor or a custom executor) from
>>>>> using more than its limit.
>>>>>
>>>>> Obviously it would be possible for the executor to enforce the
>>>>> individual limits itself using cgroup - does the command/default executor
>>>>> do that? - but in our case where we use a custom executor it would be 
>>>>> quite
>>>>> painful.
>>>>>
>>>>> Unless I'm missing something?
>>>>>
>>>>> Thanks in advance for suggestions,
>>>>>
>>>>> Charles
>>>>>
>>>>

Reply via email to