Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Sanjay Ghemawat

dblp:g/SGhemawat · DBLP profile ↗
← Back
19ranked-venue papers
4as first author
3since 2021 · last 2025
0009-0005-6843-3093ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 10 · 4 first-author · 1 since 2021Systems, architecture and hardware · 5Artificial intelligence and machine learning · 2 · 1 since 2021Databases, data management, data science and information retrieval · 2 · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Artificial intelligence
3 papers
Language models and text generation · 44% Efficient and distributed learning · 22% Deep learning architectures and training · 15%
Computer architecture, parallel and distributed computing, and storage systems
14 papers
Distributed systems · 76% Storage systems · 11% High-performance computing · 4%
Software engineering, system software, and programming languages
4 papers
Software testing · 48% Software maintenance and evolution · 48% Program analysis · 2%
Databases, data mining, and information retrieval
5 papers
Database system architecture and tuning · 72% Distributed and cloud data management · 21% Data models and query languages · 3%

Topics — the 30 heaviest of 46, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software testing
differential testing
0.912025
Vive la Différence: Practical Diff Testing of Stateful Applications · Proc. VLDB Endow. 2025
Natural language and speech › Language models and text generation
chain-of-thought reasoning
0.712023
PaLM: Scaling Language Modeling with Pathways · J. Mach. Learn. Res. 2023
Machine learning › Transfer learning and domain adaptation
few-shot learning
0.712023
PaLM: Scaling Language Modeling with Pathways · J. Mach. Learn. Res. 2023
Natural language and speech › Language models and text generation
instruction following
0.712023
PaLM: Scaling Language Modeling with Pathways · J. Mach. Learn. Res. 2023
Natural language and speech › Language models and text generation
large language model
0.712023
PaLM: Scaling Language Modeling with Pathways · J. Mach. Learn. Res. 2023
Machine learning › Deep learning architectures and training
scaling laws
0.712023
PaLM: Scaling Language Modeling with Pathways · J. Mach. Learn. Res. 2023
Machine learning › Efficient and distributed learning
distributed training
0.522023
Dynamic control flow in large-scale machine learning · EuroSys 2018
PaLM: Scaling Language Modeling with Pathways · J. Mach. Learn. Res. 2023
Distributed systems
distributed machine learning
0.312018
Dynamic control flow in large-scale machine learning · EuroSys 2018
Distributed systems
distributed database
0.322013
Spanner: Google's Globally Distributed Database · ACM Trans. Comput. Syst. 2013
Spanner: Google's Globally-Distributed Database · OSDI 2012
Machine learning › Efficient and distributed learning
large-scale learning
0.212016
TensorFlow: A System for Large-Scale Machine Learning · OSDI 2016
Distributed systems
large-scale machine learning systems
0.212016
TensorFlow: A System for Large-Scale Machine Learning · OSDI 2016
Machine learning › Efficient and distributed learning › distributed training
model parallelism
0.212023
PaLM: Scaling Language Modeling with Pathways · J. Mach. Learn. Res. 2023
Distributed systems
replication
0.232013
Spanner: Google's Globally Distributed Database · ACM Trans. Comput. Syst. 2013
Providing High Availability Using Lazy Replication · ACM Trans. Comput. Syst. 1992
Replication in the Harp File System · SOSP 1991
Distributed systems
consensus
0.212013
Spanner: Google's Globally Distributed Database · ACM Trans. Comput. Syst. 2013
Distributed systems › replication › update propagation
synchronous replication
0.212013
Spanner: Google's Globally Distributed Database · ACM Trans. Comput. Syst. 2013
Storage systems
distributed storage
0.122008
Bigtable: A Distributed Storage System for Structured Data · ACM Trans. Comput. Syst. 2008
Bigtable: A Distributed Storage System for Structured Data (Awarded Best Paper!) · OSDI 2006
Distributed systems
fault tolerance
0.022003
The Google file system · SOSP 2003
Replication in the Harp File System · SOSP 1991
High-performance computing › data-intensive computing
large-scale data processing
0.012004
MapReduce: Simplified Data Processing on Large Clusters · OSDI 2004
Parallel and multicore computing › data-parallel programming
mapreduce
0.012004
MapReduce: Simplified Data Processing on Large Clusters · OSDI 2004
Distributed systems › distributed coordination and fault tolerance
consensus and replication
0.012012
Spanner: Google's Globally-Distributed Database · OSDI 2012
Storage systems › file systems
distributed file system
0.012003
The Google file system · SOSP 2003
Storage systems › data redundancy
replicated storage
0.012003
The Google file system · SOSP 2003
Performance modeling and evaluation › profiling
continuous profiling
0.021997
Continuous Profiling: Where Have All the Cycles Gone? · ACM Trans. Comput. Syst. 1997
Continuous Profiling: Where Have All the Cycles Gone? · SOSP 1997
Performance modeling and evaluation
profiling
0.021997
Continuous Profiling: Where Have All the Cycles Gone? · ACM Trans. Comput. Syst. 1997
Continuous Profiling: Where Have All the Cycles Gone? · SOSP 1997
Compilers and program optimization
compiler optimization
0.012000
Field analysis: getting useful and low-cost interprocedural information · PLDI 2000
Program analysis › static analysis
interprocedural analysis
0.012000
Field analysis: getting useful and low-cost interprocedural information · PLDI 2000
High-performance computing › cluster computing
commodity cluster
0.012008
Bigtable: A Distributed Storage System for Structured Data · ACM Trans. Comput. Syst. 2008
Indexing and storage engines › caching
cache management
0.011996
Safe and Efficient Sharing of Persistent Objects in Thor · SIGMOD Conference 1996
Data models and query languages
object-oriented database
0.011996
Safe and Efficient Sharing of Persistent Objects in Thor · SIGMOD Conference 1996
Distributed systems › fault tolerance
high availability
0.031996
Replication in the Harp File System · SOSP 1991
Safe and Efficient Sharing of Persistent Objects in Thor · SIGMOD Conference 1996
Providing High Availability Using Lazy Replication · ACM Trans. Comput. Syst. 1992

Methods — techniques the papers use, named apart from their topics

request replay · 1.7diff testing · 1.7database branching · 1.7transformer · 0.7pathways · 0.7data flow graphs · 0.6data flow graph · 0.6truetime · 0.2tablet partitioning · 0.2sparse table data model · 0.2replication · 0.0fault tolerance · 0.0sampling-based profiling · 0.0encapsulation · 0.0adaptive prefetching · 0.0object buffering · 0.0access modifier analysis · 0.0
YearPublicationVenuePosition
2025 Vive la Différence: Practical Diff Testing of Stateful Applications
abstract
Software rollout is the process of replacing the version of an application that is currently running in production with a new version. Many subtle and catastrophic bugs occur during software rollout. There are many existing techniques to improve the odds of a rollout completing successfully, but these techniques don't work well when the application has shared, persistent, mutable state. In this paper, we present a practical framework to test the rollout of stateful applications. Our framework uses diff testing to verify that the new version of an application behaves identically to the currently running version that will be replaced. The framework has three main components to safely and efficiently compare the behavior of the two versions. First, we implement database branching on top of Postgres. Second, we implement an efficient algorithm to diff two database branches. Third, we describe how to replay client requests to improve test coverage. Finally, we identify three common categories of rollout bugs and demonstrate how our framework can find these bugs with minimal performance overhead.
Michael Whittaker, Srdjan Petrovic, Robert Grandl, Sanjay Ghemawat
Proc. VLDB Endow.5
2023 Towards Modern Development of Cloud Applications
abstract
When writing a distributed application, conventional wisdom says to split your application into separate services that can be rolled out independently. This approach is well-intentioned, but a microservices-based architecture like this often backfires, introducing challenges that counteract the benefits the architecture tries to achieve. Fundamentally, this is because microservices conflate logical boundaries (how code is written) with physical boundaries (how code is deployed). In this paper, we propose a different programming methodology that decouples the two in order to solve these challenges. With our approach, developers write their applications as logical monoliths, offload the decisions of how to distribute and run applications to an automated runtime, and deploy applications atomically. Our prototype implementation reduces application latency by up to 15× and reduces cost by up to 9× compared to the status quo.
Sanjay Ghemawat, Robert Grandl, Srdjan Petrovic, Michael Whittaker, Parveen Patel, Ivan Posva, Amin Vahdat
HotOS1
2023 PaLM: Scaling Language Modeling with Pathways
abstract
Large language models have been shown to achieve remarkable performance across a variety of natural language tasks using few-shot learning, which drastically reduces the number of task-specific training examples needed to adapt the model to a particular application. To further our understanding of the impact of scale on few-shot learning, we trained a 540-billion parameter, densely activated, Transformer language model, which we call Pathways Language Model (PaLM). We trained PaLM on 6144 TPU v4 chips using Pathways, a new ML system which enables highly efficient training across multiple TPU Pods. We demonstrate continued benefits of scaling by achieving state-of-the-art few-shot learning results on hundreds of language understanding and generation benchmarks. On a number of these tasks, PaLM 540B achieves breakthrough performance, outperforming the finetuned state-of-the-art on a suite of multi-step reasoning tasks, and outperforming average human performance on the recently released BIG-bench benchmark. A significant number of BIG-bench tasks showed discontinuous improvements from model scale, meaning that performance steeply increased as we scaled to our largest model. PaLM also has strong capabilities in multilingual tasks and source code generation, which we demonstrate on a wide array of benchmarks. We additionally provide a comprehensive analysis on bias and toxicity, and study the extent of training data memorization with respect to model scale. Finally, we discuss the ethical considerations related to large language models and discuss potential mitigation strategies.
Aakanksha Chowdhery, Sharan Narang, Jacob Devlin, Maarten Bosma, Adam Roberts, Paul Barham 0001, Hyung Won Chung, Charles Sutton, Sebastian Gehrmann, Parker Schuh, Kensen Shi, Sasha Tsvyashchenko, Joshua Maynez, Abhishek Rao, Parker Barnes, Yi Tay, Noam Shazeer, Vinodkumar Prabhakaran, Emily Reif, Nan Du 0002, Ben Hutchinson, Reiner Pope, Jacob Austin, Michael Isard, Guy Gur-Ari, Toju Duke, Anselm Levskaya, Sanjay Ghemawat, Sunipa Dev, Henryk Michalewski, Xavier Garcia, Vedant Misra, Kevin Robinson, William Fedus, Denny Zhou, Daphne Ippolito, David Luan, Hyeontaek Lim, Barret Zoph, Alexander Spiridonov, Ryan Sepassi, David Dohan, Shivani Agrawal, Mark Omernick, Andrew M. Dai, Thanumalayan Sankaranarayana Pillai, Marie Pellat, Aitor Lewkowycz, Erica Moreira, Rewon Child, Oleksandr Polozov, Katherine Lee, Zongwei Zhou, Xuezhi Wang 0002, Brennan Saeta, Mark Diaz, Orhan Firat, Michele Catasta, Jason Wei, Kathy Meier-Hellstern, Douglas Eck, Jeffrey Dean, Slav Petrov, Noah Fiedel
J. Mach. Learn. Res.31
2018 Dynamic control flow in large-scale machine learning
abstract
Many recent machine learning models rely on fine-grained dynamic control flow for training and inference. In particular, models based on recurrent neural networks and on reinforcement learning depend on recurrence relations, data-dependent conditional execution, and other features that call for dynamic control flow. These applications benefit from the ability to make rapid control-flow decisions across a set of computing devices in a distributed system. For performance, scalability, and expressiveness, a machine learning system must support dynamic control flow in distributed and heterogeneous environments.
Martín Abadi, Paul Barham 0001, Eugene Brevdo, Michael Burrows, Andy Davis, Jeffrey Dean, Sanjay Ghemawat, Tim Harley, Peter Hawkins, Michael Isard, Manjunath Kudlur, Rajat Monga, Derek Gordon Murray, Xiaoqiang Zheng
EuroSys8
2016 TensorFlow: A System for Large-Scale Machine Learning
Martín Abadi, Paul Barham 0001, Jianmin Chen, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Geoffrey Irving, Michael Isard, Manjunath Kudlur, Josh Levenberg, Rajat Monga, Sherry Moore, Derek Gordon Murray, Benoit Steiner, Paul A. Tucker, Vijay Vasudevan, Pete Warden, Martin Wicke, Xiaoqiang Zheng
OSDI8
2013 Spanner: Google's Globally Distributed Database
abstract
Spanner is Google’s scalable, multiversion, globally distributed, and synchronously replicated database. It is the first system to distribute data at global scale and support externally-consistent distributed transactions. This article describes how Spanner is structured, its feature set, the rationale underlying various design decisions, and a novel time API that exposes clock uncertainty. This API and its implementation are critical to supporting external consistency and a variety of powerful features: nonblocking reads in the past, lock-free snapshot transactions, and atomic schema changes, across all of Spanner.
James C. Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost 0001, J. J. Furman, Sanjay Ghemawat, Andrey Gubarev, Christopher Heiser, Peter Hochschild, Wilson C. Hsieh, Sebastian Kanthak, Eugene Kogan, Alexander Lloyd, Sergey Melnik 0001, David Mwaura, David Nagle, Sean Quinlan, Rajesh Rao, Lindsay Rolig, Yasushi Saito, Michal Szymaniak, Ruth Wang, Dale Woodford
ACM Trans. Comput. Syst.7
2012 Spanner: Google's Globally-Distributed Database
James C. Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost 0001, J. J. Furman, Sanjay Ghemawat, Andrey Gubarev, Christopher Heiser, Peter Hochschild, Wilson C. Hsieh, Sebastian Kanthak, Eugene Kogan, Alexander Lloyd, Sergey Melnik 0001, David Mwaura, David Nagle, Sean Quinlan, Rajesh Rao, Lindsay Rolig, Yasushi Saito, Michal Szymaniak, Ruth Wang, Dale Woodford
OSDI7
2009 Back-off language model compression
Boulos Harb, Ciprian Chelba, Jeffrey Dean, Sanjay Ghemawat
INTERSPEECH4
2008 Bigtable: A Distributed Storage System for Structured Data
abstract
Bigtable is a distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers. Many projects at Google store data in Bigtable, including web indexing, Google Earth, and Google Finance. These applications place very different demands on Bigtable, both in terms of data size (from URLs to web pages to satellite imagery) and latency requirements (from backend bulk processing to real-time data serving). Despite these varied demands, Bigtable has successfully provided a flexible, high-performance solution for all of these Google products. In this article, we describe the simple data model provided by Bigtable, which gives clients dynamic control over data layout and format, and we describe the design and implementation of Bigtable.
Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Michael Burrows, Tushar Chandra, Andrew Fikes, Robert Gruber
ACM Trans. Comput. Syst.3
2006 Bigtable: A Distributed Storage System for Structured Data (Awarded Best Paper!)
Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Michael Burrows, Tushar Chandra, Andrew Fikes, Robert Gruber
OSDI3
2004 MapReduce: Simplified Data Processing on Large Clusters
Jeffrey Dean, Sanjay Ghemawat
OSDI2
2003 The Google file system
abstract
article Share on The Google file system Authors: Sanjay Ghemawat Google GoogleView Profile , Howard Gobioff Google GoogleView Profile , Shun-Tak Leung Google GoogleView Profile Authors Info & Claims ACM SIGOPS Operating Systems ReviewVolume 37Issue 5December 2003 pp 29–43https://doi.org/10.1145/1165389.945450Online:19 October 2003Publication History 2,957citation60,150DownloadsMetricsTotal Citations2,957Total Downloads60,150Last 12 Months3,038Last 6 weeks280 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung
SOSP1
2000 Field analysis: getting useful and low-cost interprocedural information
abstract
We present a new limited form of interprocedural analysis called field analysis that can be used by a compiler to reduce the costs of modern language features such as object-oriented programming, automatic memory management, and run-time checks required for type safety. Unlike many previous interprocedural analyses, our analysis is cheap, and does not require access to the entire program. Field analysis exploits the declared access restrictions placed on fields in a modular language (e.g. field access modifiers in Java) in order to determine useful properties of fields of an object. We describe our implementation of field analysis in the Swift optimizing compiler for Java, as well a set of optimizations that exploit the results of field analysis. These optimizations include removal of run-time tests, compile-time resolution of method calls, object inlining, removal of unnecessary synchronization, and stack allocation. Our results demonstrate that field analysis is efficient and effective. Speedups average 7% on a wide range of applications, with some times reduced by up to 27%. Compile time overhead of field analysis is about 10%.
Sanjay Ghemawat, Keith H. Randall, Daniel J. Scales
PLDI1
1997 Continuous Profiling: Where Have All the Cycles Gone?
abstract
Article Continuous profiling: where have all the cycles gone? Share on Authors: Jennifer M. Anderson View Profile , Lance M. Berc View Profile , Jeffrey Dean View Profile , Sanjay Ghemawat View Profile , Monika R. Henzinger View Profile , Shun-Tak A. Leung View Profile , Richard L. Sites View Profile , Mark T. Vandevoorde View Profile , Carl A. Waldspurger View Profile , William E. Weihl View Profile Authors Info & Claims SOSP '97: Proceedings of the sixteenth ACM symposium on Operating systems principlesOctober 1997 Pages 1–14https://doi.org/10.1145/268998.266637Published:01 October 1997 175citation1,209DownloadsMetricsTotal Citations175Total Downloads1,209Last 12 Months17Last 6 weeks3 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Jennifer-Ann M. Anderson, Lance M. Berc, Jeffrey Dean, Sanjay Ghemawat, Monika Henzinger, Shun-Tak Leung, Richard L. Sites, Mark T. Vandevoorde, Carl A. Waldspurger, William E. Weihl
SOSP4
1997 Continuous Profiling: Where Have All the Cycles Gone?
abstract
This article describes the Digital Continuous Profiling Infrastructure, a sampling-based profiling system designed to run continuously on production systems. The system supports multiprocessors, works on unmodified executables, and collects profiles for entire systems, including user programs, shared libraries, and the operating system kernel. Samples are collected at a high rate (over 5200 samples/sec. per 333MHz processor), yet with low overhead (1–3% slowdown for most workloads). Analysis tools supplied with the profiling system use the sample data to produce a precise and accurate accounting, down to the level of pipeline stalls incurred by individual instructions, of where time is bring spent. When instructions incur stalls, the tools identify possible reasons, such as cache misses, branch mispredictions, and functional unit contention. The fine-grained instruction-level analysis guides users and automated optimizers to the causes of performance problems and provides important insights for fixing them.
Jennifer-Ann M. Anderson, Lance M. Berc, Jeffrey Dean, Sanjay Ghemawat, Monika Henzinger, Shun-Tak Leung, Richard L. Sites, Mark T. Vandevoorde, Carl A. Waldspurger, William E. Weihl
ACM Trans. Comput. Syst.4
1996 Safe and Efficient Sharing of Persistent Objects in Thor
abstract
Thor is an object-oriented database system designed for use in a heterogeneous distributed environment. It provides highly-reliable and highly-available persistent storage for objects, and supports safe sharing of these objects by applications written in different programming languages.Safe heterogeneous sharing of long-lived objects requires encapsulation: the system must guarantee that applications interact with objects only by invoking methods. Although safety concerns are important, most object-oriented databases forgo safety to avoid paying the associated performance costs.This paper gives an overview of Thor's design and implementation. We focus on two areas that set Thor apart from other object-oriented databases. First, we discuss safe sharing and techniques for ensuring it; we also discuss ways of improving application performance without sacrificing safety. Second, we describe our approach to cache management at client machines, including a novel adaptive prefetching strategy.The paper presents performance results for Thor, on several OO7 benchmark traversals. The results show that adaptive prefetching is very effective, improving both the elapsed time of traversals and the amount of space used in the client cache. The results also show that the cost of safe sharing can be negligible; thus it is possible to have both safety and high performance.
Barbara Liskov, Atul Adya, Miguel Castro 0001, Mark Day, Sanjay Ghemawat, Robert Gruber, Umesh Maheshwari, Andrew C. Myers, Liuba Shrira
SIGMOD Conference5
1995 Using a Modified Object Buffer to Improve the Write Performance of an Object-Oriented Database
abstract
No abstract available.
Sanjay Ghemawat, M. Frans Kaashoek, Barbara Liskov
SOSP1
1992 Providing High Availability Using Lazy Replication
abstract
To provide high availability for services such as mail or bulletin boards, data must be replicated. One way to guarantee consistency of replicated data is to force service operations to occur in the same order at all sites, but this approach is expensive. For some applications a weaker causal operation order can preserve consistency while providing better performance. This paper describes a new way of implementing causal operations. Our technique also supports two other kinds of operations: operations that are totally ordered with respect to one another and operations that are totally ordered with respect to all other operations. The method performs well in terms of response time, operation-processing capacity, amount of stored state, and number and size of messages; it does better than replication methods based on reliable multicast techniques.
Rivka Ladin, Barbara Liskov, Liuba Shrira, Sanjay Ghemawat
ACM Trans. Comput. Syst.4
1991 Replication in the Harp File System
abstract
This paper describes the design and implementation of the Harp file system. Harp is a replicated Unix file system accessible via the VFS interface. It provides highly available and reliable storage for files and guarantees that file operations are executed atomically in spite of concurrency and failures. It uses a novel variation of the primary copy replication technique that provides good performance because it allows us to trade disk accesses for network communication. Harp is intended to be used within a file service in a distributed network; in our current implementation, it is accessed via NFS. Preliminary performance results indicate that Harp provides equal or better response time and system capacity than an unreplicated implementation of NFS that uses Unix files directly.
Barbara Liskov, Sanjay Ghemawat, Robert Gruber, Paul Johnson 0001, Liuba Shrira, Michael Williams
SOSP2