-
Notifications
You must be signed in to change notification settings - Fork 3
Merging 0.2 - HIO with naive autoscaling #6
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
base: master
Are you sure you want to change the base?
Conversation
This reverts commit 42594f9.
…ting, double hop via worker api call
…id of container to master info
…notify master when container exits
…reating containers
…uptable container update
…ailable workers if one runs out of ports
harmonicIO/worker/__main__.py
Outdated
|
|
||
|
|
||
| def start_gc_thread(): | ||
| carbage_collector = GarbageCollector(10) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, fixed!
harmonicIO/worker/configuration.py
Outdated
| Setting.__master_addr = cfg[Definition.get_str_master_addr()].strip() | ||
| Setting.__master_port = cfg[Definition.get_str_master_port()] | ||
| Setting.__node_external_addr = cfg[Definition.get_str_node_external_addr()].strip().lower() | ||
| Setting.__container_idle_timeout = cfg[Definition.get_str_container_idle_timeout()] * 60 # convert idle time from minute to seconds |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just use seconds in the config file? simpler?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess, I fixed it. My reasoning was that you might want a span of potentially hours, so I thought seconds might be a bit large, but it's no big deal
Put my new instructions above Ben's old instructions
|
Autoscaling can now be configured in the master configuration.json file, fairly self-explanatory but I'll mention it in the readme. |
Cleared up my additions a bit, added note about autoscaling enable/disable
|
@Snapple49 I've added some tests to HarmonicIO. You need to merge the changes from master into your branch (resolve the conflicts), and then run the tests locally. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to resolve conflicts, and ensure new tests run.
This is a more autonomous setup of the HIO framework with some features I've implemented as part of my thesis and some small improvements here and there for general "niceness". A more detailed list of specific changes and new features is provided in a release tag I made for the master: https://github.com/Snapple49/HarmonicIO/releases
Both me and Salman have been testing this for some time and it seems to be robust and handle things nicely, and I've added some defaults to places where my new features require additional inputs. Fingers crossed it doesn't break anything...