Comments (5)
@kailuowang what do you take the difference to be between the two? I've only heard them used synonymously.
from kanaloa.
I can hazard a guess that you mean:
backpressure: dropping a proportion of incoming requests
load shedding: dropping a proportion of queued requests
Is that correct?
from kanaloa.
You got it right @dt-rush
from kanaloa.
@kailuowang additionally, by "we need to implement this based on proved algo", do you mean, we should implement this, but only if we can have some proofs around it? Or are you implying that this is part of the IETF paper on bufferbloat which inspired this project? Because I don't see a mention of load shedding in the paper, only backpressure.
Is there a particular instance in which you can imagine that load-shedding would be more useful than the backpressure? I'm guessing you found some kind of edge case where dropping incoming requests alone does not tend to keep the queue within reasonable performance bounds.
from kanaloa.
@dt-rush what I meant we should seek a (or possibly more than one) load shedding algorithm that is already battlefield tested and published. I haven't done any research yet.
To be honest, a coworker suggested a use case for load shedding and now I forgot the detail of it, but something along the line that allowing users to send with each request a per-request timeout and/or priority. This would make the drop more selective, but obviously with more computation cost, so probably only useful when the actual workload for each request is significantly higher.
from kanaloa.
Related Issues (20)
- Expected wait time reported incorrectly HOT 1
- auto down-size
- Make sure kanaloa reacts properly during abnormal situations
- Add configuration validation to settings class
- double logging for errors
- Use Future as backend interface rather than actorRef
- A fast direct mode
- Per routee QueueProcessor and AutoThrottle
- Document two approaches of autothrottle start point
- A Dispatcher Factory for simplified API for creating dispatchers.
- Guard against Exception from ResultChecker and backend response
- Metrics include host in namespace
- upgrade to ficus 1.2.7+ and use hyphened config names
- StatsD reporter can't recover from lost connection
- Fail fast mode HOT 1
- retry and timeout HOT 3
- reimplement circuit breaker per handler
- Reject all queued work if there is no worker pool created after grace period
- Queue shutdown triggers dispatcher shutdown
- Delay resetting drop rate and burst allowed in Regulator HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kanaloa.