>Docker engine to create a Docker container as the task and set the resources of that container more than task's resources? As I known, we could not avoid this so far.
On Tue, Jun 28, 2016 at 10:52 AM, Qian Zhang <[email protected]> wrote: > @Vinod, what if the executor talks to Docker engine to create a Docker > container as the task and set the resources of that container more than > task's resources? Will we guard this? > > > Thanks, > Qian Zhang > > On Tue, Jun 28, 2016 at 8:12 AM, Vinod Kone <[email protected]> wrote: > > > A task doesn't get its own cgroup because task was supposed to represent > a > > unit of work. That unit of work doesn't have to be necessarily done via a > > unix process or container. For example, the executor might realize a task > > as a thread! > > > > That said, we did talk about providing an API for executors to launch > tasks > > in nested containers. I think > > https://issues.apache.org/jira/browse/MESOS-3333 is the tracking ticket. > > > > On Mon, Jun 27, 2016 at 7:00 AM, Timothy Anderegg < > > [email protected]> wrote: > > > > > 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 > > > > > > > > > > -- Best Regards, Haosdent Huang
