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

Unexpected VMs termination in Dynamic Algorithms #150

Closed
aciepiela opened this issue Aug 27, 2016 · 2 comments
Closed

Unexpected VMs termination in Dynamic Algorithms #150

aciepiela opened this issue Aug 27, 2016 · 2 comments

Comments

@aciepiela
Copy link
Collaborator

There is a bug when it comes to terminating VMs.

We noticed that even though there is much budget and time left, all of running machines get terminated earlier. They are terminated as soon as the last job is assigned to a VM. They should be terminated when they are finished with running jobs, not when all jobs are assigned.

It can be seen in the simulation log here: https://gist.github.com/aciepiela/2318027b3435f8b0dacd4756c43f2031
Last job is assigned at 68330 and all VMs get terminated at 68390 so as soon as the job got assigned (there is 60 deprovisioningDelay)

It affects all Dynamic Algorithms. Static ones are fine.

@aciepiela
Copy link
Collaborator Author

This is partially addressed by the PR ☝️

Unexpected termination of VMs towards the end of simulation is also caused by terminating machines based on their utilisation (SimpleUtilizationBasedProvisioner). When there are no new tasks to execute, utilisation is low and machines get terminated, but they are terminated randomly (those which are completing their full cycle are terminated first), not those which are idle. So as a result busy machines get terminated. This could be fixed by introducing a notion of knowledge why machines are idle (because there are no more tasks) and terminate those idle then (not those completing their cycle), but this is a change in current algorithm logic and not a coding bug like these fixed by PR.

Since it is a simple provisioner then this is probably something that we could live with.
FYI @malawski

@aciepiela
Copy link
Collaborator Author

Two enhancements to SimpleBasedUtilisationProvisioner extracted to separate issues: #160 and #161

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

No branches or pull requests

1 participant