1#ifndef FPMAS_SCHEDULED_LOAD_BALANCING_H
2#define FPMAS_SCHEDULED_LOAD_BALANCING_H
16namespace fpmas {
namespace graph {
46 ) : fixed_vertices_lb(fixed_vertices_lb), scheduler(scheduler), runtime(runtime) {}
75 scheduler.build(runtime.currentDate() + 1, epoch);
89 auto node = node_task->node();
90 node_map[node->getId()] = node;
97 partition = fixed_vertices_lb.balance(node_map, fixed_nodes, partition_mode);
99 fixed_nodes = partition;
103 partition = fixed_vertices_lb.balance(nodes, fixed_nodes, partition_mode);
Definition: load_balancing.h:47
Definition: load_balancing.h:92
Definition: scheduler.h:135
Definition: scheduler.h:117
Definition: scheduler.h:302
Definition: scheduler.h:76
Definition: scheduled_load_balancing.h:25
ScheduledLoadBalancing(api::graph::FixedVerticesLoadBalancing< T > &fixed_vertices_lb, api::scheduler::Scheduler &scheduler, api::runtime::Runtime &runtime)
Definition: scheduled_load_balancing.h:42
PartitionMap balance(api::graph::NodeMap< T > nodes) override
Definition: scheduled_load_balancing.h:67
Definition: scheduler.h:238
std::unordered_map< DistributedId, int, api::graph::IdHash< DistributedId > > PartitionMap
Definition: load_balancing.h:19
PartitionMode
Definition: load_balancing.h:30
@ PARTITION
Definition: load_balancing.h:35
typename graph::Graph< graph::DistributedNode< T >, graph::DistributedEdge< T > >::NodeMap NodeMap
Definition: load_balancing.h:25