Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

start up delays & cold-starts #1

Open
aliraza0337 opened this issue Nov 14, 2019 · 1 comment
Open

start up delays & cold-starts #1

aliraza0337 opened this issue Nov 14, 2019 · 1 comment

Comments

@aliraza0337
Copy link

This is great :)
Does this simulator take into consideration startup delays for VMs and also cold-starts for the serverless functions? If not what would be the best to incorporate that?

@aliraza0337 aliraza0337 changed the title Start up delays Start up delays & Cold Starts Nov 14, 2019
@aliraza0337 aliraza0337 changed the title Start up delays & Cold Starts start up delays & cold-starts Nov 14, 2019
@timonback
Copy link
Owner

Thanks!
Currently it does not take it into account as the project was designed to find an optimal VM/FaaS instance configuration based on a request pattern that is already known. Therefore, the assumption was made that cold-starts and start-up delays can be avoided by starting the VMs beforehand just so that they become ready in time. What do you try to achieve?

Accounting for cold-starts of serverless functions I would probably change/manipulate the input data so that the first n requests take longer to execute. This can be done based on the input data or programmatically. This could be a place to start investigating:

adjusted_duration = duration * degradation_factor

As for the VMs, I would probably also edit the input parameters by changing the actual duration of a VM
cost, memory, btu, dynamic = self.pricing.get_price(memory_needed)
However, there is the issue that would likely apply for all VMs regardless whether they were newly started or kept running.
A better solution would be to change simulator logic to first simulate a load only with FaaS and then slowly start switching load to VMs (currently it is the other way round, see
# run vm simulation
) However, then the question/optimization problem becomes deciding which individual requests to bundle up together and hand over one or multiple VMs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants