Just as with multithreaded programs on a single machine, the performance and scalability of distributed systems can come down to a question of cache locality. By ensuring locality of access to data, you can minimize effort and deliver responses faster.
Using Vimeo’s dynamic video delivery platform Skyfire as an example, Andrew Rodland shares a new consistent hashing algorithm developed by Google researchers that helped improve cache locality and optimize delivery—and made a contribution to open source software in the process. Andrew offers a brief overview of the architecture and describes how the algorithm improves data locality and drastically reduces cache coherency traffic while providing a guaranteed even distribution of load that “traditional” consistent hashing cannot. Along the way, Andrew also discusses the process of implementing the algorithm and integrating it into a widely used piece of open source load balancing software, where it’s now available for general use.
Andrew Rodland is a senior backend engineer for video systems at Vimeo. For over a decade, Andrew has been mixing the chocolate of dev in the peanut butter of ops. Previously, he was a developer at Shutterstock. Andrew has spoken at (and organized streaming video for) prominent Perl conferences and contributed some cool stuff to CPAN.
©2017, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com