Hi Itamar,

Thanks for the patch! It looks like Niklas and Jie has looked at the patch
and I'm sure they'll commit it soon, if not I'll nudge them :)

2. I would imagine there could be a "cleaner" way (from a framework author
> perspective) to do that, by setting a policy or a filter or something, that
> communicates to the master that the scheduler would like to receive only
> offers that meet some criteria (e.g. min_cpu, min_mem, etc.). effectively,
> moving the complexity of holding on to offers from the framework to the
> master.
>

I don't think the ability to request for "only offer me resources that
contains: [(cpus, 8), (mem, 1048)]" can actually replace the current
ability of the frameworks, since the framework can currently build up the
resources while holding onto the ones it was given. For example, suppose
[(cpus, 2), (mem, 1048)] became available but the mesos master doesn't
offer it to the framework because it does not meet the requirement, and
instead offers it to another framework. Then [(cpus, 6)] becomes available
and it still doesn't meet the requirement, so it gets offered to yet
another framework. In order to avoid this situation, the framework would
have to request for something like "offer me at least [(cpus, 8), (mem,
1048)] once you have built it up". I think we could support a mechanism
like this via some form of "resource request".

It may also be satisfied by a reservation of some form. Some of these
mechanisms such as "offer reservations" are described in MESOS-1791
<https://issues.apache.org/jira/browse/MESOS-1791>.

Is such a thing possible in mesos?


Currently no, but it will be coming!

Was it an explicit design decision to keep such logic at framework level?


You may have noticed that there already exists a *Request* message in
*mesos.proto* which currently does nothing. So while the logic lives at the
framework-level right now, I don't think it was an explicit design decision
to keep it there in the long run.

MPark.

Reply via email to