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
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>
using Flux::queue_manager::job_map_iter = job_map_t::iterator
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
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 >