Temporal Simulator¶
In this family of classes, we want to extract temporal characteristics using execution of simulations.
We can extract average estimates by average over several executions of the simulation (sample average).
All of these classes extend the functionality provided by
ServerlessSimulator
, you can use the same arguments
and call the same methods, with some exteded functionality provided below.
Serverless Temporal Simulator¶
-
class
simfaas.ServerlessTemporalSimulator.
ServerlessTemporalSimulator
(running_function_instances, idle_function_instances, *args, **kwargs)¶ Bases:
simfaas.ServerlessSimulator.ServerlessSimulator
ServerlessTemporalSimulator extends ServerlessSimulator to enable extraction of temporal characteristics. Also gets all of the arguments accepted by
ServerlessSimulator
- Parameters
running_function_instances (list[FunctionInstance]) – A list containing the running function instances
idle_function_instances (list[FunctionInstance]) – A list containing the idle function instances
Exponential Temporal Simulator¶
The exponential temporal simulator assume exponential inter-event distribution for both arrival and departure from each function instance.
-
class
simfaas.ServerlessTemporalSimulator.
ExponentialServerlessTemporalSimulator
(running_function_instance_count, idle_function_instance_next_terminations, *args, **kwargs)¶ Bases:
simfaas.ServerlessTemporalSimulator.ServerlessTemporalSimulator
ExponentialServerlessTemporalSimulator is a simulator assuming exponential distribution for proceesing times which means each process is state-less and we can generate a service time and use that from now on. This class extends ServerlessTemporalSimulator which has functionality for other processes as well.
- Parameters
running_function_instance_count (integer) – running_function_instance_count is the number of instances currently processing a request
idle_function_instance_next_terminations (list[float]) – idle_function_instance_next_terminations is an array of next termination scheduled for idle functions if they receive no new requests.