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¶
ServerlessTemporalSimulator(running_function_instances, idle_function_instances, *args, **kwargs)¶
ServerlessTemporalSimulator extends ServerlessSimulator to enable extraction of temporal characteristics. Also gets all of the arguments accepted by
Exponential Temporal Simulator¶
The exponential temporal simulator assume exponential inter-event distribution for both arrival and departure from each function instance.
ExponentialServerlessTemporalSimulator(running_function_instance_count, idle_function_instance_next_terminations, *args, **kwargs)¶
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.
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.