Attention
Fluxion/flux-sched (both refer to the same project) is under development and its interfaces are not yet stable. APIs are not exported or exposed to external consumers. This documentation is meant for developers of Fluxion.
Queue Manager
Queue management and job scheduling policies.
-
enum class Flux::queue_manager::job_state_kind_t
Values:
-
enumerator INIT
-
enumerator PENDING
-
enumerator REJECTED
-
enumerator RUNNING
-
enumerator ALLOC_RUNNING
-
enumerator CANCELED
-
enumerator COMPLETE
-
enumerator INIT
-
enum class Flux::queue_manager::job_selection_type_t
How a job was ultimately started by the scheduler. UNKNOWN: not yet allocated (or fcfs before allocation). IMMEDIATE: allocated on the first scheduling attempt with no prior reservations in the current backfill loop. BACKFILL: allocated after one or more other jobs had been reserved ahead of it in the current loop. RESERVED: allocated from a previous reservation if in the ALLOC state, or retained for a future reservation if annotation shown in the SCHED state. Note this state can be posted, then later cleared in the SCHED state if the reservation is lost.
Values:
-
enumerator UNKNOWN
-
enumerator IMMEDIATE
-
enumerator BACKFILL
-
enumerator RESERVED
-
enumerator UNKNOWN
-
using Flux::queue_manager::pending_key = std::tuple<unsigned int, double, uint64_t>
Helper typedef for use as a key in job state maps
-
using Flux::queue_manager::job_map_t = std::map<pending_key, flux_jobid_t>
-
const unsigned int Flux::queue_manager::MAX_QUEUE_DEPTH = 1000000
-
const unsigned int Flux::queue_manager::DEFAULT_QUEUE_DEPTH = 32
-
const unsigned int Flux::queue_manager::MAX_RESERVATION_DEPTH = 100000
-
const unsigned int Flux::queue_manager::HYBRID_RESERVATION_DEPTH = 64
-
inline const char *Flux::queue_manager::job_selection_type_str(job_selection_type_t mode)
Map a job_selection_type_t to the string reported in the RFC 27 sched.selection_type annotation on the alloc SUCCESS response.
-
std::shared_ptr<queue_policy_base_t> Flux::queue_manager::create_queue_policy(const std::string &policy, const std::string &reapi)
-
struct schedule_t
- #include <queue_policy_base.hpp>
Type to store schedule information such as the allocated or reserved (for backfill) resource set (R).
-
struct t_stamps_t
- #include <queue_policy_base.hpp>
Type to store various time stamps for queuing
-
class job_t
- #include <queue_policy_base.hpp>
Type to store a job's attributes.
-
class queue_policy_base_t : public Flux::resource_model::queue_adapter_base_t
- #include <queue_policy_base.hpp>
Queue policy base interface abstract class. Derived classes must implement its run_sched_loop and destructor methods. Insert, remove and pending_pop interface implementations are provided through its parent class (detail::queue_policy_base_impl_t).
Subclassed by Flux::queue_manager::detail::queue_policy_bf_base_t< reapi_type >, Flux::queue_manager::detail::queue_policy_fcfs_t< reapi_type >