wrench::ServerlessPlanSelectionPolicy

class ServerlessPlanSelectionPolicy : public wrench::ServerlessSchedulingPolicy

An abstract class to implement a serverless scheduling plan evaluation policy.

Subclassed by wrench::EvictionAversePlanSelectionPolicy, wrench::RandomPlanSelectionPolicy

Public Functions

virtual std::shared_ptr<ServerlessComputeNode> pickBestInvocationPlan(const std::map<std::shared_ptr<ServerlessComputeNode>, std::shared_ptr<ServerlessSchedulingDecisions>> &plans) = 0

Select the node that has the best invocation plan.

Parameters:

plans – a map of plans

Returns:

a compute node

virtual std::shared_ptr<ServerlessComputeNode> pickBestLayerCopyPlan(const std::map<std::shared_ptr<ServerlessComputeNode>, std::shared_ptr<ServerlessSchedulingDecisions>> &plans) = 0

Select the node that has the best layer-copy plan.

Parameters:

plans – a map of plans

Returns:

a compute node

virtual std::shared_ptr<ServerlessComputeNode> pickBestLayerLoadPlan(const std::map<std::shared_ptr<ServerlessComputeNode>, std::shared_ptr<ServerlessSchedulingDecisions>> &plans) = 0

Select the node that has the best layer-load plan.

Parameters:

plans – a map of plans

Returns:

a compute node