Software Systems

Delivering Google's products to our users requires computer systems that have a scale previously unknown to the industry. Building on our hardware foundation, we develop technology across the entire systems stack, from operating system device drivers all the way up to multi-site software systems that run on hundreds of thousands of computers. We design, build and operate warehouse-scale computer systems that are deployed across the globe. We build storage systems that scale to exabytes, approach the performance of RAM, and never lose a byte. We design algorithms that transform our understanding of what is possible. Thanks to the distributed systems we provide our developers, they are some of the most productive in the industry. And we write and publish research papers to share what we have learned, and because peer feedback and interaction helps us build better systems that benefit everybody.

Recent Publications

CodeQueries: A Dataset of Semantic Queries over Code
Shirish Shevade
Aditya Kanade
Surya Prakash Sahu
Madhurima Mandal
Shikhar Bharadwaj
Innovations in Software Engineering (ISEC), ACM, Bangalore, India (2024)
PROMPT: A Fast and Extensible Memory Profiling Framework
Zujun Tan
Simone Campanoni
Ziyang Xu
Yian Su
Yebin Chon
David I. August
Proceedings of the ACM on Programming Languages, 8, Issue OOPSLA (2024)
Dynamic Inference of Likely Symbolic Tensor Shapes in Python Machine Learning Programs
Koushik Sen
International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP) (2024) (to appear)
Characterizing a Memory Allocator at Warehouse Scale
Christina Delimitrou
Nilay Vaish
Patrick Xia
Zhuangzhuang Zhou
Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 3, Association for Computing Machinery, La Jolla, CA, USA (2024), 192–206
Limoncello: Prefetchers for Scale
Carlos Villavieja
Baris Kasikci
Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Association for Computing Machinery, New York, NY, United States (2024)