<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><a href="http://blog.acolyer.org/2016/03/21/maglev-a-fast-and-reliable-software-network-load-balancer/" style="background-color: rgba(255, 255, 255, 0);"><font color="#000000">http://blog.acolyer.org/2016/03/21/maglev-a-fast-and-reliable-software-network-load-balancer/</font></a></div><div><br></div><div>Interesting read. Some data points I extracted. </div><div><br></div><div>350 ns per parquet. Ensuring a 300us during load. </div><div><br></div><div>Some math I was not aware of:</div><div><p><span style="background-color: rgba(255, 255, 255, 0);">[quote]</span></p><p><span style="background-color: rgba(255, 255, 255, 0);">--</span></p><p><span style="background-color: rgba(255, 255, 255, 0);">Let </span><em style="background-color: rgba(255, 255, 255, 0);">N</em><span style="background-color: rgba(255, 255, 255, 0);"> </span><span style="background-color: rgba(255, 255, 255, 0);">be the size of a VIP’s backend pool. A table is constructed with</span><span style="background-color: rgba(255, 255, 255, 0);"> </span><em style="background-color: rgba(255, 255, 255, 0);">M</em><span style="background-color: rgba(255, 255, 255, 0);"> </span><span style="background-color: rgba(255, 255, 255, 0);">entries, where</span><span style="background-color: rgba(255, 255, 255, 0);"> </span><em style="background-color: rgba(255, 255, 255, 0);">M</em><span style="background-color: rgba(255, 255, 255, 0);"> </span><span style="background-color: rgba(255, 255, 255, 0);">is a prime number and</span><span style="background-color: rgba(255, 255, 255, 0);"> </span><em style="background-color: rgba(255, 255, 255, 0);">M > 100 * N</em><span style="background-color: rgba(255, 255, 255, 0);">, which will ensure at most a 1% difference in hash space assigned to backends.</span></p></div><div>--</div><div><br></div><div>Might be interesting in our virtual nodes logic. The segment size might not be too friendly here though. </div><div><br></div><div>They do use try to ensure relative stability of the targeted backend for a given key even when the pool of backend changes (e.g. one server down)</div><div><br></div><div>Emmanuel </div><br><div></div></body></html>