Nomad can be extended to support custom schedulers?

189 views
Skip to first unread message

pa...@draic.org

unread,
Apr 8, 2019, 11:41:04 AM4/8/19
to Nomad
Hi,

In this document: https://www.nomadproject.io/docs/internals/scheduling/scheduling.html there is the statement "Nomad can be extended to support custom schedulers as well." Is this the case? There are no other references to this anywhere in the documentation that I could find. A very quick perusal of the source code also suggests otherwise.

The reason why I ask is that we are evaluating Nomad for our needs, and the scheduler is missing a crucial feature. If the scheduler were plugable, we might consider writing a custom one that meets our needs.

Cheers,
Pedro


Chris Baker

unread,
Apr 9, 2019, 9:20:42 AM4/9/19
to Nomad
Hi Pedro, 

The codebase was written such that schedulers are modular; adding a custom scheduler requires implementing a Go interface and registering it with the server. However, the scheduler system currently is not pluggable, nor is there any plan of making this system pluggable. 

What sort of scheduler functionality are you looking to implement? We would be interested in hearing about your use cases. 

Chris

pa...@draic.org

unread,
Apr 9, 2019, 11:26:30 AM4/9/19
to Nomad
The codebase was written such that schedulers are modular; adding a custom scheduler requires implementing a Go interface and registering it with the server. However, the scheduler system currently is not pluggable

Ok, thanks. This was the impression I got from the source code.
 
What sort of scheduler functionality are you looking to implement? We would be interested in hearing about your use cases.

We need to do scheduling with GPU resources. We are running a fairly complex processing pipeline where several services use GPU resources for NN inferencing. Depending on the service, anywhere from 1 to about a dozen instances may fit in a single GPU.

We need the scheduler to treat GPU processing and RAM as managed allocatable resources (just like CPU and main RAM). The current state of the Nomad scheduler, together with the nvidia device plugin, seems tantalizingly close to what we need. It falls down because it treats GPUs as indivisible resources.

Reply all
Reply to author
Forward
0 new messages