wrench::ServerlessStateOfTheSystem
-
class ServerlessStateOfTheSystem
A class that stores the current state of a serverless compute service.
Public Functions
-
std::vector<std::shared_ptr<ServerlessComputeNode>> getActivatedComputeNodes() const
Getter for the compute nodes.
- Returns:
The compute nodes
-
std::map<std::shared_ptr<Image>, std::vector<std::shared_ptr<Invocation>>> getAdmittedInvocations() const
Get the list of admitted invocations (whose image layers are not all downloaded from remote).
- Returns:
The list of admitted invocations
-
std::map<std::shared_ptr<ServerlessComputeNode>, sg_size_t> getAvailableDiskSpace() const
Getter for the map of available disk space for activated compute nodes. Note that Disk space is managed in an LRU fashion, so it’s not because a disk is full that nothing can be done, perhaps.
- Returns:
The RAM availability map
-
std::map<std::shared_ptr<ServerlessComputeNode>, sg_size_t> getAvailableRAMSpace() const
Getter for the map of available RAM for activated compute nodes. Note that RAM is managed in an LRU fashion, so it’s not because RAM is full that nothing can be done, perhaps.
- Returns:
The RAM availability map
Get the current image layers being copied to a node.
- Parameters:
node – the compute node
- Returns:
a set of image files
Get the current image layers being loaded into RAM at a node.
- Parameters:
node – the compute node
- Returns:
a set of image layers
Get the current image layers in RAM at a node.
- Parameters:
node – the compute node
- Returns:
a set of image files
Get the current image layers on disk at a node.
- Parameters:
node – the compute node
- Returns:
a set of image files
-
unsigned long getNumBeingActivatedComputeNodes() const
Get the number of deactivated compute nodes.
- Returns:
A number of nodes
-
unsigned long getNumDeactivatedComputeNodes() const
Get the number of deactivated compute nodes.
- Returns:
A number of nodes
-
std::map<std::shared_ptr<Function>, unsigned long> getOutstandingInvocationCounts() const
Get the current per-function outstanding invocation counts.
- Returns:
a function-count map
-
const std::vector<std::shared_ptr<Invocation>> &getSchedulableInvocations() const
Get the list of schedulable invocations.
- Returns:
The list of schedulable invocations
Determine whether an image layer is currently being copied to a node.
- Parameters:
node – the compute node
layer – an image layer
- Returns:
true or false
Determine whether an image is currently being loading into RAM at a node.
- Parameters:
node – the compute node
layer – an image layer
- Returns:
true or false
Determine whether an image layer is currently in RAM at a node.
- Parameters:
node – the compute node
layer – an image layer
- Returns:
true or false
Determine whether an image layer is currently on disk at a node.
- Parameters:
node – the compute node
layer – an image layer
- Returns:
true or false
-
std::vector<std::shared_ptr<ServerlessComputeNode>> getActivatedComputeNodes() const