Replies: 1 comment
-
|
I meant to come around to this sooner, but got sidetracked with other things. This functionality in the past is something I've coupled together with writing out scripts. By leaving this as a class API, we can now let a tool handle what it wants to do with the header, submission command, etc. If a tool wants to write out a script, it can rely on the Obviously the above is simplified, but I want to get to something that's a bit more simple like above. Maestro couples the MPI with the scheduling and has hidden methods that subclasses have to override. It's not the most seamless thing in the world, and introduces complexities/required hardcoding when not using the scheduler's flavor of MPI. Relatedly, I had an idea about adding methods to this for getting scheduler specific items from the environment (or for performing smart queries if a scheduler supports it). Something that would allow someone to write a Python worker that could know how much time was left, or to query the total resources in an allocation, etc. This functionality would also make it much easier to write resource aware workers that could be allocated and then used to manage pools of resources. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
So this issue documents the proposed breakdown for the design of a
SchedulingInterfaceandMpiInterface. From prior experience it is horrible to couple the MPI generation with the scheduling interface, and it is also horrible to rely on an actual instance of the class because it requires generating a bunch of instances when a class method API would do just fine. There would be commiserate enumerations to standardize returns.I propose the following:
A generalized version of the above
SchedulingInterfacecan be created that would take a serialized specification that could be indexed into that would only make it so that specialized cases needed a custom adapter (think something like Flux's Python APIs).I'll write up a second comment about the MPI interface in a few.
Beta Was this translation helpful? Give feedback.
All reactions