wrench::ServerlessComputeService
-
class ServerlessComputeService : public wrench::ComputeService
A serverless compute service that manages a set of compute nodes and controls access to their resource via function registration/invocation operations.
Public Functions
Constructor.
- Parameters:
hostname – name of the head host on which the service runs
head_node_storage_mount_point – the mount point of storage at the head host (where images will be stored)
compute_nodes – list of (homogeneous) compute node hostnames
scheduler – the scheduler used to decide which invocations should be executed and when
property_list – a property list ({} means “use all defaults”)
messagepayload_list – a message payload list ({} means “use all defaults”)
Method to add (outside the simulation, in zero time) a new registered function to a serverless compute service. Typically used before the simulation launch.
- Parameters:
name – the name of the function to register
code – the function’s code
image – the function’s image
time_limit_in_seconds – the time limit for execution
disk_space_limit_in_bytes – the disk space limit for the function
RAM_limit_in_bytes – the RAM limit for the function
ingress_in_bytes – the ingress data limit
egress_in_bytes – the egress data limit
- Returns:
The Function object that was registered
-
std::shared_ptr<ServerlessScheduler> getScheduler() const
Get the service’s scheduler.
- Returns:
a scheduler
-
bool supportsCompoundJobs() override
Returns true if the service supports compound jobs.
- Returns:
true or false
-
bool supportsFunctions() override
Returns true if the service supports functions.
- Returns:
true or false
-
bool supportsPilotJobs() override
Returns true if the service supports pilot jobs.
- Returns:
true or false
-
bool supportsStandardJobs() override
Returns true if the service supports standard jobs.
- Returns:
true or false