@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
> > >
> >
>

Reply via email to