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

Reply via email to