wrench::WorkloadBalancingServerlessScheduler

class WorkloadBalancingServerlessScheduler : public wrench::ServerlessScheduler

A class that implements a very experimental/untested scheduler that attempts to make good load-balancing decisions.

Public Functions

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

Given the list of schedulable invocations and the current system state, decide:

  • which images to copy to compute nodes

  • which images to load into memory at compute nodes

  • which invocations to start at compute nodes

Parameters:
  • schedulable_invocations – A list of invocations whose images reside on the head node

  • state – The current system state

Returns:

A SchedulingDecisions object