2020-01-09 07:38:30 UTC - drholmie: Hey all! Openwhisk beginner here. Wanted to know if there's any documentation on the load balancer and how it decides which invokers to invoke actions on. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578555510013000?thread_ts=1578555510.013000&cid=C3TPCAQG1 ---- 2020-01-09 08:42:17 UTC - giusdp: <https://github.com/apache/openwhisk/blob/master/core/controller/src/main/scala/org/apache/openwhisk/core/loadBalancer/ShardingContainerPoolBalancer.scala>
The documentation of the code is pretty extensive. I was also playing around with it and I found most information through code comments. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578559337013200?thread_ts=1578555510.013000&cid=C3TPCAQG1 ---- 2020-01-09 08:49:29 UTC - drholmie: Ah I just saw that too :sweat_smile:. Thanks for the help :) https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578559769013500?thread_ts=1578555510.013000&cid=C3TPCAQG1 ---- 2020-01-09 12:04:10 UTC - Rodric Rabbah: Welcome @drholmie https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578571450014600 ---- 2020-01-09 12:12:20 UTC - giusdp: I was checking out how to add more information about an invoker for the load balancer to use (for example information about the containers). I got a bit overwhelmed by the code and don't know where to really look at, does someone have some hints? :sweat_smile: https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578571940016800 ---- 2020-01-09 12:20:06 UTC - Rodric Rabbah: You want to send information from the invoker to the lb? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578572406017300 ---- 2020-01-09 12:22:30 UTC - Rodric Rabbah: The invoker sends these message back to the lb:. activation response, activation completion message and a ping. Sometimes the first two can be combined. The response and completion messages release reservation slots in the lb. The ping is a health test protocol that tells the lb the invoker is still around. You can piggy back one one of these messages perhaps. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578572550021500?thread_ts=1578572550.021500&cid=C3TPCAQG1 ---- 2020-01-09 12:23:27 UTC - Rodric Rabbah: hint: follow the (data) types. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578572607022200 ---- 2020-01-09 12:25:36 UTC - drholmie: That way is it possible to extend it to become a little bit smarter? In the sense that how kubernetes or spark and so on schedule based on properties of the devices, could we make it store some data on the properties of invokers? Also thank you for the welcome :) https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578572736024700 ---- 2020-01-09 12:26:36 UTC - drholmie: And is there a reason openwhisk doesn't do that? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578572796025200?thread_ts=1578572796.025200&cid=C3TPCAQG1 ---- 2020-01-09 12:27:36 UTC - giusdp: Thank you, I'll check this out. Probably I'll ask more later :sweat_smile: https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578572856025300?thread_ts=1578572550.021500&cid=C3TPCAQG1 ---- 2020-01-09 12:56:52 UTC - Rodric Rabbah: more complex reservation patterns require more time the lb reservation table has evolved from just a generic “slot” that combined cpu/mem holds to be memory aware. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578574612025500?thread_ts=1578572796.025200&cid=C3TPCAQG1 ---- 2020-01-09 12:57:17 UTC - Rodric Rabbah: if you add more resources, you’ll have more complex reservation patterns so the scheduling heuristics generally get more complex. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578574637025700?thread_ts=1578572796.025200&cid=C3TPCAQG1 ---- 2020-01-09 12:57:36 UTC - Rodric Rabbah: also for the most part production clusters have been uniform. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578574656025900?thread_ts=1578572796.025200&cid=C3TPCAQG1 ---- 2020-01-09 12:57:52 UTC - Rodric Rabbah: it’s def an interesting area especially if you consider gpus for example, or different cpu types. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578574672026100?thread_ts=1578572796.025200&cid=C3TPCAQG1 ---- 2020-01-09 12:58:49 UTC - drholmie: Hmmm I see. Is there a way to sorta use whatever openwhisk is running on to help out. Like piggybacking off the data/ scheduling that kubernetes already has. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578574729026300?thread_ts=1578572796.025200&cid=C3TPCAQG1 ---- 2020-01-09 12:59:59 UTC - Rodric Rabbah: tl;dr k8s is too slow to schedule functions that are short running https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578574799026500?thread_ts=1578572796.025200&cid=C3TPCAQG1 ---- 2020-01-09 13:00:21 UTC - Rodric Rabbah: that’s why openwhisk uses its own bespoke scheduler https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578574821026700?thread_ts=1578572796.025200&cid=C3TPCAQG1 ---- 2020-01-09 13:00:49 UTC - Rodric Rabbah: others who work on knative or have worked on both can probably say more eg @Markus Thömmes https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578574849026900?thread_ts=1578572796.025200&cid=C3TPCAQG1 ---- 2020-01-09 13:09:29 UTC - Rodric Rabbah: what information are you thinking about adding? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578575369027100?thread_ts=1578572796.025200&cid=C3TPCAQG1 ---- 2020-01-09 13:12:58 UTC - drholmie: Interesting. Thanks for explaining so much :) I am currently working on a project related to security so wanted to look into the possibility of "measuring" such a thing based on the resources an invoker has. Especially when using this on the edge. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578575578027300?thread_ts=1578572796.025200&cid=C3TPCAQG1 ---- 2020-01-09 17:36:30 UTC - Matt Rutkowski: @Tyson Norris Concurrency, as a CLI flag, is not documented. The doc. you linked is for how to enable it as part of the platform configuration. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578591390028500 ---- 2020-01-09 17:48:18 UTC - Tyson Norris: Right - I can put together a PR for CLI https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1578592098028800 ----