Bladerunner: Stream Processing at Scale for a Live View of Backend Data Mutations at the Edge
Jeff Barber, Ximing Yu, Laney Kuenzel Zamore, Jerry Lin, Vahid Jazayeri, Shie Erlich, Tony Savor, Michael Stumm
Abstract
Consider a social media platform with hundreds of millions of online users at any time, utilizing a social graph that has many billions of nodes and edges. The problem this paper addresses is how to provide each user a continuously fresh, up-to-date view of the parts of the social graph they are currently interested in, so as to provide a positive interactive user experience. The problem is challenging because the social graph mutates at a high rate, users change their focus of interest frequently, and some mutations are of interest to many online users.
We describe Bladerunner, a system we use at Facebook to deliver relevant social graph updates to user devices efficiently and quickly. The heart of Bladerunner is a set of backend stream processors that obtain streams of social graph updates and process them on a per application and per-user basis before pushing selected updates to user devices. Separate stream processors are used for each application to enable application-specific customization, complex filtering, aggregation and other message delivery operations on a per-user basis. This strategy minimizes device processing overhead and last-mile bandwidth usage, which are critical given that users are mostly on mobile devices.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 98663374-596d-4540-b4fa-8db487d2f85cCited by top-tier papers2
- Investigating Managed Language Runtime Performance: Why JavaScript and Python are 8x and 29x slower than C++, yet Java and Go can be Faster?David Lion, Adrian Chiu, Michael Stumm, Ding YuanUSENIX ATC 2022 · 31 citations
- Ferret: An Efficient Online Continual Learning Framework under Varying Memory ConstraintsYuhao Zhou, Yuxin Tian, Jindi Lv, Mingjia Shi et al.CVPR 2025
Related papers
- Terrace: A Hierarchical Graph Container for Skewed Dynamic GraphsPrashant Pandey, Brian Wheatman, Helen Xu, Aydin BuluçSIGMOD 2021 · 53 citations
- TDGraph: a topology-driven accelerator for high-performance streaming graph processingJin Zhao, Yun Yang, Yu Zhang, Xiaofei Liao et al.ISCA 2022 · 28 citations
- Prioritized Restreaming Algorithms for Balanced Graph PartitioningAmel Awadelkarim, Johan UganderKDD 2020
- JetStream: Graph Analytics on Streaming Data with Event-Driven Hardware AcceleratorShafiur Rahman, Mahbod Afarin, Nael B. Abu-Ghazaleh, Rajiv GuptaMICRO 2021 · 31 citations
- FlightTracker: Consistency across Read-Optimized Online Stores at FacebookXiao Shi, Scott Pruett, Kevin Doherty, Jinyu Han et al.OSDI 2020 · 23 citations
