wrench::ServerlessStateOfTheSystem

class ServerlessStateOfTheSystem

A class that stores the current state of a serverless compute service.

Public Functions

std::map<std::shared_ptr<ServerlessComputeNode>, unsigned int> getAvailableCores() const

Getter for the map of available cores.

Returns:

The core availability map

std::map<std::shared_ptr<ServerlessComputeNode>, sg_size_t> getAvailableDiskSpace() const

Getter for the map of available disk space. 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. 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

std::vector<std::shared_ptr<ServerlessComputeNode>> getComputeNodes() const

Getter for the compute hosts.

Returns:

The compute hosts

std::set<std::shared_ptr<Image>> getImagesBeingCopiedToNode(const std::shared_ptr<ServerlessComputeNode> &node) const

Get the current images being copied to a node.

Parameters:

node – the compute node

Returns:

a set of image files

std::set<std::shared_ptr<Image>> getImagesBeingLoadedAtNode(const std::shared_ptr<ServerlessComputeNode> &node) const

Get the current images being loaded into RAM at a node.

Parameters:

node – the compute node

Returns:

a set of images

bool isImageBeingCopiedToNode(const std::shared_ptr<ServerlessComputeNode> &node, const std::shared_ptr<Image> &image) const

Determine whether an image is currently being copied to a node.

Parameters:
  • node – the compute node

  • image – an image file

Returns:

true or false

bool isImageBeingLoadedAtNode(const std::shared_ptr<ServerlessComputeNode> &node, const std::shared_ptr<Image> &image) const

Determine whether an image is currently being loading into RAM at a node.

Parameters:
  • node – the compute node

  • image – an image file

Returns:

true or false

bool isImageInRAMAtNode(const std::shared_ptr<ServerlessComputeNode> &node, const std::shared_ptr<Image> &image) const

Determine whether an image is currently in RAM at a node.

Parameters:
  • node – the compute node

  • image – an image file

Returns:

true or false

bool isImageOnDiskAtNode(const std::shared_ptr<ServerlessComputeNode> &node, const std::shared_ptr<Image> &image) const

Determine whether an image is currently on disk at a node.

Parameters:
  • node – the compute node

  • image – an image

Returns:

true or false