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

Activator Load Balancing #5692

Closed
1 of 6 tasks
vagababov opened this issue Sep 26, 2019 · 3 comments · Fixed by #5962
Closed
1 of 6 tasks

Activator Load Balancing #5692

vagababov opened this issue Sep 26, 2019 · 3 comments · Fixed by #5962
Assignees
Labels
area/autoscale area/networking kind/feature Well-understood/specified features, ready for coding.
Milestone

Comments

@vagababov
Copy link
Contributor

vagababov commented Sep 26, 2019

In what area(s)?

/area autoscale
/area networking

Describe the feature

As described in document (work in progress) we need to implement smarter load balancing.

This is part of the overarching NLS project as well as performance improvement work.

/assign @vagababov

  • Select activator personal index
  • Implement power of two choices load balancing
  • implement logic to determine whether we can always send request to the pod IPs
  • switch to always sending to pod ips when possible
  • implement naïve slicing algorithm
  • make sure benchmarks are happy!
@vagababov vagababov added the kind/feature Well-understood/specified features, ready for coding. label Sep 26, 2019
@vagababov
Copy link
Contributor Author

/milestone Serving 0.10.x

@knative-prow-robot knative-prow-robot added this to the Serving 0.10.x milestone Sep 26, 2019
vagababov added a commit to vagababov/serving that referenced this issue Sep 26, 2019
Activator will need to know its address to implement slicing.

Part of knative#5692.

/assign mattmoor
vagababov added a commit to vagababov/serving that referenced this issue Sep 26, 2019
Activator will need to know its address to implement slicing.

Part of knative#5692.

/assign mattmoor
knative-prow-robot pushed a commit that referenced this issue Sep 27, 2019
* Add the POD_IP downward API to the activator.

Activator will need to know its address to implement slicing.

Part of #5692.

/assign mattmoor

* space

* Implement activator index selection.

Here we provide a simple initial algorith where activator picks its own index.
While not a completely stable algorithm, this provides a determenistic way
for us to pick the index every time.

/assign markusthoemmes

* comments-addressed

* free functions for the people
vagababov added a commit to vagababov/serving that referenced this issue Sep 27, 2019
This is the next step of the steps outlined in knative#5692.
This change is a drop in replacement of the current iterative algorithm with the
power of two choices algorithm.

/assign @markusthoemmes mattmoor
vagababov added a commit to vagababov/serving that referenced this issue Sep 27, 2019
This is the next step of the steps outlined in knative#5692.
This change is a drop in replacement of the current iterative algorithm with the
power of two choices algorithm.

/assign @markusthoemmes mattmoor
knative-prow-robot pushed a commit that referenced this issue Sep 30, 2019
* This change implements best of two load balanciung algorithm.

This is the next step of the steps outlined in #5692.
This change is a drop in replacement of the current iterative algorithm with the
power of two choices algorithm.

/assign @markusthoemmes mattmoor

* fix comments

* refactor a bit
@mattmoor
Copy link
Member

We've eliminated errors from all the dataplane probes, but I believe have some tail latency to investigate in a couple scenarios.

@vagababov
Copy link
Contributor Author

Yep, that's what I am working on.

vagababov added a commit to vagababov/serving that referenced this issue Nov 7, 2019
Add a test that verfies the clumping behavior for the
load balancer.
As long as the target has free slots they'll be occupied.

/assign @markusthoemmes
Fixes knative#5692
knative-prow-robot pushed a commit that referenced this issue Nov 7, 2019
Add a test that verfies the clumping behavior for the
load balancer.
As long as the target has free slots they'll be occupied.

/assign @markusthoemmes
Fixes #5692
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/autoscale area/networking kind/feature Well-understood/specified features, ready for coding.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants