A few suggested features (that are relevant for different use cases but possibly missing):
- Event driven: Can I create, and subscribe to notifications or events in the workload manager? The scheduler?
- Modular and extensible Can I easily write modules or plugins, and if so, for which components?
- Elasticity: Does the scheduler resources graph (the resources it sees) or jobs support elasticity? This would mean adding or subtracting resources from the global resources or job resources.
- Client design: Does the workload manager provision a client? Is the design based on requiring the user to remember multiple commands (e.g.,
srun sbatch) versus one central command with subcommands (e.g., flux run flux batch). The latter is easier for discoverability.
- Resource Types: Is the workload manager flexible to support new resource types (versus needing hard coded changes to code, etc).
- SDKs: Can I interact with the workload manager or scheduler programmatically via different languages and interfaces? E.g., Python, Go, Rust, C/C++ or more generally, RPC.
- API: Does the workload manager have an application programming interface (related to the above). This might be a restful API, but also could be RPC or similar.
- Scheduling policies: Can I select from an assortment of scheduling policies, and if so, can I change it as the user, or per job / instance?
- Nesting: Can I instantiate the workload manager under other workload managers?
- User space: What features are supported for me to do in user space (examples might be draining / undraining nodes, changing scheduling policies, etc).
- Workflow manager: Is the scheduler integrated into common workflow managers? Which ones?
Ping @milroy for adding comment. I'm still reading through the listing and will update here if I think of others.
A few suggested features (that are relevant for different use cases but possibly missing):
srunsbatch) versus one central command with subcommands (e.g.,flux runflux batch). The latter is easier for discoverability.Ping @milroy for adding comment. I'm still reading through the listing and will update here if I think of others.