You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by Anindya Sinha <an...@apple.com> on 2016/07/07 08:36:32 UTC

Support for shared resources

Hi

This is a followup/update to the work that has been going on for the support for shared resources. For reference, the epic is MESOS-3421 (https://issues.apache.org/jira/browse/MESOS-3421 <https://issues.apache.org/jira/browse/MESOS-3421>).

Support for shared resources involves the following high level design points that I would like to share (details in the design document below):
A shared resource can be used by multiple tasks simultaneously (and hence can be offered to multiple frameworks at the same time).
Any resource can be marked as a shared resource by setting SharedInfo in the Resource protobuf.
Although this functionality is applicable to any resource, this feature is being enabled for persistent volumes only.
Shared persistent volumes can be created and destroyed via the existing CREATE and DESTROY calls.
A shared persistent volume can be destroyed only if there is no running or pending task that has this shared resource assigned. When a shared persistent volume is destroyed, pending offers containing this shared persistent volume are rescinded.
Internally, the Resources class has been refactored to include the shared count for each Resource contained in the Resources object.
Resource arithmetic in Resources class takes into consideration the shared count for shared resources.
There is no change in the algorithm for determination of dominant resource. To account for fairness when shared resources are involved, we assign equal share of the shared resource to all frameworks to which the shared resource is allocated to.
Frameworks need to opt in via a capability (SHAREABLE_RESOURCES) to receive shared resources in the offers received from mesos master. If this capability is not opted for, the functionality is same as in the HEAD today.

For more details on the functionality and high level implementation, please refer to the design document:
https://docs.google.com/document/d/18O4SH3H4BQriW6CTrg3TlQTiVC-rBRsMePhz99Y_bss/edit?usp=sharing <https://docs.google.com/document/d/18O4SH3H4BQriW6CTrg3TlQTiVC-rBRsMePhz99Y_bss/edit?usp=sharing>

Thanks
Anindya