The same is true with all frameworks I've used, such as Marathon - each executor manages one task (although it can have multiple "runs").
On Mon, Jun 27, 2016 at 9:49 AM haosdent <[email protected]> wrote: > Hi, @Dave If you use mesos-executor or mesos-docker-executor. It only would > launch one Task during executor lifecycle, so your problem does not exist. > > On Mon, Jun 27, 2016 at 5:38 PM, Dave Webb <[email protected]> wrote: > > > Hi, > > > > I'm currently familiarizing myself with the Mesos source code and have a > > conceptual question about executors, tasks and the containerizer. > > Basically, each executor gets its own container (and thus its own cgroup > > subtree ".../mesos/executor0" when using cgroup isolation). This achieves > > isolation between different executors. > > > > However, all Tasks which are eligible for the same executor, are just > > assigned to it and the corresponding executor is "enlarged". > > Yet, the individual tasks do not get their own container (and therefore > no > > cgroup subtree ".../mesos/executor0/task0" is created). > > > > From my understanding, this behavior implies that tasks within the same > > executor are not isolated at all (at least when using cgroups). > > Also when implementing your own executor, the API does not offer the > > possibility to create individual containers for tasks. > > > > I find this quite inconsistent: > > Tasks contain information about their assigned resources, but this > > information has different meaning depending on the executors. > > If a task has its own executor, its resources are isolated. But if there > > are multiple tasks within one executor, the sum of all resources is > shared > > within these tasks. > > > > Have I missed anything or why was this behavior chosen? > > Wouldn't it be more consistent if resource were assigned to executors > > instead of tasks? > > > > Thank you very much! > > Dave > > > > > > -- > Best Regards, > Haosdent Huang >
