Wilson C. Hsieh
Research Areas
Authored Publications
Google Publications
Other Publications
Sort By
Spanner: Google's Globally Distributed Database
Preview
Michael Epstein
Andrew Fikes
Christopher Frost
J. J. Furman
Andrey Gubarev
Christopher Heiser
Sebastian Kanthak
Eugene Kogan
Hongyi Li
Sergey Melnik
David Mwaura
David Nagle
Rajesh Rao
Lindsay Rolig
Yasushi Saito
Michal Szymaniak
Christopher Taylor
Ruth Wang
Dale Woodford
ACM Trans. Comput. Syst., vol. 31 (2013), pp. 8
Spanner: Google's Globally-Distributed Database
Michael Epstein
Andrew Fikes
Christopher Frost
JJ Furman
Andrey Gubarev
Christopher Heiser
Peter Hochschild
Sebastian Kanthak
Eugene Kogan
Hongyi Li
Sergey Melnik
David Mwaura
David Nagle
Rajesh Rao
Lindsay Rolig
Dale Woodford
Yasushi Saito
Christopher Taylor
Michal Szymaniak
Ruth Wang
OSDI (2012)
Preview abstract
Spanner is Google's scalable, multi-version, globally-distributed, and synchronously-replicated database. It is the first system to distribute data at global scale and support externally-consistent distributed transactions. This paper 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: non-blocking reads in the past, lock-free read-only transactions, and atomic schema changes, across all of Spanner.
View details
Bigtable: A Distributed Storage System for Structured Data
Fay Chang
Deborah A. Wallach
Mike Burrows
Andrew Fikes
7th USENIX Symposium on Operating Systems Design and Implementation (OSDI), {USENIX} (2006), pp. 205-218
Preview 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 paper 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.
View details
Bigtable: A Distributed Storage System for Structured Data (Awarded Best Paper!)
Fay Chang
Deborah A. Wallach
Michael Burrows
Tushar Chandra
Andrew Fikes
Robert Gruber
OSDI (2006), pp. 205-218
The KaffeOS Java runtime system
Splice: Aspects That Analyze Programs
Restructuring Computations for Temporal Data Cache Locality
Venkata K. Pingali
Sally A. McKee
John B. Carter
International Journal of Parallel Programming, vol. 31 (2003), pp. 305-338
A Cost Model For Integrated Restructuring Optimizations
Bharat Chandramouli
John B. Carter
Sally A. McKee
J. Instruction-Level Parallelism, vol. 5 (2003)
Aspect-oriented programming with Jiazzi
Maya: Multiple-Dispatch Syntax Extension in Java
Computation regrouping: restructuring programs for temporal data cache locality
Runtime aspect weaving through metaprogramming
The Impulse Memory Controller
Lixin Zhang
Zhen Fang
Michael Parker
Binu K. Mathew
Lambert Schaelicke
John B. Carter
Sally A. McKee
IEEE Trans. Computers, vol. 50 (2001), pp. 1117-1132
Optimistic Active Messages: A Mechanism for Scheduling Communication with Computation
Deborah A. Wallach
Kirk L. Johnson
M. Frans Kaashoek
William E. Weihl
5th Symposium on Principles and Practice of Parallel Programming, Santa Barbara, California (1995), pp. 217-226
Optimistic Active Messages: Structuring Systems for High-Performance Communication
M. Frans Kaashoek
William E. Weihl
Deborah A. Wallach
Kirk L. Johnson
ACM SIGOPS European Workshop (1994), pp. 23-28