Asynchronous computing at Meta: Overview and learnings
Jan 31, 2023Sayak Kundu, Artem Denisov

Summary
This post details the re-architecture of Meta's asynchronous computing platform ('Async tier') to enable five-fold growth and support for multiple external data sources. Key changes include decoupling storage reading into 'tailers' and introducing a generic 'scheduler' for transport and routing. The shift from a pull-based system (Dispatcher pulling from FOQS) to a push-based system (tailers pushing to scheduler) improved cross-regional load balancing and end-to-end latency. The architecture now avoids data duplication in FOQS and treats various data sources as first-class citizens. The post highlights the challenges of the previous monolithic dispatcher and the benefits of granular components with clean contracts.
More from the Scalability and Large-Scale Systems Engineering trail
- Open-Sourcing Rebalancer: A Generic, High-Performance Library for Solving Assignment Problems
- ZGateway: Learnings from Putting a Proxy in Front of ZippyDB
- MTIA 300: Meta’s First Training Chip with Built-in NICs and Communication-Offloading Engines
- From User Sequences to Scaling Laws: A Multi-Stage Architecture for Meta’s Ads Ranking
- GEM Training: How Meta Doubled the Efficiency of Its LLM-Scale Ads Foundation Model