From 2016. It's nice to have the option between the slides[0], 22m of audio[1] and whitepaper[2]<p>[0]: <a href="https://www.usenix.org/system/files/conference/osdi16/osdi16-adya.pdf" rel="nofollow">https://www.usenix.org/system/files/conference/osdi16/osdi16...</a>
[1]: <a href="https://2459d6dc103cb5933875-c0245c5c937c5dedcca3f1764ecc9b2f.ssl.cf2.rackcdn.com/osdi16/adya.mp3" rel="nofollow">https://2459d6dc103cb5933875-c0245c5c937c5dedcca3f1764ecc9b2...</a>
[2]: <a href="https://www.usenix.org/system/files/conference/osdi16/osdi16-adya.pdf" rel="nofollow">https://www.usenix.org/system/files/conference/osdi16/osdi16...</a>
Slicer is mentioned briefly in the PWL talk on Zanzibar[0]. I've chatted with a few folks from Uber that worked on Ringpop[1], which was inspired by Slicer, but doesn't have any of the novel dynamic balancing properties. I still don't think there's anything anbalagous outside of Google.<p>[0]: <a href="https://youtu.be/1nbSbe3kw2U?t=1612" rel="nofollow">https://youtu.be/1nbSbe3kw2U?t=1612</a><p>[1]: <a href="https://github.com/uber/ringpop-go" rel="nofollow">https://github.com/uber/ringpop-go</a>
Super interesting.<p>The TL;DR is that google built a system to shard client requests into different services/task by some largish shard key. The example they provide is to shard requests into ML model services by the underlying language (English vs Chinese) as different languages need different models.<p>Rather than requiring each product team to manage sharding, google built a custom layer to do it for any team to use. In practice it's not used by that many teams (~20 services at Google use it).