wrench::ServerlessSchedulingDecisions
-
class ServerlessSchedulingDecisions
A data structure that stores all scheduling decisions made by a serverless scheduler:
How many compute nodes to activate
Which invocations to fail
Which idle container to terminate
Which layer to evict from RAM
Which layer to evict from disk
Which images should be copied from the head node to compute nodes’ disks, initiated right now
Which images should be loaded into compute node’s RAMs, initiated right now
Which invocations should be dispatched right now
Public Functions
-
void print()
Method to print scheduling decisions.
Public Members
-
std::vector<ActivateComputeNodes> compute_node_activations
The list of compute node activations.
-
std::vector<DeactivateComputeNodes> compute_node_deactivations
The list of compute node deactivations.
-
std::vector<PrewarmContainer> container_prewarms
The list of container prewarms at compute nodes.
-
std::vector<TerminateIdleContainer> idle_container_terminations
The list of idle container terminations.
-
std::vector<CopyImageLayer> image_layer_copies_to_disk
The list of image layer copies to storage at compute nodes.
-
std::vector<LoadImageLayer> image_layer_loads_to_RAM
The list of image layer loads in RAM at compute nodes.
-
std::vector<DispatchInvocation> invocation_dispatches
The list of function invocations at compute nodes.
-
std::vector<FailInvocation> invocation_fails
The list of invocations to fail.
-
std::vector<EvictLayerFromDisk> layer_evictions_from_disk
The list of layer from disk evictions.
-
std::vector<EvictLayerFromRAM> layer_evictions_from_ram
The list of layer from RAM evictions.
-
std::optional<double> scheduler_wakeup_date
The (optional) next scheduler wake-up time.