pub trait DynamicPlacementStrategy {
    // Required methods
    fn on_stage_ready(
        &mut self,
        dag_id: usize,
        stage_id: usize,
        graph: &Dag,
        input_data: &BTreeMap<usize, Vec<DataItem>>,
        input_data_shuffled: &BTreeMap<usize, Vec<Vec<DataItem>>>,
        dfs: &DistributedFileSystem,
        compute_host_info: &BTreeMap<Id, ComputeHost>,
        network: &Network
    ) -> Vec<StageActions>;
    fn on_task_completed(
        &mut self,
        dag_id: usize,
        stage_id: usize,
        task: usize,
        graph: &Dag,
        input_data: &BTreeMap<usize, Vec<DataItem>>,
        input_data_shuffled: &BTreeMap<usize, Vec<Vec<DataItem>>>,
        dfs: &DistributedFileSystem,
        compute_host_info: &BTreeMap<Id, ComputeHost>,
        network: &Network
    ) -> Vec<StageActions>;
    fn on_stage_completed(
        &mut self,
        dag_id: usize,
        stage_id: usize,
        graph: &Dag,
        input_data: &BTreeMap<usize, Vec<DataItem>>,
        input_data_shuffled: &BTreeMap<usize, Vec<Vec<DataItem>>>,
        dfs: &DistributedFileSystem,
        compute_host_info: &BTreeMap<Id, ComputeHost>,
        network: &Network
    ) -> Vec<StageActions>;

    // Provided method
    fn register_dag(&mut self, _dag_id: usize, _graph: &Dag) { ... }
}
Expand description

Dynamic placement strategy.

It receives callbacks for some simulation events and can place some unplaced tasks from ready or running stages in reponse.

Required Methods§

source

fn on_stage_ready( &mut self, dag_id: usize, stage_id: usize, graph: &Dag, input_data: &BTreeMap<usize, Vec<DataItem>>, input_data_shuffled: &BTreeMap<usize, Vec<Vec<DataItem>>>, dfs: &DistributedFileSystem, compute_host_info: &BTreeMap<Id, ComputeHost>, network: &Network ) -> Vec<StageActions>

Callback when a stage of some DAG is ready.

source

fn on_task_completed( &mut self, dag_id: usize, stage_id: usize, task: usize, graph: &Dag, input_data: &BTreeMap<usize, Vec<DataItem>>, input_data_shuffled: &BTreeMap<usize, Vec<Vec<DataItem>>>, dfs: &DistributedFileSystem, compute_host_info: &BTreeMap<Id, ComputeHost>, network: &Network ) -> Vec<StageActions>

Callback when some task is completed.

source

fn on_stage_completed( &mut self, dag_id: usize, stage_id: usize, graph: &Dag, input_data: &BTreeMap<usize, Vec<DataItem>>, input_data_shuffled: &BTreeMap<usize, Vec<Vec<DataItem>>>, dfs: &DistributedFileSystem, compute_host_info: &BTreeMap<Id, ComputeHost>, network: &Network ) -> Vec<StageActions>

Callback when some stage is completed.

Provided Methods§

source

fn register_dag(&mut self, _dag_id: usize, _graph: &Dag)

Callback when new NewDag is received by Runner.

Implementors§