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.
Since 1975, USENIX has brought together the community of engineers, system administrators, scientists, and technicians working on the cutting edge of the computing world. USENIX conferences are an essential meeting ground for the presentation and discussion of the most advanced information on the development of computer systems. USENIX fosters community and supports its members’ professional development through its conferences, tutorials, digital library, and periodical publications. USENIX also helps graduate students attend conferences. As a grad student, USENIX scholarships helped me attend several workshops and conferences. These experiences were invaluable for advancing my understanding of the fast-moving field and developing ideas and collaborations with other researchers. Scaling Facebook has required innovative and advanced computer systems.
If you read our engineering blog, you know that scale and non-traditional workloads have required a combination of new, specialized systems as well as adaptations and modifications to existing systems. Our work on memcached is an example of how we have improved and contributed to an existing system. We did not originate memcached, but we are now its biggest user. We also have fed a number of improvements to memcached back into the open code base doubling its throughput while improving memory efficiency by 30% and adding new functionality. Examples of new, specialized systems includes HipHop for PHP, which transforms PHP source code into highly optimized C++, Scribe stream-oriented file system, the Haystack photo storage system, and the Tornado event-driven web server. In the past two years, we have released as open source over 20 different systems.
From its beginnings, Facebook has been built on shared open systems and contributed to software communities. Working with USENIX is another way for Facebook to participate and share innovation in computer systems for the benefit of all.
Tao, a Facebook engineer, works on system security. He received the Ph.D. in CS from Harvard advised by Margo Seltzer.