wrench::ServerlessScheduler
-
class ServerlessScheduler
Abstract base class for scheduling in a serverless compute service.
Subclassed by wrench::GreedyServerlessScheduler
Public Functions
-
virtual std::shared_ptr<ServerlessSchedulingDecisions> schedule(const ServerlessStateOfTheSystem *state) = 0
Given the list of schedulable invocations and the current system state, decide:
how many compute nodes to activate
which compute nodes to deactivate
which invocations to forcefully fail
which idle containers to terminate
which layers to evict from RAM
which layers to evict from disk
which layers to copy to compute nodes
which layers to load into memory at compute nodes
which invocations to dispatch at compute nodes
which containers to prewarm at compute nodes
A scheduling decision is an intent, not a reservation. The serverless compute service checks whether the decision can actually be executed when it processes it.
- Parameters:
state – The current system state
- Returns:
A SchedulingDecisions object
-
virtual std::shared_ptr<ServerlessSchedulingDecisions> schedule(const ServerlessStateOfTheSystem *state) = 0