3 ms·
These all seem prime candidates for some kind of learning algorithm (at the very least a naive one). Like TCP's window size scaling, just for settings that are
by aray 13y ago
These all seem prime candidates for some kind of learning algorithm (at the very least a naive one). Like TCP's window size scaling, just for settings that are too complex to bother with tuning.
- npsimons 13y agoAt the same time, the default settings have been tweaked by domain experts over decades to be reasonably good for the general case. Not everyone might be interested in shoving a a complex, un-tested, un-debugged learning algorithm into their kernel. Still, interesting proposal . . .
- lostapathy 13y agoYou wouldn't necessarily have to run it in-kernel, as these are all configurable from /proc. With a sufficiently complete test environment, you could use machine learning to tune a lot of the params up safely, then just run the resulting config in production.
- liotier 13y ago> the default settings have been tweaked by domain experts > over decades to be reasonably good for the general case. Yes, but look at default configurations such as those of Apache and Mysql - you'll find that the default settings have been finely honed for environments that were common ten years ago... Even settings need updating - optima are moving targets.
- kivikakk 13y agoI think that happened: http://web.mit.edu/remy/ http://web.mit.edu/remy/
- DoubleCluster 13y agoThanks, very interesting!
- viraptor 13y agoYou'd have a risk of falling into a trap of a local maximum, especially with a naive algorithm. It's pretty much the cause of buffer bloat - everyone adjusting the buffer sizes to handle current load without losing packets. Which makes things worse globally of all systems do it. For a learning algorithm to work, I think it would have to be a distributed learning system in your whole network (or multiple connected networks).