This style of buffer with high and low-water points tends to cause clumping of data flows when the speeds are mismatched. What happens is that transmitter goes full steam ahead until the high water mark is hit, then the receiver effectively blocks the channel while some software in the transmitting device fills its output buffer, and that clumping can continue backing up the channel to the next higher source, and so on and so forth. Then when the receiver has bought some time it goes full steam processing its buffer until the receive buffer is at the low-water mark, then it turns the flow back on the channel, and the transmitter can empty its transmit buffer at full steam, triggering the emptying of it's source's transmit buffer and so on and so forth, back up the chain. If you imagine this process happening globally then you get circular systems with very non-linear behaviour, so I think the result is that latency on the network goes up. Back in 2015 or so someone noticed this happening on the Internet in the TCP/IP stack and they deduced that the problem was that people were making buffers too big! So there was a campaign to reduce latency by decreasing buffer sizes. This was called "buffer bloat" and apparently it worked, because buffer bloat is no longer an issue, I heard. But whether this results in more dropped packets during congestion I don't know. But dropping packets is just another sort of buffering which filters back up the chain eventually resulting in clumpy Internet behaviour as a whole. So maybe you just get times when the Internet appears to go down and your apps all stop. If so then they pushed the problem right out of their domain into the user's minds! Whether that was a good idea or not, I don't know. Personally I think that using circular FIFOs would be a better solution, as I think it might still allow large buffers but without causing clumping: circular buffers can grow and shrink linearly in proportion to the ratio of the speeds of their upstream/downstream connections. I don't really know enough about statistics to be able to analyze this properly though.
A derivative is linearisation, and differential calculus is essentially linear algebra, ... See Freya Holmér - Why Can't You Multiply Vectors? and Freya Holmér on Continuity of Splines . See also the MIT OCW page: Matrix Calculus For Machine Learning And Beyond (Alan Edelman, Steven G. Johnson) Subscribe to The Julia Programming Language . Alan Edelman talking about expressing mathematics as computer code. The idea is that you can use computer languages to communicate mathematical ideas precisely to other people. See my comments about functional programming languages here: https://prooftoys.org/ian-grant/hm/ Subscribe to TEDx Talks .
Listening to Freya Holmér last night I started to get glimmers of an idea I had long ago about how to represent vector spaces in computational processes using this recursive abstract type : abstype 'a point = POINT of {getx : 'a vector, diff : 'a point -> 'a point, move : 'a point -> 'a point, scale : 'a -> 'a point, proj : 'a point -> 'a} with fun new i (op +) (op -) (op * ) dot = let fun self x = POINT {getx = x, move = fn (POINT pr) => (self (x + (#getx pr))), diff = fn (POINT pr) => self (x - (#getx pr)), scale = fn i => (self (x * i)), proj = fn (POINT pr) => ...
I think this is the first time they've actually publicly announced anything about this project. See these posts: Eron Woolf on Why Open Source is Failing Matt Mikhailov and Vincent McKibbon on The Problem with Open Hardware Jason Kridner talking About BeagleBoard.org and Software Development . See these places: https://danielc.dev/rk/ https://github.com/petabyt/rk https://github.com/futo-org/ret See also https://pine64.org/devices/pinebook_pro/ . Subscribe to FUTO . See https://github.com/nir9/low-level-learning-resources/tree/master/setups/debian . Subscribe to Nir Lichtman . If you're looking for a cool init process, try https://ctx.graphics/terminal/ . See Artful Bytes - When to Use a RTOS and How to Create a Successful Open Source Project .
Comments
Post a Comment