Class faabric::batch_scheduler::SchedulingDecision

class SchedulingDecision

Public Functions

SchedulingDecision(uint32_t appIdIn, int32_t groupIdIn)
bool operator==(const SchedulingDecision &rhs) const = default
bool isSingleHost() const

Work out if this decision is all in one host. If the decision is completely on another host, we still count it as not being on a single host, as this host will be the main.

Will always return false if single host optimisations are switched off.

void addMessage(const std::string &host, const faabric::Message &msg)
void addMessage(const std::string &host, int32_t messageId, int32_t appIdx)
void addMessage(const std::string &host, int32_t messageId, int32_t appIdx, int32_t groupIdx)
void addMessageInPosition(int32_t pos, const std::string &host, int32_t messageId, int32_t appIdx, int32_t groupIdx, int32_t mpiPort)
int32_t removeMessage(int32_t messageId)
std::set<std::string> uniqueHosts()
void print(const std::string &logLevel = "debug")

Public Members

uint32_t appId = 0
int32_t groupId = 0
int32_t nFunctions = 0
std::vector<std::string> hosts
std::vector<int32_t> messageIds
std::vector<int32_t> appIdxs
std::vector<int32_t> groupIdxs
std::vector<int32_t> mpiPorts
std::string returnHost

Public Static Functions

static SchedulingDecision fromPointToPointMappings(faabric::PointToPointMappings &mappings)