Home/Meta Engineering
Source

Meta Engineering

369 articles from Meta Engineering.

SRE & Ops — Automating data removal

Automating data removal

Meta’s Systematic Code and Asset Removal Framework (SCARF) has a subsystem for identifying and removing unused data types. SCARF scans production data systems to identify tables or assets that are unused and safely removes them. SCARF avoids tedious manual work and ensures that product data is correctly removed when a product is shut down. This […]

CWChris Wiltz·October 31, 2023SRE & Ops
SRE & Ops — Automating dead code cleanup

Automating dead code cleanup

Meta’s Systematic Code and Asset Removal Framework (SCARF) has a subsystem for identifying and removing dead code. SCARF combines static and dynamic analysis of programs to detect dead code from both a business and programming language perspective. SCARF automatically creates change requests that delete the dead code identified from the program analysis, minimizing developer costs. […]

CWChris Wiltz·October 24, 2023SRE & Ops
SRE & Ops — 5 Things you didn’t know about Buck2

5 Things you didn’t know about Buck2

Meta has a very large monorepo, with many different programming languages. To optimize build and performance, we developed our own build system called Buck, which was first open-sourced in 2013. Buck2 is the recently open-sourced successor. In our internal tests at Meta, we observed that Buck2 completed builds approximately 2x as fast as Buck1. Below […]

CWChris Wiltz·October 23, 2023SRE & Ops
SRE & Ops — Automating product deprecation

Automating product deprecation

Systematic Code and Asset Removal Framework (SCARF) is Meta’s unused code and data deletion framework. SCARF guides engineers through deprecating a product safely and efficiently via an internal tool. SCARF combines this tooling with automation to reduce load on engineers. At Meta, we are constantly innovating and experimenting by building and shipping many different products, […]

CWChris Wiltz·October 17, 2023SRE & Ops
SRE & Ops — Meta contributes new features to Python 3.12

Meta contributes new features to Python 3.12

Python 3.12 is out! It includes new features and performance improvements – some contributed by Meta – that we believe will benefit all Python users. We’re sharing details about these new features that we worked closely with the Python community to develop. This week’s release of Python 3.12 marks a milestone in our efforts to […]

CWChris Wiltz·October 5, 2023SRE & Ops
Security — Meta Quest 2: Defense through offense

Meta Quest 2: Defense through offense

Meta’s Native Assurance team regularly performs manual code reviews as part of our ongoing commitment to improve the security posture of Meta’s products. In 2021, we discovered a vulnerability in the Meta Quest 2’s Android-based OS that never made it to production but helped us find new ways to improve the security of Meta Quest […]

CWChris Wiltz·September 12, 2023Security
AI & ML — Using Chakra execution traces for benchmarking and network performance optimization

Using Chakra execution traces for benchmarking and network performance optimization

Meta presents Chakra execution traces, an open graph-based representation of AI/ML workload execution, laying the foundation for benchmarking and network performance optimization. Chakra execution traces represent key operations, such as compute, memory, and communication, data and control dependencies, timing, and resource constraints. In collaboration with MLCommons, we are seeking industry-wide

CWChris Wiltz·September 7, 2023AI & ML
SRE & Ops — Arcadia: An end-to-end AI system performance simulator

Arcadia: An end-to-end AI system performance simulator

We’re introducing Arcadia, Meta’s unified system that simulates the compute, memory, and network performance of AI training clusters. Extracting maximum performance from an AI cluster and increasing overall efficiency warrants a multi-input system that accounts for various hardware and software parameters across compute, storage, and network collectively. Arcadia gives Meta’s researchers and engin

CWChris Wiltz·September 7, 2023SRE & Ops
Career & Teams — Threads: The inside story of Meta’s newest social app

Threads: The inside story of Meta’s newest social app

Earlier this year, a small team of engineers at Meta started working on an idea for a new app. It would have all the features people expect from a text-based conversations app, but with one very key, distinctive goal – being an app that would allow people to share their content across multiple platforms. We […]

CWChris Wiltz·September 7, 2023Career & Teams
Career & Teams — What is it like to write code at Meta?

What is it like to write code at Meta?

Ever wonder what it’s like to write code at Meta’s scale? On the latest episode of the Meta Tech Podcast, Meta engineer Pascal Hartig (@passy) sits down with Dustin Shahidehpour and Katherine Zak, two software engineers at Meta, to talk about their careers and what it’s really like to ship code at Meta. Why does Meta have […]

CWChris Wiltz·September 5, 2023Career & Teams
SRE & Ops — Scheduling Jupyter Notebooks at Meta

Scheduling Jupyter Notebooks at Meta

At Meta, Bento is our internal Jupyter notebooks platform that is leveraged by many internal users. Notebooks are also being used widely for creating reports and workflows (for example, performing data ETL) that need to be repeated at certain intervals. Users with such notebooks would have to remember to manually run their notebooks at the […]

CWChris Wiltz·August 29, 2023SRE & Ops
SRE & Ops — Introducing Immortal Objects for Python

Introducing Immortal Objects for Python

Instagram has introduced Immortal Objects – PEP-683 – to Python. Now, objects can bypass reference count checks and live throughout the entire execution of the runtime, unlocking exciting avenues for true parallelism. At Meta, we use Python (Django) for our frontend server within Instagram. To handle parallelism, we rely on a multi-process architecture along with […]

CWChris Wiltz·August 15, 2023SRE & Ops
AI & ML — Scaling the Instagram Explore recommendations system

Scaling the Instagram Explore recommendations system

Explore is one of the largest recommendation systems on Instagram. We leverage machine learning to make sure people are always seeing content that is the most interesting and relevant to them. Using more advanced machine learning models, like Two Towers neural networks, we’ve been able to make the Explore recommendation system even more scalable and […]

CWChris Wiltz·August 9, 2023AI & ML
Security — How Meta is improving password security and preserving privacy

How Meta is improving password security and preserving privacy

Meta is developing new privacy-enhancing technologies (PETs) to innovate and solve problems with less data. These technologies enable teams to build and launch privacy-enhanced products in a way that’s verifiable and safeguards user data. Using state-of-the-art cryptographic techniques, we have developed Private Data Lookup (PDL) that allows users to privately query a server-side data set. […] Rea

MEMeta Engineering·August 8, 2023Security
SRE & Ops — Fixit 2: Meta’s next-generation auto-fixing linter

Fixit 2: Meta’s next-generation auto-fixing linter

Fixit is dead! Long live Fixit 2 – the latest version of our open-source auto-fixing linter. Fixit 2 allows developers to efficiently build custom lint rules and perform auto-fixes for their codebases. Fixit 2 is available today on PyPI. Python is one of the most popular languages in use at Meta. Meta’s production engineers (PEs) […]

CWChris Wiltz·August 7, 2023SRE & Ops
SRE & Ops — Using short-lived certificates to protect TLS secrets

Using short-lived certificates to protect TLS secrets

Short-lived certificates (SLCs) are part of our latest efforts to further secure our Transport Layer Security (TLS) private keys on our edge networks. SLCs have a very short exposure compared to traditional certificates and lower the chances of a compromised private key being abused. Implementing SLCs has required us to address tradeoffs between operability and […]

CWChris Wiltz·August 7, 2023SRE & Ops
Frontend — Bringing HDR video to Reels

Bringing HDR video to Reels

Meta has made it possible for people to upload high dynamic range (HDR) videos from their phone’s camera roll to Reels on Facebook and Instagram. To show standard dynamic range (SDR) UI elements and overlays legibly on top of HDR video, we render them at a brightness level comparable to the video itself. We solved […]

MEMeta Engineering·July 17, 2023Frontend
Networking — Meta’s Evenstar is transitioning to OCP to accelerate open RAN adoption

Meta’s Evenstar is transitioning to OCP to accelerate open RAN adoption

Meta is transferring its IP for Evenstar, a program to accelerate the adoption of open RAN technologies, to the Open Compute Project (OCP). Meta will contribute Evenstar’s radio unit design to OCP, giving the telecom industry its first open, white box radio unit solution. The TIP Open RAN community will leverage the Evenstar radio unit […]

CWChris Wiltz·June 29, 2023Networking
SRE & Ops — Meta developer tools: Working at scale

Meta developer tools: Working at scale

Every day, thousands of developers at Meta are working in repositories with millions of files. Those developers need tools that help them at every stage of the workflow while working at extreme scale. In this article we’ll go through a few of the tools in the development process. And, as an added bonus, those we […]

CWChris Wiltz·June 27, 2023SRE & Ops
Networking — Bombyx is being licensed for product development

Bombyx is being licensed for product development

When we first conceived of our aerial fiber deployment solution, Bombyx (the Latin name for a silk moth), we imagined a robot weaving strands of fiber-optic cables over powerlines, helping human workers quickly connect communities even in very rural or remote locations. Now, after years of successful research, Bombyx is taking the next steps in […]

CWChris Wiltz·May 22, 2023Networking
SRE & Ops — Building and deploying MySQL Raft at Meta

Building and deploying MySQL Raft at Meta

We’re rolling out MySQL Raft with the aim to eventually replace our current MySQL semisynchronous databases. The biggest win of MySQL Raft was simplification of the operation and making MySQL servers take care of promotions and membership. This gave the provable safety of Raft and reduced significant operational pain. Making MySQL server a true […]

MEMeta Engineering·May 16, 2023SRE & Ops
Security — The malware threat landscape: NodeStealer, DuckTail, and more

The malware threat landscape: NodeStealer, DuckTail, and more

We’re sharing our latest threat research and technical analysis into persistent malware campaigns targeting businesses across the internet, including threat indicators to help raise our industry’s collective defenses across the internet. These malware families – including Ducktail, NodeStealer and newer malware posing as ChatGPT and other similar tools– targeted people through malicious browser ex

MEMeta Engineering·May 3, 2023Security
Networking — A fine-grained network traffic analysis with Millisampler

A fine-grained network traffic analysis with Millisampler

What the research is: Millisampler is one of Meta’s latest characterization tools and allows us to observe, characterize, and debug network performance at high-granularity timescales efficiently. This lightweight network traffic characterization tool for continual monitoring operates at fine, configurable timescales. It collects time series of ingress and egress traffic volumes, number of active f

MEMeta Engineering·April 17, 2023Networking
Frontend — Deploying key transparency at WhatsApp

Deploying key transparency at WhatsApp

WhatsApp has launched a new cryptographic security feature to automatically verify a secured connection based on key transparency. The feature requires no additional actions or steps from users and helps ensure that a conversation is secure. Key transparency solutions help strengthen the guarantee that end-to-end encryption provides to private, personal messaging applications in a transparent

CWChris Wiltz·April 13, 2023Frontend
Frontend — How Device Verification protects your WhatsApp account

How Device Verification protects your WhatsApp account

WhatsApp has launched a new security feature that further helps prevent attackers from using vectors like on-device malware. This security feature, called Device Verification, requires no action or additional steps from users and helps protect your account. This feature is part of our broader work to increase security for our users from the growing threat […]

CWChris Wiltz·April 13, 2023Frontend
Frontend — Why xHE-AAC is being embraced at Meta

Why xHE-AAC is being embraced at Meta

We’re sharing how Meta delivers high-quality audio at scale with the xHE-AAC audio codec. xHE-AAC has already been deployed on Facebook and Instagram to provide enhanced audio for features like Reels and Stories. At Meta, we serve every media use case imaginable for billions of people across the world — from short-form, user-generated content, such […]

CWChris Wiltz·April 11, 2023Frontend
SRE & Ops — Build faster with Buck2: Our open source build system

Build faster with Buck2: Our open source build system

Buck2, our new open source, large-scale build system, is now available on GitHub. Buck2 is an extensible and performant build system written in Rust and designed to make your build experience faster and more efficient. In our internal tests at Meta, we observed that Buck2 completed builds 2x as fast as Buck1. Buck2, Meta’s open […]

CWChris Wiltz·April 6, 2023SRE & Ops
SRE & Ops — Introducing Velox: An open source unified execution engine

Introducing Velox: An open source unified execution engine

Meta is introducing Velox, an open source unified execution engine aimed at accelerating data management systems and streamlining their development. Velox is under active development. Experimental results from our paper published at the International Conference on Very Large Data Bases (VLDB) 2022 show how Velox improves efficiency and consistency in data management systems. Velox helps […] Read M

CWChris Wiltz·March 9, 2023SRE & Ops
Engineering — Meta’s head of AR hardware on the future of AR

Meta’s head of AR hardware on the future of AR

While VR headsets have been with us for at least a decade, AR hardware barely exists today; indeed, the very components that will comprise the hardware scarcely exist, making it a truly zero-to-one innovation challenge. Meta’s Head of AR Glasses Hardware, Caitlin Kalinowski is helping to lead that charge. Kalinowski hails from Portsmouth, NH and studied mechanical […]

MEMeta Engineering·February 24, 2023Engineering
Engineering — How Meta brought AV1 to Reels

How Meta brought AV1 to Reels

We’re sharing how we’re enabling production and delivery of AV1 for Facebook Reels and Instagram Reels. We believe AV1 is the most viable codec for Meta for the coming years. It offers higher quality at a much lower bit rate compared with previous generations of video codecs. Meta has worked closely with the open source […]

CWChris Wiltz·February 21, 2023Engineering
Engineering — Inside Meta’s first smart glasses

Inside Meta’s first smart glasses

What’s new: Meta is sharing the inside story of how it developed the Ray-Ban Stories smart glasses. Why it matters: Creating Ray-Ban Stories meant Meta’s engineers had to take on new challenges to build smart glasses that married complex engineering dynamics. How do you make something that features cameras, microphones, audio, and touch controls, all […]

CWChris Wiltz·February 16, 2023Engineering
SRE & Ops — Building a cross-platform runtime for AR

Building a cross-platform runtime for AR

Meta’s augmented reality (AR) platform is one of the largest in the world, helping the billions of people on Meta’s apps experience AR every day and giving hundreds of thousands of creators a means to express themselves Meta’s AR tools are unique because they can be used on a wide variety of devices — from […]

MEMeta Engineering·February 13, 2023SRE & Ops
Engineering — Improving Meta’s global maps

Improving Meta’s global maps

A lot has changed since the initial launch of our basemap in late 2020. We’re Meta now, but our mission remains the same: Giving people the power to build community and bring the world closer together. Across Meta, our family of applications (Facebook, Instagram, WhatsApp, among others) are using our basemap to connect people through […]

CWChris Wiltz·February 7, 2023Engineering
SRE & Ops — The evolution of Facebook’s iOS app architecture

The evolution of Facebook’s iOS app architecture

Facebook for iOS (FBiOS) is the oldest mobile codebase at Meta. Since the app was rewritten in 2012, it has been worked on by thousands of engineers and shipped to billions of users, and it can support hundreds of engineers iterating on it at a time. After years of iteration, the Facebook codebase does not […]

CWChris Wiltz·February 6, 2023SRE & Ops
SRE & Ops — Asynchronous computing at Meta: Overview and learnings

Asynchronous computing at Meta: Overview and learnings

We’ve made architecture changes to Meta’s event driven asynchronous computing platform that have enabled easy integration with multiple event-sources. We’re sharing our learnings from handling various workloads and how to tackle trade offs made with certain design choices in building the platform. Asynchronous computing is a paradigm where the user does not expect a workload […]

CWChris Wiltz·January 31, 2023SRE & Ops
Networking — Watch Meta’s engineers discuss optimizing large-scale networks

Watch Meta’s engineers discuss optimizing large-scale networks

Managing network solutions amidst a growing scale inherently brings challenges around performance, deployment, and operational complexities. At Meta, we’ve found that these challenges broadly fall into three themes: 1.) Data center networking: Over the past decade, on the physical front, we have seen a rise in vendor-specific hardware that comes with heterogeneous feature and […]

CWChris Wiltz·January 27, 2023Networking
SRE & Ops — Tulip: Modernizing Meta’s data platform

Tulip: Modernizing Meta’s data platform

The technical journey discusses the motivations, challenges, and technical solutions employed for warehouse schematization, especially a change to the wire serialization format employed in Meta’s data platform for data interchange related to Warehouse Analytics Logging. Here, we discuss the engineering, scaling, and nontechnical challenges of modernizing Meta’s exabyte-scale data platform by migra

CWChris Wiltz·January 26, 2023SRE & Ops
SRE & Ops — Open-sourcing Anonymous Credential Service

Open-sourcing Anonymous Credential Service

Meta has open-sourced Anonymous Credential Service (ACS), a highly available multitenant service that allows clients to authenticate in a de-identified manner. ACS enhances privacy and security while also being compute-conscious. By open-sourcing and fostering a community for ACS, we believe we can accelerate the pace of innovation in de-identified authentication. Data minimization — collecting th

CWChris Wiltz·December 12, 2022SRE & Ops
SRE & Ops — Enabling static analysis of SQL queries at Meta

Enabling static analysis of SQL queries at Meta

UPM is our internal standalone library to perform static analysis of SQL code and enhance SQL authoring. UPM takes SQL code as input and represents it as a data structure called a semantic tree. Infrastructure teams at Meta leverage UPM to build SQL linters, catch user mistakes in SQL code, and perform data lineage analysis […]

MEMeta Engineering·November 30, 2022SRE & Ops
SRE & Ops — Retrofitting null-safety onto Java at Meta

Retrofitting null-safety onto Java at Meta

We developed a new static analysis tool called Nullsafe that is used at Meta to detect NullPointerException (NPE) errors in Java code. Interoperability with legacy code and gradual deployment model were key to Nullsafe’s wide adoption and allowed us to recover some null-safety properties in the context of an otherwise null-unsafe language in a multimillion-line […]

CWChris Wiltz·November 22, 2022SRE & Ops
Networking — PTP: Timing accuracy and precision for the future of computing

PTP: Timing accuracy and precision for the future of computing

Meta is deploying a timing protocol, Precision Time Protocol (PTP), that will offer new levels of accuracy and precision to our networks and data centers. We believe PTP will become the global standard for keeping time in computer networks. PTP will benefit today’s products and services and will be a foundational technology behind the development […]

CWChris Wiltz·November 21, 2022Networking
Networking — How Precision Time Protocol is being deployed at Meta

How Precision Time Protocol is being deployed at Meta

Implementing Precision Time Protocol (PTP) at Meta allows us to synchronize the systems that drive our products and services down to nanosecond precision. PTP’s predecessor, Network Time Protocol (NTP), provided us with millisecond precision, but as we scale to more advanced systems on our way to building the next computing platform, the metaverse and AI, […]

CWChris Wiltz·November 21, 2022Networking
Career & Teams — Move faster, wait less: Improving code review time at Meta

Move faster, wait less: Improving code review time at Meta

Code reviews are one of the most important parts of the software development process At Meta we’ve recognized the need to make code reviews as fast as possible without sacrificing quality We’re sharing several tools and steps we’ve taken at Meta to reduce the time waiting for code reviews When done well, code reviews can […]

CWChris Wiltz·November 16, 2022Career & Teams
SRE & Ops — Sapling: Source control that’s user-friendly and scalable

Sapling: Source control that’s user-friendly and scalable

Sapling is a new Git-compatible source control client. Sapling emphasizes usability while also scaling to the largest repositories in the world. ReviewStack is a demonstration code review UI for GitHub pull requests that integrates with Sapling to make reviewing stacks of commits easy. You can get started using Sapling today. Source control is one of […]

CWChris Wiltz·November 15, 2022SRE & Ops
SRE & Ops — Tulip: Schematizing Meta’s data platform

Tulip: Schematizing Meta’s data platform

We’re sharing Tulip, a binary serialization protocol supporting schema evolution. Tulip assists with data schematization by addressing protocol reliability and other issues simultaneously. It replaces multiple legacy formats used in Meta’s data platform and has achieved significant performance and efficiency gains. There are numerous heterogeneous services, such as warehouse data storage and vario

CWChris Wiltz·November 9, 2022SRE & Ops
Networking — Reducing Instagram’s basic video compute time by 94 percent

Reducing Instagram’s basic video compute time by 94 percent

In our constant quest to prioritize efficiency, Instagram’s engineers have developed a way to process new videos that reduces the cost to produce basic video encodings by 94 percent. With this method in place, Meta’s video infrastructure can continue to scale without needing to add more machines. This frees up resources so more people can […]

CWChris Wiltz·November 4, 2022Networking
SRE & Ops — Improving Instagram notification management with machine learning and causal inference

Improving Instagram notification management with machine learning and causal inference

We’re sharing how Meta is applying statistics and machine learning (ML) to improve notification personalization and management on Instagram – particularly on daily digest push notifications. By using causal inference and ML to identify highly active users who are likely to see more content organically, we have been able to reduce the number of notifications […]

CWChris Wiltz·October 31, 2022SRE & Ops
Frontend — From zero to 10 million lines of Kotlin

From zero to 10 million lines of Kotlin

We’re sharing lessons learned from shifting our Android development from Java to Kotlin. Kotlin is a popular language for Android development and offers some key advantages over Java. As of today, our Android codebase contains over 10 million lines of Kotlin code. We’re open sourcing various examples and utilities we used to manipulate Kotlin code […]

CWChris Wiltz·October 24, 2022Frontend
SRE & Ops — OCP Summit 2022: Open hardware for AI infrastructure

OCP Summit 2022: Open hardware for AI infrastructure

At OCP Summit 2022, we’re announcing Grand Teton, our next-generation platform for AI at scale that we’ll contribute to the OCP community. We’re also sharing new innovations designed to support data centers as they advance to support new AI technologies: A new, more efficient version of Open Rack. Our Air-Assisted Liquid Cooling (AALC) – design. […]

CWChris Wiltz·October 18, 2022SRE & Ops
Frontend — Launching a new Chromium-based WebView for Android

Launching a new Chromium-based WebView for Android

Our in-app browser for Facebook on Android has historically relied on an Android System WebView based on Chromium, the open source project that powers many browsers on Android and other operating systems. On other mobile operating systems, the System WebView component cannot be updated without updating the entire operating system. On Android, this works differently, […]

CWChris Wiltz·September 30, 2022Frontend
SRE & Ops — Scaling data ingestion for machine learning training at Meta

Scaling data ingestion for machine learning training at Meta

Many of Meta’s products, such as search, ads ranking and Marketplace, utilize AI models to continuously improve user experiences. As the performance of hardware we use to support training infrastructure increases, we need to scale our data ingestion infrastructure accordingly to handle workloads more efficiently. GPUs, which are used for training infrastructure, tend to double […]

MEMeta Engineering·September 19, 2022SRE & Ops
SRE & Ops — How thermal simulation helps optimize Meta’s data centers

How thermal simulation helps optimize Meta’s data centers

Data center optimization has always played an important role at Meta. By optimizing our data centers’ environmental controls, we can reduce our environmental impact while ensuring that people can always depend on our products. With most other complex systems, optimization of energy consumption is a trial-and-error process. But experimenting on any component of a live […]

MEMeta Engineering·September 14, 2022SRE & Ops
SRE & Ops — MemLab: An open source framework for finding JavaScript memory leaks

MemLab: An open source framework for finding JavaScript memory leaks

We’ve open-sourced MemLab, a JavaScript memory testing framework that automates memory leak detection. Finding and addressing the root cause of memory leaks is important for delivering a quality user experience on web applications. MemLab has helped engineers and developers at Meta improve user experience and make significant improvements in memory optimization. We hope it will […]

CWChris Wiltz·September 12, 2022SRE & Ops
SRE & Ops — Open-sourcing TAOBench: An end-to-end social network benchmark

Open-sourcing TAOBench: An end-to-end social network benchmark

What the research is: The continued emergence of large social network applications has introduced a scale of data and query volume that challenges the limits of existing data stores. However, few benchmarks accurately simulate these request patterns, leaving researchers in short supply of tools to evaluate and improve upon these systems. To address this issue, […]

CWChris Wiltz·September 7, 2022SRE & Ops