Hi all, we would like to start working on modularising the allocator, but before gather some community feedback. The corresponding ticket is here: https://issues.apache.org/jira/browse/MESOS-2160.
The motivation for this is to give ourselves, Mesos users, and researchers an easy way to tweak resource allocation policies. Currently Mesos supports only DRF allocator, changing which requires hacking Mesos source code, which, in turn, sets a high entry barrier. We outline three stages: 1. Replace AllocatorProcess with Allocator as an entity that implements allocation policy. Current design prescribes to subclass AllocatorProcess for implementing new allocators. This is not consistent with other similar Mesos components like Isolator, Authenticator. The proposed change will liberate allocators from the necessity to use libprocess’ process under the hood. This will therefore affect allocator tests and test helpers like MockAllocatorProcess (will become MockAllocator). The issue is tracked here: https://issues.apache.org/jira/browse/MESOS-2213. 2. Implement allocator module. Given Allocator class is a base class for all allocators, this should be trivial and similar to how isolator and authenticator modules are implemented. 3. Provide an example and / or test allocator module. What is NOT part of this effort: new allocation algorithms, resource accounting, etc. Best, Alex
