Engineering Blog

Blog posts tagged 'Compute'

Mike SchroepferChief technology officer at Facebook

Announcing the Grace Hopper Scholarship

Posted about 8 years ago
blog post · Culture · Compute · Women in Tech · Recruiting · Academics

Last year I had the opportunity to participate on the 2009 Grace Hopper Technical Executive Forum in a discussion around the challenges organizations face with the recruitment, retention, and advancement of technical women and the solutions to these challenges. It was an educational and motivational experience, and I've subsequently met many people who were hugely impacted by attending a Grace Hopper conference. Today, I'm thrilled to announce the Facebook Grace Hopper Scholarship. The scholarship will award 5 female university students excelling in Computer Science to attend the Grace Hopper Celebration of Women in Computing conference in Atlanta, Georgia on September 28 - October 2, 2010. The conference's theme this year is 'Collaborating Across Boundaries' and offers incredible opportunities for mentoring, networking, technical and career development. To apply for the scholarship, please visit the Facebook Grace Hopper Scholarship application page. Read more...

Changhao JiangEngineering at Facebook

BigPipe: Pipelining web pages for high performance

Posted about 8 years ago
blog post · Web · Compute · Optimization · JavaScript · Performance · User Experience

Site speed is one of the most critical company goals for Facebook. In 2009, we successfully made Facebook site twice as fast, which was blogged in this post. Several key innovations from our engineering team made this possible. In this blog post, I will describe one of the secret weapons we used called BigPipe that underlies this great technology achievement. BigPipe is a fundamental redesign of the dynamic web page serving system. The general idea is to decompose web pages into small chunks called pagelets, and pipeline them through several execution stages inside web servers and browsers. This is similar to the pipelining performed by most modern microprocessors: multiple instructions are pipelined through different execution units of the processor to achieve the best performance. Although BigPipe is a fundamental redesign of the existing web serving process, it does not require changing existing web browsers or servers; it is implemented entirely in PHP and JavaScript. Read more...

Ari SteinbergSoftware engineer at Facebook
Jason SobelEngineering

Making Facebook 2x Faster

Posted about 8 years ago

Everyone knows the internet is better when it's fast. At Facebook, we strive to make our site as responsive as possible; we've run experiments that prove users view more pages and get more value out of the site when it runs faster. Google and Microsoft presented similar conclusions for their properties at the 2009 O'Reilly Velocity Conference. So how do we go about making Facebook faster? The first thing we have to get right is a way to measure our progress. We want to optimize for users seeing pages as fast as possible so we look at the three main components that contribute to the performance of a page load: network time, generation time, and render time. Read more...

Tao SteinE N G I N E E R. at Facebook

Facebook becomes a USENIX Patron

Posted about 8 years ago
blog post · Infra · Data · Web · Mobile · Compute · Open Source · Research · Graph · Languages · PHP · HipHop · Platformmore

From its beginnings, Facebook has had to solve novel systems challenges to help us scale and grow. The idea of the social graph, and its implementation as a web and mobile platform have repeatedly pushed our computer systems into uncharted territory. The workloads are non-traditional, graph-oriented and write-heavy, and the system has grown rapidly to a base of 350M users around the world. We have survived and thrived due to healthy innovation and creativity, but we haven't done it alone. We have benefited from innovation in both the open source and computer systems communities. The USENIX Association is an essential hub in the systems community and today we are pleased to announce that we are becoming a Patron of the USENIX Association. Read more...

Haiping ZhaoSenior Server Engineer at Facebook
Ben HamiltonSoftware engineer at Facebook

Bootcamp: Growing Culture at Facebook

Posted about 8 years ago
blog post · Culture · Compute · Bootcamp · Recruiting

One of the biggest challenges in any company is instilling your culture and values in your new hires. Especially as a company grows, this challenge becomes harder and harder to solve. In my experience, the most successful companies build a strong, self-sustaining culture from the very early stages, and use that foundation to recruit and retain the best talent in the industry. I just finished my first six weeks here, and I'm proud to say Facebook's engineering organization is built around reinforcing a unique culture of self-sufficient individual contribution from Day One with our Engineering Bootcamp program. (If you don't know much about Engineering Bootcamp at Facebook, check out Andrew Bosworth's excellent introduction to this innovative program. It's great reading!) Looking in from the outside, the idea of joining a general pool of newbie engineers, learning from my mentors and peers, and then choosing the team that best fit me seemed a little alien at first. Before Facebook, I'd always been assigned to a team before my first interview at a company. To think I had control over my own destiny at Facebook was at the same time empowering—and more than a little nerve-wracking! In hindsight, though, the ideas behind Bootcamp are simple and brilliant, and refreshingly different from a traditional new hire training program. Six weeks of hands-on concrete problem solving and cross-team feature work with an experienced mentor are a perfect way for any group (not just Engineering!) to:. Read more...

BozVP of AR/VR at Facebook

Facebook Engineering Bootcamp

Posted about 8 years ago
blog post · Culture · Compute · Recruiting · Bootcamp

One of the statistics we are most proud of at Facebook is our ratio of users to engineers. When I joined the company in January of 2006, we had 5 million users being supported by about 15 engineers, a ratio of about 300,000 users per engineer. We have more than doubled the size of our engineering team every year since then, but our user growth has far outpaced us. Today there are roughly 1.2 million users per engineer. In the summer of 2008, as the engineering team was poised to pass Dunbar's number, we decided to try something new to help us scale. Every new engineer that joined Facebook, whether a recent college grad or a new director, would go through an intensive six week program designed to immerse the new engineer into our code base, give greater flexibility in choosing a project, and promote the types of habits that would allow us to scale up our organization. That program is called Bootcamp. Read more...

Tim StankeEngineering at Facebook

Facebook on TopCoder

Posted about 9 years ago
blog post · Culture · Compute · Hacking · Recruiting · Academics


Matthew WeltyEngineering

10th Annual System Administrator Appreciation Day

Posted about 9 years ago
blog post · Data · Culture · Compute

Today we celebrate the 10th Annual System Administrator Appreciation Day. Sysadmins work throughout Facebook Ops, IT and Engineering 24 hours a day, 7 days a week to keep the critical elements of site services up and running. They make an impact just about everywhere; from internal systems and tools to production applications like Photos, Facebook Connect, and News Feed. Sysadmins are often the invisible heroes behind a company's success. A salesperson might get a bonus for exceeding sales goals, a software engineer might be featured in a magazine or a newspaper for a breakthrough product, but a system administrator...well, they usually just equate success with not getting paged at 2 in the morning. At Facebook, a dedicated group of sysadmins have labored tirelessly to scale our website to serve over 250 million users, others have built out the infrastructure that supports our network of employees across the globe, and altogether they've made a substantial contribution to Facebook's mission to give people the power to share and make the world more open and connected. Please take some time today to thank a sysadmin you know for the work that they do to keep things like your email, fileservers, and favorite websites running at peak performance. If you’re a system administrator yourself and the idea of supporting the infrastructure behind one of the most trafficked sites on the Internet makes your mouth water, be sure to check out our open positions at To learn more about System Administrator Appreciation Day, visit Read more...

Tom CookEngineering

Hammering Usernames

Posted about 9 years ago
blog post · Web · Infra · Compute · Performance · User Experience

Site Reliability Engineering (SRE) at Facebook is always under pressure to keep the site and all the moving pieces behind the scenes running while still delivering an excellent user experience. The recent launch of usernames to our 200 million active users on a single night at the exact same time was unique in its preparation and potential for trouble. Our product teams had evaluated the various options for enabling people to register for their name and decided upon a single first come, first serve registration window for every user. Although this was the most fair, it was difficult operationally because predicting the number of users that would show up at that time to claim a name was impossible. The Memcached infrastructure that runs behind every page on the site was partitioned and expanded to cope with users checking the availability of names. Read more...

Chris PiroEngineering

Chat reaches 1 billion messages sent per day

Posted about 9 years ago
blog post · Web · Infra · Data · Compute · Storage · Chat · Messages

Facebook Chat usage has increased steadily since its launch last year, and this week we reached 1 billion messages sent per day. As a team we've been looking forward to this milestone; we track lots of statistics in the course of maintaining and improving Chat, but this number measures Chat's progress toward its ultimate goal: increasing communication between our users. We've invested a lot in making Chat stable and scalable in the past, and we continue making improvements even now. Read more...

Jonathan HsuEngineering

The Facebook Puzzle Conciseness Contest

Posted about 9 years ago
blog post · Culture · Compute · Performance

A big part of keeping everything humming at Facebook is making sure everyone occasionally has fun. In addition to the hackathons we hold internally, we also sponsor programming contests to let external programmers to show their stuff. This contest revolves around the theme of how low can you go; typically a complicated program has sophisticated logic to ensure maximum performance. But what if we turned on the time machine and went back to 1980 when every byte counted? How much performance can you pack per byte when every byte counts?. Read more...

Aditya AgarwalDirector of Engineering at Facebook

Adapting Open Source Software

Posted about 9 years ago
blog post · Web · Compute · Open Source · Languages · News Feed

Facebook is a fan of open source software. We are heavy users of packages like PHP, MySQL, Memcache and also believe in contributing technology like Thrift and Scribe back to the community. It's interesting not just to hear that companies are using open source software (everyone is!) but rather about how they adapt the software to better suit their needs. Read more...

Chris PiroEngineering

Chat Stability and Scalability

Posted about 9 years ago
blog post · Web · Data · Compute · Languages · Chat · Messages · Performance · Optimization · User Experience

Almost ten months ago we launched Facebook Chat to 70 million users. We ventured into a lot of new territories with this product: not only were there tricky web design and product issues, we needed to develop and launch a trio of new backend services to support all of Chat's functionality. Read more...

Robert JohnsonDirector, Software Engineering at Facebook

Facebook's Scribe technology now open source

Posted about 9 years ago
blog post · Web · Data · Infra · Open Source · Performance · Compute · Development Tools

Here at Facebook, we're constantly facing scaling challanges because of our enormous growth. One particular problem we encountered a couple of years ago was collection of data from our servers. We were collecting a few billion messages a day (which seemed like a lot at the time) for everything from access logs to performance statistics to actions that went to News Feed. We used a variety of different technologies for the different use cases, and all of them were bursting at the seams. We decided to build a unified system (called Scribe) to handle all of these cases, and do it in a way that would scale with Facebook's growth. Read more...

Avinash LakshmanEngineering

Cassandra – A structured storage system on a P2P Network

Posted about 10 years ago
blog post · Data · Compute · Open Source · Storage

When I joined Facebook I was eagerly looking forward to a new challenge. Fortunately, Facebook cannot be accused of a lack of challenging assignments. Prashant Malik,a colleague in Facebook from the Search team, was thinking about how to solve the Inbox Search problem. This challenge is about storing reverse indices of Facebook messages that Facebook users send and receive while communicating with their friends on the Facebook network. The amount of data to be stored, the rate of growth of the data and the requirement to serve it within strict SLAs made it very apparent that a new storage solution was absolutely essential. The solution needed to scale incrementally and in a cost effective fashion. Traditional data storage solutions just wouldn’t fit the bill. The aim was to design a solution that not only solved the Inbox Search problem but also provided a system as a storage infrastructure for many problems of the same nature. Hence was born Cassandra. To keep up with Facebook tradition, Prashant and I started the implementation of Cassandra about a year ago in one of our Hackthons. Cassandra is a distributed storage system for managing structured data that is designed to scale to a very large size across many commodity servers, with no single point of failure. Reliability at massive scale is a very big challenge. Outages in the service can have significant negative impact. Hence Cassandra aims to run on top of an infrastructure of hundreds of nodes (possibly spread across different datacenters). At this scale, small and large components fail continuously; the way Cassandra manages the persistent state in the face of these failures drives the reliability and scalability of the software systems relying on this service. Cassandra has achieved several goals – scalability, high performance, high availability and applicability. In many ways Cassandra resembles a database and shares many design and implementation strategies with databases. Cassandra does not support a full relational data model; instead, it provides clients with a simple data model that supports dynamic control over data layout and format. The rest of the material talks about the data model and the distributed properties, provided by the system. Data Model. Read more...

Keep Updated

Stay up-to-date via RSS with the latest open source project releases from Facebook, news from our Engineering teams, and upcoming events.

Facebook © 2018