qcg.pilotjob.scheduleralgo module
- class qcg.pilotjob.scheduleralgo.SchedulerAlgorithm(resources=None)
Bases:
objectScheduling algorithm.
Initialize scheduling algorithm
- Parameters
resources (Resources, optional) – available resources
- allocate_cores(min_cores, max_cores=None)
Create allocation with maximum number of cores from given range.
The cores will be allocated in a linear method.
- Parameters
min_cores (int) – minimum requested number of cores
max_cores (int) – maximum requested number of cores
- Returns
created allocation None: not enough free resources
- Return type
- Raises
NotSufficientResources – when there are not enough resources avaiable
InvalidResourceSpec – when the min_cores < 0 or min_cores > max_cores
- allocate_job(reqs)
Create allocation for job with given resource requirements.
- Parameters
reqs (JobResources) – job’s resource requirements
- Returns
created allocation or None if not enough free resources
- Return type
- Raises
NotSufficientResources – when there are not enough resources avaiable
InvalidResourceSpec – when resource requirements are not valid