I don't think I understood the questions here, but let me add some
explanation and we can go from there.
Mesos will use DRF to choose an ordering amongst the roles that are
actively interested in obtaining resources. Within a role, we currently use
DRF again to choose an ordering amongst the frameworks in that role. The
simplified pseudo-code looks something like this:
for each agent:
for each role in drf_sorted(roles):
for each framework subscribed to role in drf_sorted(frameworks):
if framework already filtered these resources:
continue
else
allocate to framework
There is no strong concept of a "cycle" as you were referring to, that is,
mesos will not remember which offers were sent out during which time we ran
this overall loop. Currently, when resources are offered, as far as the
allocator is concerned, they are considered allocated to that role and
framework.
Mesos provides an --offer_timeout flag on the master after which the offer
will be rescinded.
If you could share a little more about what you're trying to accomplish in
your particular use case we could advise on how best to set things up.
On Thu, Nov 30, 2017 at 1:05 PM, bigggyan <[email protected]> wrote:
> Hello
> My understanding is, during a single DRF cycle mesos master will not offer
> same framework twice. I believe, if a framework rejects or left over offer
> after partial use will come to next eligible framework.
> Now the question is if one framework takes longer time to make decision,
> will the same DRF allocation cycle will stay alive to allocate rest of the
> resources to other users or master will start a new cycle?
> Is there any allocation cycle expiry period? I am using multiple in-house
> frameworks with same role and same weight with no quota set. Will
> appreciate your help to understand the resource allocation.
>
> Thanks
> Bigggyan
>