wrench::GreedyServerlessScheduler

class GreedyServerlessScheduler : public wrench::ServerlessScheduler

A class that implements an abstract two-pass scheduler to use in a serverless compute service.

Subclassed by wrench::FCFSServerlessScheduler, wrench::RandomServerlessScheduler

Public Functions

virtual std::shared_ptr<ServerlessSchedulingDecisions> schedule(const std::vector<std::shared_ptr<Invocation>> &schedulable_invocations, const ServerlessStateOfTheSystem *state) override

Given the list of schedulable invocations and the current system state, decide on which compute node each invocation should go and then encode what needs to be done to make it happen.

Parameters:
  • schedulable_invocations – A list of schedulable (i.e., with image on the head node’s disk) invocations

  • state – the current system state

Returns:

A SchedulingDecisions object