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

Garth A. Gibson

dblp:g/GarthAGibson · also Garth Gibson · DBLP profile ↗
← Back
81ranked-venue papers
10as first author
1since 2021 · last 2021
0000-0002-6656-7080ORCID · verified

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

Systems, architecture and hardware · 58 · 9 first-author · 1 since 2021Software engineering, systems software and programming languages · 18 · 3 first-authorDatabases, data management, data science and information retrieval · 12 · 2 first-authorArtificial intelligence and machine learning · 3Computer networks · 2Security and privacy · 2Applied, interdisciplinary, general and emerging computing · 2Graphics, computer vision, multimedia, augmented reality and games · 1Theory of computation · 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.

Computer architecture, parallel and distributed computing, and storage systems
53 papers
Storage systems · 49% Distributed systems · 15% Parallel and multicore computing · 14%
Artificial intelligence
4 papers
Efficient and distributed learning · 100%
Software engineering, system software, and programming languages
7 papers
Concurrent programming · 43% Program verification · 28% Operating systems · 24%
Databases, data mining, and information retrieval
3 papers
Indexing and storage engines · 86% Machine learning and data management · 11% Data mining · 2%

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

TopicWeightPapersLastEvidence papers
Storage systems
file systems
1.592020
Streaming Data Reorganization at Scale with DeltaFS Indexed Massive Directories · ACM Trans. Storage 2020
Scaling embedded in-situ indexing with deltaFS · SC 2018
Evolving Ext4 for Shingled Disks · FAST 2017
Machine learning › Efficient and distributed learning
distributed training
1.042019
Automating Dependence-Aware Parallelization of Machine Learning Training on Distributed Shared Memory · EuroSys 2019
STRADS: a distributed framework for scheduled model parallel machine learning · EuroSys 2016
High-Performance Distributed ML at Scale through Parameter Server Consistency Models · AAAI 2015
Storage systems › file systems
distributed file system
0.962021
DeltaFS: a scalable no-ground-truth filesystem for massively-parallel computing · SC 2021
IndexFS: Scaling File System Metadata Performance with Stateless Caching and Bulk Insertion · SC 2014
On the duality of data-intensive file system design: reconciling HDFS and PVFS · SC 2011
Distributed systems
distributed machine learning
0.732018
Litz: Elastic Framework for High-Performance Distributed Machine Learning · USENIX ATC 2018
On Model Parallelization and Scheduling Strategies for Distributed Machine Learning · NIPS 2014
More Effective Distributed ML via a Stale Synchronous Parallel Parameter Server · NIPS 2013
Storage systems › file systems › distributed file system
parallel file system
0.772021
DeltaFS: a scalable no-ground-truth filesystem for massively-parallel computing · SC 2021
On the duality of data-intensive file system design: reconciling HDFS and PVFS · SC 2011
Scaling embedded in-situ indexing with deltaFS · SC 2018
Parallel and multicore computing
parallel programming models
0.522019
Automating Dependence-Aware Parallelization of Machine Learning Training on Distributed Shared Memory · EuroSys 2019
More Effective Distributed ML via a Stale Synchronous Parallel Parameter Server · NIPS 2013
Storage systems
metadata management
0.512021
DeltaFS: a scalable no-ground-truth filesystem for massively-parallel computing · SC 2021
Machine learning › Efficient and distributed learning › distributed training
data parallel training
0.522019
Automating Dependence-Aware Parallelization of Machine Learning Training on Distributed Shared Memory · EuroSys 2019
STRADS: a distributed framework for scheduled model parallel machine learning · EuroSys 2016
Storage systems
computational storage
0.412020
Streaming Data Reorganization at Scale with DeltaFS Indexed Massive Directories · ACM Trans. Storage 2020
High-performance computing › scientific data analysis
in-situ analysis
0.412020
Streaming Data Reorganization at Scale with DeltaFS Indexed Massive Directories · ACM Trans. Storage 2020
Parallel and multicore computing › parallel programming models
automatic parallelization
0.412019
Automating Dependence-Aware Parallelization of Machine Learning Training on Distributed Shared Memory · EuroSys 2019
Concurrent programming
concurrency bugs
0.322016
Stateless model checking with data-race preemption points · OOPSLA 2016
Parrot: a practical runtime for deterministic, stable, and reliable threads · SOSP 2013
Storage systems › metadata management
metadata scalability
0.322018
IndexFS: Scaling File System Metadata Performance with Stateless Caching and Bulk Insertion · SC 2014
Scaling embedded in-situ indexing with deltaFS · SC 2018
Indexing and storage engines
key-value store
0.312017
SlimDB: A Space-Efficient Key-Value Storage Engine For Semi-Sorted Data · Proc. VLDB Endow. 2017
Indexing and storage engines
LSM-tree
0.312017
SlimDB: A Space-Efficient Key-Value Storage Engine For Semi-Sorted Data · Proc. VLDB Endow. 2017
Indexing and storage engines
write amplification reduction
0.312017
SlimDB: A Space-Efficient Key-Value Storage Engine For Semi-Sorted Data · Proc. VLDB Endow. 2017
Storage systems › magnetic recording
shingled magnetic recording
0.312017
Evolving Ext4 for Shingled Disks · FAST 2017
Machine learning › Efficient and distributed learning › distributed training
model parallelism
0.212016
STRADS: a distributed framework for scheduled model parallel machine learning · EuroSys 2016
Concurrent programming › concurrency bug detection
data race detection
0.212016
Stateless model checking with data-race preemption points · OOPSLA 2016
Program verification
model checking
0.212016
Stateless model checking with data-race preemption points · OOPSLA 2016
Program verification › model checking
stateless model checking
0.212016
Stateless model checking with data-race preemption points · OOPSLA 2016
Machine learning › Efficient and distributed learning › distributed training › distributed training systems
parameter server
0.212015
High-Performance Distributed ML at Scale through Parameter Server Consistency Models · AAAI 2015
Distributed systems
consistency models
0.212015
High-Performance Distributed ML at Scale through Parameter Server Consistency Models · AAAI 2015
Distributed systems
distributed coordination
0.212015
High-Performance Distributed ML at Scale through Parameter Server Consistency Models · AAAI 2015
Cloud and datacenter computing
big data analytics
0.212014
Exploiting Bounded Staleness to Speed Up Big Data Analytics · USENIX ATC 2014
Distributed systems › consistency models
bounded staleness
0.212014
Exploiting Bounded Staleness to Speed Up Big Data Analytics · USENIX ATC 2014
Parallel and multicore computing › parallelization strategies
model parallelism
0.212014
On Model Parallelization and Scheduling Strategies for Distributed Machine Learning · NIPS 2014
Parallel and multicore computing › task scheduling
scheduling for performance
0.212014
On Model Parallelization and Scheduling Strategies for Distributed Machine Learning · NIPS 2014
High-performance computing
parallel i/o
0.232011
Six degrees of scientific data: reading patterns for extreme scale science IO · HPDC 2011
Scalable Performance of the Panasas Parallel File System · FAST 2008
Informed Prefetching of Collective Input/Output Requests · SC 1999
Storage systems
i/o optimization
0.222013
I/O acceleration with pattern detection · HPDC 2013
Automatic I/O Hint Generation Through Speculative Execution · OSDI 1999

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

distributed shared memory · 1.1dependence analysis · 1.1no-ground-truth merging · 0.5log-structured metadata · 0.5eager communication · 0.4asynchronous parameter updates · 0.4dynamic reorganization · 0.4compute resource harvesting · 0.4delta encoding · 0.3file system evolution · 0.3compaction optimization · 0.3state space reduction · 0.2scheduling · 0.2preemption point reduction · 0.2parameter dependency analysis · 0.2theoretical convergence analysis · 0.2schedule relaxation · 0.2performance hints · 0.2
YearPublicationVenuePosition
2021 DeltaFS: a scalable no-ground-truth filesystem for massively-parallel computing
abstract
High-Performance Computing (HPC) is known for its use of massive concurrency. But it can be challenging for a parallel filesystem's control plane to utilize cores when every client process must globally synchronize and serialize its metadata mutations with those of other clients. We present DeltaFS, a new paradigm for distributed filesystem metadata. DeltaFS allows jobs to self-commit their namespace changes to logs, avoiding the cost of global synchronization. Followup jobs selectively merge logs produced by previous jobs as needed, a principle we term No Ground Truth which allows for efficient data sharing. By avoiding unnecessary synchronization of metadata operations, DeltaFS improves metadata operation throughput up to 98X leveraging parallelism on the nodes where job processes run. This speedup grows as job size increases. DeltaFS enables efficient inter-job communication, reducing overall workflow runtime by significantly improving client metadata operation latency up to 49X and resource usage up to 52X.
Qing Zheng, Chuck Cranor, Gregory R. Ganger, Garth A. Gibson, George Amvrosiadis, Bradley W. Settlemyer, Gary Grider
SC4
2020 Mochi: Composing Data Services for High-Performance Computing Environments
Robert B. Ross, George Amvrosiadis, Philip H. Carns, Chuck Cranor, Matthieu Dorier, Kevin Harms, Gregory R. Ganger, Garth A. Gibson, Samuel K. Gutierrez, Robert Latham, Robert W. Robey, Dana Robinson, Bradley W. Settlemyer, Galen M. Shipman, Shane Snyder, Jérome Soumagne, Qing Zheng
J. Comput. Sci. Technol.8
2020 Streaming Data Reorganization at Scale with DeltaFS Indexed Massive Directories
abstract
Complex storage stacks providing data compression, indexing, and analytics help leverage the massive amounts of data generated today to derive insights. It is challenging to perform this computation, however, while fully utilizing the underlying storage media. This is because, while storage servers with large core counts are widely available, single-core performance and memory bandwidth per core grow slower than the core count per die. Computational storage offers a promising solution to this problem by utilizing dedicated compute resources along the storage processing path. We present DeltaFS Indexed Massive Directories (IMDs), a new approach to computational storage. DeltaFS IMDs harvest available (i.e., not dedicated) compute, memory, and network resources on the compute nodes of an application to perform computation on data. We demonstrate the efficiency of DeltaFS IMDs by using them to dynamically reorganize the output of a real-world simulation application across 131,072 CPU cores. DeltaFS IMDs speed up reads by 1,740× while only slightly slowing down the writing of data during simulation I/O for in situ data processing.
Qing Zheng, Chuck Cranor, Ankush Jain, Gregory R. Ganger, Garth A. Gibson, George Amvrosiadis, Bradley W. Settlemyer, Gary Grider
ACM Trans. Storage5
2019 Compact Filters for Fast Online Data Partitioning
abstract
We are approaching a point in time when it will be infeasible to catalog and query data after it has been generated. This trend has fueled research on in-situ data processing (i.e. operating on data as it is streamed to storage). One important example of this approach is in-situ data indexing. Prior work has shown the feasibility of indexing at scale as a two-step process. First, one partitions data by key across the CPU cores of a parallel job. Then each core indexes its subset as data is persisted. Online partitioning requires transferring data over the network so that it can be indexed and stored by the core responsible for the data. This approach is becoming increasingly costly as new computing platforms emphasize parallelism instead of individual core performance that is crucial for communication libraries and systems software in general. In addition to indexing, scalable online data partitioning is also useful in other contexts such as load balancing and efficient compression. We present FilterKV, an efficient data management scheme for fast online data partitioning of key-value (KV) pairs. FilterKV reduces the total amount of data sent over the network and to storage. We achieve this by: (a) partitioning pointers to KV pairs instead of the KV pairs themselves and (b) using a compact format to represent and store KV pointers. Results from LANL show that FilterKV can reduce total write slowdown (including partitioning overhead) by up to 3x across 4096 CPU cores.
Qing Zheng, Chuck Cranor, Ankush Jain, Gregory R. Ganger, Garth A. Gibson, George Amvrosiadis, Bradley W. Settlemyer, Gary Grider
CLUSTER5
2019 Automating Dependence-Aware Parallelization of Machine Learning Training on Distributed Shared Memory
abstract
Machine learning (ML) training is commonly parallelized using data parallelism. A fundamental limitation of data parallelism is that conflicting (concurrent) parameter accesses during ML training usually diminishes or even negates the benefits provided by additional parallel compute resources. Although it is possible to avoid conflicting parameter accesses by carefully scheduling the computation, existing systems rely on programmer manual parallelization and it remains a question when such parallelization is possible.
Jinliang Wei, Garth A. Gibson, Phillip B. Gibbons, Eric P. Xing
EuroSys2
2019 STRADS-AP: Simplifying Distributed Machine Learning Programming without Introducing a New Programming Model
Jin Kyu Kim, Abutalib Aghayev, Garth A. Gibson, Eric P. Xing
USENIX ATC3
2018 Scaling embedded in-situ indexing with deltaFS
Qing Zheng, Chuck Cranor, Danhao Guo, Gregory R. Ganger, George Amvrosiadis, Garth A. Gibson, Bradley W. Settlemyer, Gary Grider
SC6
2018 On the diversity of cluster workloads and its impact on research results
George Amvrosiadis, Jun Woo Park, Gregory R. Ganger, Garth A. Gibson, Elisabeth Baseman, Nathan DeBardeleben
USENIX ATC4
2018 Litz: Elastic Framework for High-Performance Distributed Machine Learning
Aurick Qiao, Abutalib Aghayev, Weiren Yu, Qirong Ho, Garth A. Gibson, Eric P. Xing
USENIX ATC6
2017 Evolving Ext4 for Shingled Disks
Abutalib Aghayev, Theodore Y. Ts'o, Garth A. Gibson, Peter Desnoyers
FAST3
2017 SlimDB: A Space-Efficient Key-Value Storage Engine For Semi-Sorted Data
abstract
Modern key-value stores often use write-optimized indexes and compact in-memory indexes to speed up read and write performance. One popular write-optimized index is the Log-structured merge-tree (LSM-tree) which provides indexed access to write-intensive data. It has been increasingly used as a storage backbone for many services, including file system metadata management, graph processing engines, and machine learning feature storage engines. Existing LSM-tree implementations often exhibit high write amplifications caused by compaction, and lack optimizations to maximize read performance on solid-state disks. The goal of this paper is to explore techniques that leverage common workload characteristics shared by many systems using key-value stores to reduce the read/write amplification overhead typically associated with general-purpose LSM-tree implementations. Our experiments show that by applying these design techniques, our new implementation of a key-value store, SlimDB, can be two to three times faster, use less memory to cache metadata indices, and show lower tail latency in read operations compared to popular LSM-tree implementations such as LevelDB and RocksDB.
Kai Ren 0001, Qing Zheng, Joy Arulraj, Garth A. Gibson
Proc. VLDB Endow.4
2016 Addressing the straggler problem for iterative convergent parallel ML
abstract
FlexRR provides a scalable, efficient solution to the straggler problem for iterative machine learning (ML). The frequent (e.g., per iteration) barriers used in traditional BSP-based distributed ML implementations cause every transient slowdown of any worker thread to delay all others. FlexRR combines a more flexible synchronization model with dynamic peer-to-peer re-assignment of work among workers to address straggler threads. Experiments with real straggler behavior observed on Amazon EC2 and Microsoft Azure, as well as injected straggler behavior stress tests, confirm the significance of the problem and the effectiveness of FlexRR's solution. Using FlexRR, we consistently observe near-ideal run-times (relative to no performance jitter) across all real and injected straggler behaviors tested.
Aaron Harlap, Henggang Cui, Wei Dai 0003, Jinliang Wei, Gregory R. Ganger, Phillip B. Gibbons, Garth A. Gibson, Eric P. Xing
SoCC7
2016 STRADS: a distributed framework for scheduled model parallel machine learning
abstract
Machine learning (ML) algorithms are commonly applied to big data, using distributed systems that partition the data across machines and allow each machine to read and update all ML model parameters --- a strategy known as data parallelism. An alternative and complimentary strategy, model parallelism, partitions the model parameters for non-shared parallel access and updates, and may periodically repartition the parameters to facilitate communication. Model parallelism is motivated by two challenges that data-parallelism does not usually address: (1) parameters may be dependent, thus naive concurrent updates can introduce errors that slow convergence or even cause algorithm failure; (2) model parameters converge at different rates, thus a small subset of parameters can bottleneck ML algorithm completion. We propose scheduled model parallelism (SchMP), a programming approach that improves ML algorithm convergence speed by efficiently scheduling parameter updates, taking into account parameter dependencies and uneven convergence. To support SchMP at scale, we develop a distributed framework STRADS which optimizes the throughput of SchMP programs, and benchmark four common ML applications written as SchMP programs: LDA topic modeling, matrix factorization, sparse least-squares (Lasso) regression and sparse logistic regression. By improving ML progress per iteration through SchMP programming whilst improving iteration throughput through STRADS we show that SchMP programs running on STRADS outperform non-model-parallel ML implementations: for example, SchMP LDA and SchMP Lasso respectively achieve 10x and 5x faster convergence than recent, well-established baselines.
Jin Kyu Kim, Qirong Ho, Seunghak Lee, Xun Zheng, Wei Dai 0003, Garth A. Gibson, Eric P. Xing
EuroSys6
2016 Stateless model checking with data-race preemption points
abstract
Stateless model checking is a powerful technique for testing concurrent programs, but suffers from exponential state space explosion when the test input parameters are too large. Several reduction techniques can mitigate this explosion, but even after pruning equivalent interleavings, the state space size is often intractable. Most prior tools are limited to preempting only on synchronization APIs, which reduces the space further, but can miss unsynchronized thread communication bugs. Data race detection, another concurrency testing approach, focuses on suspicious memory access pairs during a single test execution. It avoids concerns of state space size, but may report races that do not lead to observable failures, which jeopardizes a user’s willingness to use the analysis.
Ben Blum, Garth A. Gibson
OOPSLA2
2015 High-Performance Distributed ML at Scale through Parameter Server Consistency Models
abstract
As Machine Learning (ML) applications embrace greater data size and model complexity, practitioners turn to distributed clusters to satisfy the increased computational and memory demands. Effective use of clusters for ML programs requires considerable expertise in writing distributed code, but existing highly-abstracted frameworks like Hadoop that pose low barriers to distributed-programming have not, in practice, matched the performance seen in highly specialized and advanced ML implementations. The recent Parameter Server (PS) paradigm is a middle ground between these extremes, allowing easy conversion of single-machine parallel ML programs into distributed ones, while maintaining high throughput through relaxed ``consistency models" that allow asynchronous (and, hence, inconsistent) parameter reads. However, due to insufficient theoretical study, it is not clear which of these consistency models can really ensure correct ML algorithm output; at the same time, there remain many theoretically-motivated but undiscovered opportunities to maximize computational throughput. Inspired by this challenge, we study both the theoretical guarantees and empirical behavior of iterative-convergent ML algorithms in existing PS consistency models. We then use the gleaned insights to improve a consistency model using an "eager" PS communication mechanism, and implement it as a new PS system that enables ML programs to reach their solution more quickly.
Wei Dai 0003, Abhimanu Kumar, Jinliang Wei, Qirong Ho, Garth A. Gibson, Eric P. Xing
AAAI5
2015 Managed communication and consistency for fast data-parallel iterative analytics
abstract
At the core of Machine Learning (ML) analytics is often an expert-suggested model, whose parameters are refined by iteratively processing a training dataset until convergence. The completion time (i.e. convergence time) and quality of the learned model not only depends on the rate at which the refinements are generated but also the quality of each refinement. While data-parallel ML applications often employ a loose consistency model when updating shared model parameters to maximize parallelism, the accumulated error may seriously impact the quality of refinements and thus delay completion time, a problem that usually gets worse with scale. Although more immediate propagation of updates reduces the accumulated error, this strategy is limited by physical network bandwidth. Additionally, the performance of the widely used stochastic gradient descent (SGD) algorithm is sensitive to step size. Simply increasing communication often fails to bring improvement without tuning step size accordingly and tedious hand tuning is usually needed to achieve optimal performance.
Jinliang Wei, Wei Dai 0003, Aurick Qiao, Qirong Ho, Henggang Cui, Gregory R. Ganger, Phillip B. Gibbons, Garth A. Gibson, Eric P. Xing
SoCC8
2015 ShardFS vs. IndexFS: replication vs. caching strategies for distributed metadata management in cloud storage systems
abstract
The rapid growth of cloud storage systems calls for fast and scalable namespace processing. While few commercial file systems offer anything better than federating individually non-scalable namespace servers, a recent academic file system, IndexFS, demonstrates scalable namespace processing based on client caching of directory entries and permissions (directory lookup state) with no per-client state in servers. In this paper we explore explicit replication of directory lookup state in all servers as an alternative to caching this information in all clients. Both eliminate most repeated RPCs to different servers in order to resolve hierarchical permission tests. Our realization for server replicated directory lookup state, ShardFS, employs a novel file system specific hybrid optimistic and pessimistic concurrency control favoring single object transactions over distributed transactions. Our experimentation suggests that if directory lookup state mutation is a fixed fraction of operations (strong scaling for metadata), server replication does not scale as well as client caching, but if directory lookup state mutation is proportional to the number of jobs, not the number of processes per job, (weak scaling for metadata), then server replication can scale more linearly than client caching and provide lower 70 percentile response times as well.
Kai Ren 0001, Qing Zheng, Garth A. Gibson
SoCC4
2015 Caveat-Scriptor: Write Anywhere Shingled Disks
Saurabh Kadekodi, Swapnil Pimpale, Garth A. Gibson
HotStorage3
2014 Exploiting iterative-ness for parallel ML computations
abstract
Many large-scale machine learning (ML) applications use iterative algorithms to converge on parameter values that make the chosen model fit the input data. Often, this approach results in the same sequence of accesses to parameters repeating each iteration. This paper shows that these repeating patterns can and should be exploited to improve the efficiency of the parallel and distributed ML applications that will be a mainstay in cloud computing environments. Focusing on the increasingly popular "parameter server" approach to sharing model parameters among worker threads, we describe and demonstrate how the repeating patterns can be exploited. Examples include replacing dynamic cache and server structures with static pre-serialized structures, informing prefetch and partitioning decisions, and determining which data should be cached at each thread to avoid both contention and slow accesses to memory banks attached to other sockets. Experiments show that such exploitation reduces per-iteration time by 33--98%, for three real ML workloads, and that these improvements are robust to variation in the patterns over time.
Henggang Cui, Alexey Tumanov, Jinliang Wei, Lianghong Xu, Wei Dai 0003, Jesse Haber-Kucharsky, Qirong Ho, Gregory R. Ganger, Phillip B. Gibbons, Garth A. Gibson, Eric P. Xing
SoCC10
2014 Will They Blend?: Exploring Big Data Computation Atop Traditional HPC NAS Storage
abstract
The Apache Hadoop framework has rung in a new era in how data-rich organizations can process, store, and analyze large amounts of data. This has resulted in increased potential for an infrastructure exodus from the traditional solution of commercial database ad-hoc analytics on network-attached storage (NAS). While many data-rich organizations can afford to either move entirely to Hadoop for their Big Data analytics, or to maintain their existing traditional infrastructures and acquire a new set of infrastructure solely for Hadoop jobs, most supercomputing centers do not enjoy either of those possibilities. Too much of the existing scientific code is tailored to work on massively parallel file systems unlike the Hadoop Distributed File System (HDFS), and their datasets are too large to reasonably maintain and/or ferry between two distinct storage systems. Nevertheless, as scientists search for easier-to-program frameworks with a lower time-to-science to post-process their huge datasets after execution, there is increasing pressure to enable use of MapReduce within these traditional High Performance Computing (HPC) architectures. Therefore, in this work we explore potential means to enable use of the easy-to-program Hadoop MapReduce framework without requiring a complete infrastructure overhaul from existing HPC NAS solutions. We demonstrate that retaining function-dedicated resources like NAS is not only possible, but can even be effected efficiently with MapReduce. In our exploration, we unearth subtle pitfalls resultant from this mash-up of new-era Big Data computation on conventional HPC storage and share the clever architectural configurations that allow us to avoid them. Last, we design and present a novel Hadoop File System, the Reliable Array of Independent NAS File System (RainFS), and experimentally demonstrate its improvements in performance and reliability over the previous architectures we have investigated.
Ellis Herbert Wilson, Mahmut T. Kandemir, Garth A. Gibson
ICDCS3
2014 On Model Parallelization and Scheduling Strategies for Distributed Machine Learning
Seunghak Lee, Jin Kyu Kim, Xun Zheng, Qirong Ho, Garth A. Gibson, Eric P. Xing
NIPS5
2014 IndexFS: Scaling File System Metadata Performance with Stateless Caching and Bulk Insertion
abstract
The growing size of modern storage systems is expected to exceed billions of objects, making metadata scalability critical to overall performance. Many existing distributed file systems only focus on providing highly parallel fast access to file data, and lack a scalable metadata service. In this paper, we introduce a middleware design called Index FS that adds support to existing file systems such as PVFS, Lustre, and HDFS for scalable high-performance operations on metadata and small files. Index FS uses a table-based architecture that incrementally partitions the namespace on a per-directory basis, preserving server and disk locality for small directories. An optimized log-structured layout is used to store metadata and small files efficiently. We also propose two client-based storm free caching techniques: bulk namespace insertion for creation intensive workloads such as N-N check pointing, and stateless consistent metadata caching for hot spot mitigation. By combining these techniques, we have demonstrated Index FS scaled to 128 metadata servers. Experiments show our out-of-core metadata throughput out-performing existing solutions such as PVFS, Lustre, and HDFS by 50% to two orders of magnitude.
Kai Ren 0001, Qing Zheng, Swapnil Patil 0001, Garth A. Gibson
SC4
2014 Exploiting Bounded Staleness to Speed Up Big Data Analytics
Henggang Cui, James Cipar, Qirong Ho, Jin Kyu Kim, Seunghak Lee, Abhimanu Kumar, Jinliang Wei, Wei Dai 0003, Gregory R. Ganger, Phillip B. Gibbons, Garth A. Gibson, Eric P. Xing
USENIX ATC11
2013 Solving the Straggler Problem with Bounded Staleness
James Cipar, Qirong Ho, Jin Kyu Kim, Seunghak Lee, Gregory R. Ganger, Garth A. Gibson, Kimberly Keeton, Eric P. Xing
HotOS6
2013 I/O acceleration with pattern detection
John Bent, Aaron Torres, Gary Grider, Garth A. Gibson, Carlos Maltzahn, Xian-He Sun
HPDC5
2013 More Effective Distributed ML via a Stale Synchronous Parallel Parameter Server
abstract
We propose a parameter server system for distributed ML, which follows a Stale Synchronous Parallel (SSP) model of computation that maximizes the time computational workers spend doing useful work on ML algorithms, while still providing correctness guarantees. The parameter server provides an easy-to-use shared interface for read/write access to an ML model's values (parameters and variables), and the SSP model allows distributed workers to read older, stale versions of these values from a local cache, instead of waiting to get them from a central storage. This significantly increases the proportion of time workers spend computing, as opposed to waiting. Furthermore, the SSP model ensures ML algorithm correctness by limiting the maximum age of the stale values. We provide a proof of correctness under SSP, as well as empirical results demonstrating that the SSP model achieves faster algorithm convergence on several different ML problems, compared to fully-synchronous and asynchronous schemes.
Qirong Ho, James Cipar, Henggang Cui, Seunghak Lee, Jin Kyu Kim, Phillip B. Gibbons, Garth A. Gibson, Gregory R. Ganger, Eric P. Xing
NIPS7
2013 Parrot: a practical runtime for deterministic, stable, and reliable threads
abstract
Multithreaded programs are hard to get right. A key reason is that the contract between developers and runtimes grants exponentially many schedules to the runtimes. We present Parrot, a simple, practical runtime with a new contract to developers. By default, it orders thread synchronizations in the well-defined round-robin order, vastly reducing schedules to provide determinism (more precisely, deterministic synchronizations) and stability (i.e., robustness against input or code perturbations, a more useful property than determinism). When default schedules are slow, it allows developers to write intuitive performance hints in their code to switch or add schedules for speed. We believe this "meet in the middle" contract eases writing correct, efficient programs.
Heming Cui, Jiri Simsa, Yi-Hong Lin, Ben Blum, Xinan Xu, Garth A. Gibson, Randal E. Bryant
SOSP8
2013 TABLEFS: Enhancing Metadata Efficiency in the Local File System
Kai Ren 0001, Garth A. Gibson
USENIX ATC2
2012 The Power and Challenges of Transformative I/O
abstract
Extracting high data bandwidth and metadata rates from parallel file systems is notoriously difficult. User workloads almost never achieve the performance of synthetic benchmarks. The reason for this is that real-world applications are not as well-aligned, well-tuned, or consistent as are synthetic benchmarks. There are at least three possible ways to address this challenge: modification of the real-world workloads, modification of the underlying parallel file systems, or reorganization of the real-world workloads using Tran formative middleware. In this paper, we demonstrate that Tran formative middleware is applicable across a large set of high performance computing workloads and is portable across the three major parallel file systems in use today. We also demonstrate that our transformative middleware layer is capable of improving the write, read, and metadata performance of I/O workloads by up to 150x, 10x, and 17x respectively, on workloads with processor counts of up to 65,536.
Adam Manzanares, John Bent, Meghan Wingate, Garth A. Gibson
CLUSTER4
2012 Scalable Dynamic Partial Order Reduction
Jiri Simsa, Randy Bryant, Garth A. Gibson, Jason Hickey
RV3
2012 File system virtual appliances: Portable file system implementations
abstract
File system virtual appliances (FSVAs) address the portability headaches that plague file system (FS) developers. By packaging their FS implementation in a virtual machine (VM), separate from the VM that runs user applications, they can avoid the need to port the file system to each operating system (OS) and OS version. A small FS-agnostic proxy, maintained by the core OS developers, connects the FSVA to whatever OS the user chooses. This article describes an FSVA design that maintains FS semantics for unmodified FS implementations and provides desired OS and virtualization features, such as a unified buffer cache and VM migration. Evaluation of prototype FSVA implementations in Linux and NetBSD, using Xen as the virtual machine manager (VMM), demonstrates that the FSVA architecture is efficient, FS-agnostic, and able to insulate file system implementations from OS differences that would otherwise require explicit porting.
Michael Abd-El-Malek, Matthew Wachs, James Cipar, Karan Sanghi, Gregory R. Ganger, Garth A. Gibson, Michael K. Reiter
ACM Trans. Storage6
2011 YCSB++: benchmarking and performance debugging advanced features in scalable table stores
abstract
Inspired by Google's BigTable, a variety of scalable, semi-structured, weak-semantic table stores have been developed and optimized for different priorities such as query speed, ingest speed, availability, and interactivity. As these systems mature, performance benchmarking will advance from measuring the rate of simple workloads to understanding and debugging the performance of advanced features such as ingest speed-up techniques and function shipping filters from client to servers. This paper describes YCSB++, a set of extensions to the Yahoo! Cloud Serving Benchmark (YCSB) to improve performance understanding and debugging of these advanced features. YCSB++ includes multi-tester coordination for increased load and eventual consistency measurement, multi-phase workloads to quantify the consequences of work deferment and the benefits of anticipatory configuration optimization such as B-tree pre-splitting or bulk loading, and abstract APIs for explicit incorporation of advanced features in benchmark tests. To enhance performance debugging, we customized an existing cluster monitoring tool to gather the internal statistics of YCSB++, table stores, system services like HDFS, and operating systems, and to offer easy post-test correlation and reporting of performance behaviors. YCSB++ features are illustrated in case studies of two BigTable-like table stores, Apache HBase and Accumulo, developed to emphasize high ingest rates and finegrained security.
Swapnil Patil 0001, Milo Polte, Kai Ren 0001, Wittawat Tantisiriroj, Julio López 0002, Garth A. Gibson, Adam Fuchs, Billie Rinaldi
SoCC7
2011 Scale and Concurrency of GIGA+: File System Directories with Millions of Files
Swapnil Patil 0001, Garth A. Gibson
FAST2
2011 Six degrees of scientific data: reading patterns for extreme scale science IO
abstract
Petascale science simulations generate 10s of TBs of application data per day, much of it devoted to their checkpoint/restart fault tolerance mechanisms. Previous work demonstrated the importance of carefully managing such output to prevent application slowdown due to IO blocking, resource contention negatively impacting simulation performance and to fully exploit the IO bandwidth available to the petascale machine. This paper takes a further step in understanding and managing extreme-scale IO. Specifically, its evaluations seek to understand how to efficiently read data for subsequent data analysis, visualization, checkpoint restart after a failure, and other read-intensive operations. In their entirety, these actions support the 'end-to-end' needs of scientists enabling the scientific processes being undertaken. Contributions include the following. First, working with application scientists, we define 'read' benchmarks that capture the common read patterns used by analysis codes. Second, these read patterns are used to evaluate different IO techniques at scale to understand the effects of alternative data sizes and organizations in relation to the performance seen by end users. Third, defining the novel notion of a 'data district' to characterize how data is organized for reads, we experimentally compare the read performance seen with the ADIOS middleware's log-based BP format to that seen by the logically contiguous NetCDF or HDF5 formats commonly used by analysis tools. Measurements assess the performance seen across patterns and with different data sizes, organizations, and read process counts. Outcomes demonstrate that high end-to-end IO performance requires data organizations that offer flexibility in data layout and placement on parallel storage targets, including in ways that can make tradeoffs in the performance of data writes vs. reads.
Jay F. Lofstead, Milo Polte, Garth A. Gibson, Scott Klasky, Karsten Schwan, Ron A. Oldfield, Matthew Wolf, Qing Liu 0002
HPDC3
2011 On the duality of data-intensive file system design: reconciling HDFS and PVFS
abstract
Data-intensive applications fall into two computing styles: Internet services (cloud computing) or high-performance computing (HPC). In both categories, the underlying file system is a key component for scalable application performance. In this paper, we explore the similarities and differences between PVFS, a parallel file system used in HPC at large scale, and HDFS, the primary storage system used in cloud computing with Hadoop. We integrate PVFS into Hadoop and compare its performance to HDFS using a set of data-intensive computing benchmarks. We study how HDFS-specific optimizations can be matched using PVFS and how consistency, durability, and persistence tradeoffs made by these file systems affect application performance. We show how to embed multiple replicas into a PVFS file, including a mapping with a complete copy local to the writing client, to emulate HDFS's file layout policies. We also highlight implementation issues with HDFS's dependence on disk bandwidth and benefits from pipelined replication.
Wittawat Tantisiriroj, Seung Woo Son 0001, Swapnil Patil 0001, Samuel Lang, Garth A. Gibson, Robert B. Ross
SC5
2011 Recipes for Baking Black Forest Databases - Building and Querying Black Hole Merger Trees from Cosmological Simulations
Julio López 0002, Colin DeGraf, Tiziana di Matteo, Eugene Fink, Garth A. Gibson
SSDBM6
2010 DiscFinder: a data-intensive scalable cluster finder for astrophysics
abstract
DiscFinder is a scalable approach for identifying large-scale astronomical structures, such as galaxy clusters, in massive observation and simulation astrophysics datasets. It is designed to operate on datasets with tens of billions of astronomical objects, even in the case when the dataset is much larger than the aggregate memory of compute cluster used for the processing.
Kai Ren 0001, Julio López 0002, Eugene Fink, Garth A. Gibson
HPDC5
2010 A Large-Scale Study of Failures in High-Performance Computing Systems
abstract
Designing highly dependable systems requires a good understanding of failure characteristics. Unfortunately, little raw data on failures in large IT installations are publicly available. This paper analyzes failure data collected at two large high-performance computing sites. The first data set has been collected over the past nine years at Los Alamos National Laboratory (LANL) and has recently been made publicly available. It covers 23,000 failures recorded on more than 20 different systems at LANL, mostly large clusters of SMP and NUMA nodes. The second data set has been collected over the period of one year on one large supercomputing system comprising 20 nodes and more than 10,000 processors. We study the statistics of the data, including the root cause of failures, the mean time between failures, and the mean time to repair. We find, for example, that average failure rates differ wildly across systems, ranging from 20-1000 failures per year, and that time between failures is modeled well by a Weibull distribution with decreasing hazard rate. From one system to another, mean repair time varies from less than an hour to more than a day, and repair times are well modeled by a lognormal distribution.
Bianca Schroeder, Garth A. Gibson
IEEE Trans. Dependable Secur. Comput.2
2009 PLFS: a checkpoint filesystem for parallel applications
abstract
Parallel applications running across thousands of processors must protect themselves from inevitable system failures. Many applications insulate themselves from failures by checkpointing. For many applications, checkpointing into a shared single file is most convenient. With such an approach, the size of writes are often small and not aligned with file system boundaries. Unfortunately for these applications, this preferred data layout results in pathologically poor performance from the underlying file system which is optimized for large, aligned writes to non-shared files. To address this fundamental mismatch, we have developed a virtual parallel log structured file system, PLFS. PLFS remaps an application's preferred data layout into one which is optimized for the underlying file system. Through testing on PanFS, Lustre, and GPFS, we have seen that this layer of indirection and reorganization can reduce checkpoint time by an order of magnitude for several important benchmarks and real applications without any application modification.
John Bent, Garth A. Gibson, Gary Grider, Ben McClelland, Paul Nowoczynski, James Nunez, Milo Polte, Meghan Wingate
SC2
2009 Safe and effective fine-grained TCP retransmissions for datacenter communication
abstract
This paper presents a practical solution to a problem facing high-fan-in, high-bandwidth synchronized TCP workloads in datacenter Ethernets---the TCP incast problem. In these networks, receivers can experience a drastic reduction in application throughput when simultaneously requesting data from many servers using TCP. Inbound data overfills small switch buffers, leading to TCP timeouts lasting hundreds of milliseconds. For many datacenter workloads that have a barrier synchronization requirement (e.g., filesystem reads and parallel data-intensive queries), throughput is reduced by up to 90%. For latency-sensitive applications, TCP timeouts in the datacenter impose delays of hundreds of milliseconds in networks with round-trip-times in microseconds.
Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat, David G. Andersen, Gregory R. Ganger, Garth A. Gibson, Brian Mueller
SIGCOMM7
2008 Measurement and Analysis of TCP Throughput Collapse in Cluster-based Storage Systems
Amar Phanishayee, Elie Krevat, Vijay Vasudevan, David G. Andersen, Gregory R. Ganger, Garth A. Gibson, Srinivasan Seshan
FAST6
2008 Scalable Performance of the Panasas Parallel File System
Brent Welch, Marc Unangst, Zainul Abbasi, Garth A. Gibson, Brian Mueller, Jason Small, Jim Zelenka
FAST4
2007 Disk Failures in the Real World: What Does an MTTF of 1, 000, 000 Hours Mean to You?
Bianca Schroeder, Garth A. Gibson
FAST2
2007 Understanding disk failure rates: What does an MTTF of 1, 000, 000 hours mean to you?
abstract
Component failure in large-scale IT installations is becoming an ever-larger problem as the number of components in a single cluster approaches a million. This article is an extension of our previous study on disk failures [Schroeder and Gibson 2007] and presents and analyzes field-gathered disk replacement data from a number of large production systems, including high-performance computing sites and internet services sites. More than 110,000 disks are covered by this data, some for an entire lifetime of five years. The data includes drives with SCSI and FC, as well as SATA interfaces. The mean time-to-failure (MTTF) of those drives, as specified in their datasheets, ranges from 1,000,000 to 1,500,000 hours, suggesting a nominal annual failure rate of at most 0.88%. We find that in the field, annual disk replacement rates typically exceed 1%, with 2--4% common and up to 13% observed on some systems. This suggests that field replacement is a fairly different process than one might predict based on datasheet MTTF. We also find evidence, based on records of disk replacements in the field, that failure rate is not constant with age, and that rather than a significant infant mortality effect, we see a significant early onset of wear-out degradation. In other words, the replacement rates in our data grew constantly with age, an effect often assumed not to set in until after a nominal lifetime of 5 years. Interestingly, we observe little difference in replacement rates between SCSI, FC, and SATA drives, potentially an indication that disk-independent factors such as operating conditions affect replacement rates more than component-specific ones. On the other hand, we see only one instance of a customer rejecting an entire population of disks as a bad batch, in this case because of media error rates, and this instance involved SATA disks. Time between replacement, a proxy for time between failure, is not well modeled by an exponential distribution and exhibits significant levels of correlation, including autocorrelation and long-range dependence.
Bianca Schroeder, Garth A. Gibson
ACM Trans. Storage2
2006 A large-scale study of failures in high-performance computing systems
abstract
Designing highly dependable systems requires a good understanding of failure characteristics. Unfortunately, little raw data on failures in large IT installations is publicly available. This paper analyzes failure data recently made publicly available by one of the largest high-performance computing sites. The data has been collected over the past 9 years at Los Alamos National Laboratory and includes 23000 failures recorded on more than 20 different systems, mostly large clusters of SMP and NUMA nodes. We study the statistics of the data, including the root cause of failures, the mean time between failures, and the mean time to repair. We find for example that average failure rates differ wildly across systems, ranging from 20-1000 failures per year, and that time between failures is modeled well by a Weibull distribution with decreasing hazard rate. From one system to another, mean repair time varies from less than an hour to more than a day, and repair times are well modeled by a lognormal distribution
Bianca Schroeder, Garth A. Gibson
DSN2
2006 PaScal - a new parallel and scalable server IO networking infrastructure for supporting global storage/file systems in large-size Linux clusters
abstract
This paper presents the design and implementation of a new I/O networking infrastructure, named PaScal (parallel and scalable I/O networking framework). PaScal is used to support high data bandwidth IP based global storage systems for large scale Linux clusters. PaScal has several unique properties. It employs (1) Multi-level switch-fabric interconnection network by combining high speed interconnects for computing inter-process communication (IPC) requirements and low-cost Gigabit Ethernet interconnect for global IP based storage/file access, (2) A bandwidth on demand scaling I/O networking architecture, (3) open-standard IP networks (routing and switching), (4) multipath routing for load balancing and failover, (5) open shortest path first (OSPF) routing software, and (6) Supporting a global file system in multi-cluster and multi-platform environments. We describe both the hardware and software components of our proposed PaScal. We have implemented the PaScal I/O infrastructure on several large-size Linux clusters at LANL. We have conducted a sequence of parallel MPI-IO assessment benchmarks on LANL's Pink 1024 node Linux cluster and the Panasas global parallel file system. Performance results from our parallel MPI-IO benchmarks on the Pink cluster demonstrate that the PaScal I/O Infrastructure is robust and capable of scaling in bandwidth on large-size Linux clusters
Gary Grider, Hsing-bung Chen, James Nunez, Stephen W. Poole, Rosie Wacha, Parks Fields, Robert Martinez, Paul Martinez, Satsangat Khalsa, Abbie Matthews, Garth A. Gibson
IPCCC11
2006 Petascale data storage - Petascale data storage
abstract
Petascale computing infrastructures make petascale demands on information storage capacity, performance, concurrency, reliability, availability, and manageability. The last decade has shown that parallel file systems can barely keep pace with high performance computing along these dimensions; this poses a critical challenge when near-future petascale requirements are considered. This recurring workshop focuses on the data storage problems and emerging solutions found in petascale scientific computing environments, with special attention to issues in which community collaboration can be crucial, problem identification, workload capture, solution interoperability, standards with community buy-in, and shared tools. This one-day workshop is composed of six topic areas: Performance & Benchmarking Results & Tools; Failure Tolerance Problems & Proposals; API (POSIX, etc) Standards Problems & Proposals; Protocol Standards Problems & Proposals; New Projects Showcase (NSF HECURA etc); and New Funding Directions (HEC IWG Debrief etc).
Garth A. Gibson
SC1
2006 Storage solutions I - Advances in RAID and HPC storage reliability
abstract
HPC vendors have typically focused on scaling system performance without the same level of focus on scaling system reliability. In this presentation, Dr. Garth Gibson, founder and CTO of Panasas, Inc., will discuss a range of storage reliability issues including the impact of the ever-increasing density of disk drives on storage system availability. Gibson will discuss Panasas Object RAID - a new solution for overcoming the problem of incomplete reconstructions of failed disks and the advantages of this approach over traditional RAID 6. In addition, he will review the latest technology enhancements designed to deliver industry-leading availability by providing fully parallel reconstruction and seamless failover for clustered metadata and storage networks. As a result, HPC customers can run their critical applications and analysis without interruptions or downtime on their Linux clusters.
Garth A. Gibson
SC1
2006 Exotic technologies II - HPC storage systems of 2020
abstract
Experts in advanced system technologies will predict the design of the best HPC Storage Systems in 2020. They will defend why they think the technology they select will be the winning technology 15 years from now. The panelists will pick one set of technology - not a list of possibilities - to define the system. They will define the performance and aspects of the technologies and explain why their system is the most likely to succeed.Besides questions and comments at the sessions, attendees will vote for the proposed systems of 2020 they think are most likely to succeed. The presentations, votes and attendee comments will all be sealed in a time capsule that will be opened in 2020, which will be used in 2020 to compare the predications to reality. The time capsule will also include an appropriate prize for the presenter who made the best prediction. The winner needs to be present to collect their prize.
Garth A. Gibson, Mark H. Kryder, Richard F. Freitas
SC1
2006 High performance NFS - High performance NFS: facts and fictions
abstract
Lately you may have begun hearing about High Performance NFS offerings and standards. But we all "know" NFS is not scalable. So what does High Performance NFS mean? FPGA implementation of parts of the file system? Really big caches? RDMA embedded in the RPC mechanism? Multiple filers exporting the same files? Delegations for file layout enabling clients to directly access storage devices/servers in parallel? This panel will address this question with enough opinions to ensure that attendees learn much more about the alternatives and strategies without being able to say it is just one thing. Yet.
Garth A. Gibson, Steve R. Kleiman, Spencer Shepler, Harriet Covertson, Peter Honeyman, Roger L. Haskin, Rob Kelley, Michael Callahan, Sujal Patel, Shmuel Shottan
SC1
2006 Poster reception - The Computer Failure Data Repository (CFDR): collecting, sharing and analyzing failure data
abstract
With the large component count of coming PetaFLOPS systems, component failures will be frequent. The success of those systems will therefore depend on their ability to avoid, cope and recover from failures. Unfortunately, research in this area is hampered by the limited understanding of what failures in real, large-scale systems look like, due to lack of publicly available failure data. This paper introduces the Computer Failure Data Repository (CFDR), an effort being undertaken at CMU to collect, share, and analyze failure data. The CFDR has been stimulated by the recent public release of a large set of failure data that has been collected over the past 9 years at Los Alamos National Laboratory and includes 23000 failures on more than 20 different systems, mostly large clusters. We present a high-level overview of some of our results from analyzing this data and describe the ongoing efforts and long-term plans of the CFDR.
Bianca Schroeder, Garth A. Gibson
SC2
2005 Scheduling speculative tasks in a compute farm
abstract
Users often behave speculatively, submitting work that initially they do not know is needed. Farm computing often consists of single node speculative tasks issued by, e.g., bioinformaticists comparing dna sequences and computer graphics artists rendering scenes who wish to reduce their time waiting for needed tasks and the amount they will be charged for unneeded speculation. Existing schedulers are not effective for such behavior. Our ‘batchactive’ scheduling exploits speculation: users submit explicitlylabeled batches of speculative tasks, interactively request outputs when ready to process them, and cancel tasks found not to be needed. Users are encouraged to participate by a new pricing mechanism charging for only requested tasks no matter what ran. Over a range of simulated user and task characteristics, we show that: batchactive scheduling improves visible response time - a new metric for speculative domains - by at least 2X for 20% of the simulations; batchactive scheduling supports higher billable load at lower visible response time, encouraging adoption by resource providers; and a batchactive policy favoring users who use more of their speculative tasks provides additional performance and resists a denialof- service.
David Petrou, Garth A. Gibson, Gregory R. Ganger
SC2
2004 Scaling File Service Up and Out
Garth A. Gibson
FAST1
2004 Cluster scheduling for explicitly-speculative tasks
abstract
Large-scale computing often consists of many speculative tasks to test hypotheses, search for insights, and review potentially finished products. E.g., speculative tasks are issued by bioinformaticists comparing DNA sequences and computer graphics artists adjusting scene properties. We promote a way of working that exploits the inherent speculation in application-level search made more common by the cost-effectiveness of grid and cluster computing. Researchers and end-users disclose sets of speculative tasks that search an application space, request specific results as needed, and cancel unfinished tasks if early results suggest no need to continue. Doing so matches natural usage patterns, making users more effective, and also enables a new class of schedulers.In simulation, we show how batchactive schedulers reduce user-observed response times relative to conventional models in which tasks are requested one at a time (interactively) or in batches without specifying which tasks are speculative. Over a range of situations, user-observed response time is about 50% better on average and at least two times better for 20% of our simulations. Moreover, we show how user costs can be reduced under an incentive cost model of charging only for tasks whose results are requested.
David Petrou, Gregory R. Ganger, Garth A. Gibson
ICS3
2004 Managing Scalability in Object Storage Systems for HPC Linux Clusters
Brent Welch, Garth A. Gibson
MSST2
2001 Hinting for Goodness' Sake
abstract
Modern operating systems and adaptive applications offer an overwhelming number of parameters affecting application latency, throughput, image resolution, audio quality, and so on. We are designing a system to automatically tune resource allocation and application parameters at runtime, with the aim of maximizing user happiness or goodness. Consider a 3D graphics application that operates at variable resolution, trading output fidelity for processor time. Simultaneously, a data mining application adapts to network and processor load by migrating computation between the client and storage node. We must allocate resources between these applications and select their adaptive parameters to meet the user's overall goals. Since the user lacks the time and expertise to translate his preferences into parameter values, we would like the system to do this. Existing systems lack the right abstractions for applications to expose information for automated parameter tuning. Goodness hints are the solution to this problem. Applications use these hints to tell the operating system how resource allocations will affect their goodness (utility). Goodness hints are used by the operating system to make resource allocation decisions and by applications to tune their adaptive parameters. Our contribution is a decomposition of goodness hints into manageable and independent pieces and a methodology to automatically generate them.
David Petrou, Dushyanth Narayanan, Gregory R. Ganger, Garth A. Gibson, Elizabeth A. M. Shriver
HotOS4
2000 Highly Concurrent Shared Storage
abstract
Switched system-area networks enable thousands of storage devices to be shared and directly accessed by end hosts, promising databases and file systems highly scalable, reliable storage. In such systems, hosts perform access tasks (read and write) and management tasks (storage migration and reconstruction of data on failed devices.) Each task translates into multiple phases of low-level device I/Os, so that concurrent host tasks accessing shared devices can corrupt redundancy codes and cause hosts to read inconsistent data. Concurrent control protocols that scale to large system sizes are required in order to coordinate on-line storage management and access tasks. In this paper we identify, the tasks that storage controllers must perform, and propose an approach which allows these tasks to be composed from basic operations-called base storage transactions (BSTs)-such that correctness requires only the serializability of the BSTs and not of the parent tasks. We present highly scalable distributed protocols which exploit storage technology trends and BST properties to achieve serializability while coming within a few percent of ideal performance.
Khalil Amiri, Garth A. Gibson, Richard A. Golding
ICDCS2
2000 Dynamic Function Placement for Data-Intensive Cluster Computing
Khalil Amiri, David Petrou, Gregory R. Ganger, Garth A. Gibson
USENIX ATC, General Track4
1999 Automatic I/O Hint Generation Through Speculative Execution
Fay W. Chang, Garth A. Gibson
OSDI2
1999 Informed Prefetching of Collective Input/Output Requests
abstract
Optimizing collective input/output (I/O) is important for improving throughput of parallel scientific applications.Current research suggests that a specialized collective application programming interface, coupled with system-level optimizations, is necessary to obtain good I/O performance.Unfortunately, collective interfaces require an application to disclose its entire access pattern to fully reorder I/O requests, and cannot flexibly utilize additional memory to improve performance.In this paper we propose and analyze a method of optimizing collective access patterns using informed prefetching that is capable of exploiting any amount of available memory to overlap I/O with computation.We compare this approach to diskdirected I/O, an efficient implementation of a collective I/O interface.Moreover, we prove that under certain conditions, a per-processor prefetch depth equal to the number of drives can guarantee sequential disk accesses for any collectively accessed file.In empirical studies, a prefetch horizon of one to two times the number of disks per processor is sufficient to match the performance of disk-directed I/O for sequentially allocated files.Finally, we develop accurate analytical models to predict the throughput of informed prefetching for collective reads as a function of the per-processor prefetch depth.
Tara M. Madhyastha, Garth A. Gibson, Christos Faloutsos
SC2
1999 Implementing Lottery Scheduling: Matching the Specializations in Traditional Schedulers
David Petrou, John W. Milford, Garth A. Gibson
USENIX ATC, General Track3
1998 A Cost-Effective, High-Bandwidth Storage Architecture
abstract
This paper describes the Network-Attached Secure Disk (NASD) storage architecture, prototype implementations oj NASD drives, array management for our architecture, and three, filesystems built on our prototype. NASD provides scalable storage bandwidth without the cost of servers used primarily, for transferring data from peripheral networks (e.g. SCSI) to client networks (e.g. ethernet). Increasing datuset sizes, new attachment technologies, the convergence of peripheral and interprocessor switched networks, and the increased availability of on-drive transistors motivate and enable this new architecture. NASD is based on four main principles: direct transfer to clients, secure interfaces via cryptographic support, asynchronous non-critical-path oversight, and variably-sized data objects. Measurements of our prototype system show that these services can be cost-effectively integrated into a next generation disk drive ASK. End-to-end measurements of our prototype drive andfilesysterns suggest that NASD cun support conventional distributed filesystems without performance degradation. More importantly, we show scaluble bandwidth for NASD-specialized filesystems. Using a parallel data mining application, NASD drives deliver u linear scaling of 6.2 MB/s per clientdrive pair, tested with up to eight pairs in our lab.
Garth A. Gibson, David Nagle, Khalil Amiri, Jeff Butler, Fay W. Chang, Howard Gobioff, Charles Hardin, Erik Riedel, David Rochberg, Jim Zelenka
ASPLOS1
1998 Active Storage for Large-Scale Data Mining and Multimedia
Erik Riedel, Garth A. Gibson, Christos Faloutsos
VLDB2
1997 File Server Scaling with Network-Attached Secure Disks
abstract
By providing direct data transfer between storage and client, network-attached storage devices have the potential to improve scalability for existing distributed file systems (by removing the server as a bottleneck) and bandwidth for new parallel and distributed file systems (through network striping and more efficient data paths). Together, these advantages influence a large enough fraction of the storage market to make commodity network-attached storage feasible. Realizing the technology's full potential requires careful consideration across a wide range of file system, networking and security issues. This paper contrasts two network-attached storage architectures---(1) Networked SCSI disks (NetSCSI) are network-attached storage devices with minimal changes from the familiar SCSI interface, while (2) Network-Attached Secure Disks (NASD) are drives that support independent client access to drive object services. To estimate the potential performance benefits of these architectures, we develop an analytic model and perform trace-driven replay experiments based on AFS and NFS traces. Our results suggest that NetSCSI can reduce file server load during a burst of NFS or AFS activity by about 30%. With the NASD architecture, server load (during burst activity) can be reduced by a factor of up to five for AFS and up to ten for NFS.
Garth A. Gibson, David Nagle, Khalil Amiri, Fay W. Chang, Eugene M. Feinberg, Howard Gobioff, Chen Lee, Berend Ozceri, Erik Riedel, David Rochberg, Jim Zelenka
SIGMETRICS1
1997 Informed Multi-Process Prefetching and Caching
abstract
Informed prefetching and caching based on application disclosure of future I/O accesses (hints) can dramatically reduce the execution time of I/O-intensive applications. A recent study showed that, in the context of a single hinting application, prefetching and caching algorithms should adapt to the dynamic load on the disks to obtain the best performance. In this paper, we show how to incorporate adaptivity to disk load into the TIP2 system, which uses cost-benefit analysis to allocate global resources among multiple processes. We compare the resulting system, which we call TIPTOE (TIP with Temporal Overload Estimators) to Cao et al's LRU-SP allocation scheme, also modified to include adaptive prefetching. Using disk-accurate trace-driven simulation we show that, averaged over eleven experiments involving pairs of hinting applications, and with data striped over one to ten disks, TIPTOE delivers 7% lower execution time than LRU-SP. Where the computation and I/O demands of each experiment are closely matched, in a two-disk array, TIPTOE delivers 18% lower execution time.
Andrew Tomkins, R. Hugo Patterson, Garth A. Gibson
SIGMETRICS3
1996 A Trace-Driven Comparison of Algorithms for Parallel Prefetching and Caching
abstract
No abstract available.
Tracy Kimbrel, Andrew Tomkins, R. Hugo Patterson, Brian N. Bershad, Edward W. Felten, Garth A. Gibson, Anna R. Karlin, Kai Li 0001
OSDI7
1996 RAIDframe: Rapid Prototyping for Disk Arrays
William V. Courtright II, Garth A. Gibson, Mark Holland, Jim Zelenka
SIGMETRICS2
1995 Storage Technology: RAID and Beyond
abstract
In stark contrast to the 25% per year increase in areal density delivered by the magnetic disk industry during the 1970s and 1980s, yearly increases today are 60%, on par with DRAM density increases. Moreover, the storage industry is also delivering substantially higher data rates, smart disk-embedded readahead and writebehind, and a new generation of high-speed serial interconnects. This industry has also embraced Redundant Arrays of Inexpensive (or Independent) Disks (RAID) technology - 1997's RAID market is expected to be 13 billion dollars. With this rapidly evolving market and technology base, parallel storage systems must evolve beyond RAID levels 1 through 5. This talk is intended for researchers and practitioners interested in current trends in storage systems. It will highlight storage technology trends, RAID technology trends, and trends toward RAID-style support for network-based parallel storage systems.
Garth A. Gibson
SIGMOD Conference1
1995 Informed Prefetching and Caching
abstract
In this paper, we present aggressive, proactive mechanisms that tailor file system resource management to the needs of I/O-intensive applications. In particular, we show how to use application-disclosed access patterns (hints) to expose and exploit I/O parallelism, and to dynamically allocate file buffers among three competing demands: prefetching hinted blocks, caching hinted blocks for reuse, and caching recently used data for unhinted accesses. Our approach estimates the impact of alternative buffer allocations on application execution time and applies cost-benefit analysis to allocate buffers where they will have the greatest impact. We have implemented informed prefetching and caching in Digital’s OSF/1 operating system and measured its performance on a 150 MHz Alpha equipped with 15 disks running a range of applications. Informed prefetching reduces the execution time of text search, scientific visualization, relational database queries, speech recognition, and object linking by 20-83%. Informed caching reduces the execution time of computational physics by up to 42 % and contributes to the performance improvement of the object linker and the database. Moreover, applied to multiprogrammed, I/O-intensive workloads, informed prefetching and caching increase overall throughput. 1
R. Hugo Patterson, Garth A. Gibson, Eka Ginting, Daniel Stodolsky, Jim Zelenka
SOSP2
1994 RAID-II: A High-Bandwidth Network File Server
abstract
In 1989, the RAID (Redundant Arrays of Inexpensive Disks) group at U.C. Berkeley built a prototype disk array called RAID-I. The bandwidth delivered to clients by RAID-I was severely limited by the memory system bandwidth of the disk array's host workstation. They designed their second prototype, RAID-II, to deliver more of the disk array bandwidth to file server clients. A custom-built crossbar memory system called the XBUS board connects the disks directly to the high-speed network, allowing data for large requests to bypass the server workstation. RAID-II runs Log-Structured File System (LFS) software to optimize performance for bandwidth-intensive applications. The RAID-II hardware with a single XBUS controller board delivers 20 megabytes/second for large, random read operations and up to 31 megabytes/second for sequential read operations. A preliminary implementation of LFS on RAID-II delivers 21 megabytes/second on large read requests and 15 megabytes/second on large write operations.>
Ann L. Drapeau, Ken Shirriff, John H. Hartman, Ethan L. Miller, Srinivasan Seshan, Randy H. Katz, Ken Lutz, David A. Patterson 0001, Edward K. Lee 0001, Peter M. Chen, Garth A. Gibson
ISCA11
1994 Coding Techniques for Handling Failures in Large Disk Arrays
Lisa Hellerstein, Garth A. Gibson, Richard M. Karp, Randy H. Katz, David A. Patterson 0001
Algorithmica2
1994 Architectures and Algorithms for On-Line Failure Recovery in Redundant Disk Arrays
Mark Holland, Garth A. Gibson, Daniel P. Siewiorek
Distributed Parallel Databases2
1994 Parity-Logging Disk Arrays
abstract
Parity-encoded redundant disk arrays provide highly reliable, cost-effective secondary storage with high performance for reads and large writes. Their performance on small writes, however, is much worse than mirrored disks—the traditional, highly reliable, but expensive organization for secondary storage. Unfortunately, small writes are a substantial portion of the I/O workload of many important, demanding applications such as on-line transaction processing. This paper presents parity logging , a novel solution to the small-write problem for redundant disk arrays. Parity logging applies journalling techniques to reduce substantially the cost of small writes. We provide detailed models of parity logging and competing schemes—mirroring, floating storage, and RAID level 5—and verify these models by simulation. Parity logging provides performance competitive with mirroring, but with capacity overhead close to the minimum offered by RAID level 5. Finally, parity logging can exploit data caching more effectively than all three alternative approaches.
Daniel Stodolsky, Mark Holland, William V. Courtright II, Garth A. Gibson
ACM Trans. Comput. Syst.4
1993 Parity Logging Overcoming the Small Write Problem in Redundant Disk Arrays
abstract
Parity encoded redundant disk arrays provide highly reliable, cost effective secondary storage with high performance for read accesses and large write accesses. Their performance on small writes, however, is much worse than mirrored disks—the traditional, highly reliable, but expensive organization for secondary storage. Unfortunately, small writes are a substantial portion of the I/O workload of many important, demanding applications such as on-line transaction processing. This paper presents parity logging, a novel solution to the small write problem for redundant disk arrays. Parity logging applies journalling techniques to substantially reduce the cost of small writes. We provide a detailed analysis of parity logging and competing schemes—mirroring, floating storage, and RAID level 5— and verify these models by simulation. Parity logging provides performance competitive with mirroring, the best of the alternative single failure tolerating disk array organizations. However, its overhead cost is close to the minimum offered by RAID level 5. Finally, parity logging can exploit data caching much more effectively than all three alternative approaches.
Daniel Stodolsky, Garth A. Gibson, Mark Holland
ISCA2
1993 Designing Disk Arrays for High Data Reliability
Garth A. Gibson, David A. Patterson 0001
J. Parallel Distributed Comput.1
1992 Parity Declustering for Continuous Operation in Redundant Disk Arrays
abstract
We describe and evaluate a strategy for declustering the parity encoding in a redundant disk array. This declustered parity organization balances cost against data rehability and performance during failure recovery in highly-available parity-based arrays for use in continuous-operation systems. It improves on standard parity organizations by reducing the additional load on surviving disks during the reconstruction of a failed disk's contents. This yields higher user throughput during recovery, and/or shorter recovery time. We first demonstrate a software implementation of declustered parity based on balanced incomplete and complete block designs. This implementation is then evaluated using a disk array simulator under a highly concurrent workload comprised of small user accesses. We show that declustered parity penalizes user response time while a disk is being repaired (before and during its recovery) less than comparable non-declustered (RAID 5) organizations without any penalty to user response time in the fault-free state. We then show that previously proposed modifications to a simple, single-sweep reconstruction algorithm further decrease user response times during recovery, but, contrary to previous suggestions, this may be achieved at the cost of slower recovery in many declustered parity arrays. This result arises from the simple model of disk access performance used in previous work, which did not consider throughput variations due to positioning delays.
Mark Holland, Garth A. Gibson
ASPLOS2
1990 An Evaluation of Redundant Arrays of Disks Using an Amdahl 5890
abstract
Recently we presented several disk array architectures designed to increase the data rate and I/O rate of supercomputing applications, transaction processing, and file systems [Patterson 88]. In this paper we present a hardware performance measurement of two of these architectures, mirroring and rotated parity. We see how throughput for these two architectures is affected by response time requirements, request sizes, and read to write ratios. We find that for applications with large accesses, such as many supercomputing applications, a rotated parity disk array far outperforms traditional mirroring architecture. For applications dominated by small accesses, such as transaction processing, mirroring architectures have higher performance per disk than rotated parity architectures.
Peter M. Chen, Garth A. Gibson, Randy H. Katz, David A. Patterson 0001
SIGMETRICS2
1989 Failure Correction Techniques for Large Disk Arrays
Garth A. Gibson, Lisa Hellerstein, Richard M. Karp, Randy H. Katz, David A. Patterson 0001
ASPLOS1
1989 Disk system architectures for high performance computing
abstract
Following a brief review of the fundamentals of disk system architecture, the characteristics of the applications that demand high I/O system performance are described. Conventional ways to improve disk performance are discussed. New developments in disk array systems are introduced, and controller architectures are described.>
Randy H. Katz, Garth A. Gibson, David A. Patterson 0001
Proc. IEEE2
1988 A Case for Redundant Arrays of Inexpensive Disks (RAID)
abstract
Increasing performance of CPUs and memories will be squandered if not matched by a similar performance increase in I/O. While the capacity of Single Large Expensive Disks (SLED) has grown rapidly, the performance improvement of SLED has been modest. Redundant Arrays of Inexpensive Disks (RAID), based on the magnetic disk technology developed for personal computers, offers an attractive alternative to SLED, promising improvements of an order of magnitude in performance, reliability, power consumption, and scalability. This paper introduces five levels of RAIDs, giving their relative cost/performance, and compares RAID to an IBM 3380 and a Fujitsu Super Eagle.
David A. Patterson 0001, Garth A. Gibson, Randy H. Katz
SIGMOD Conference2
1986 An In-Cache Address Translation Mechanism
abstract
In the design of SPUR, a high-performance multiprocessor workstation, the use of large caches and hardware-supported cache consistency suggests a new approach to virtual address translation. By performing translation in each processor's virtually-tagged cache, the need for separate translation lookaside buffers (TLBs) is eliminated. Eliminating the TLB substantially reduces the hardware cost and complexity of the translation mechanism and eliminates the translation consistency problem. Trace-driven simulations show that normal cache behavior is only minimally affected by caching page table entries, and that in many cases, using a separate device would actually reduce system performance.
David A. Wood 0001, Susan J. Eggers, Garth A. Gibson, Mark D. Hill, Joan M. Pendleton, Scott A. Ritchie, George S. Taylor, Randy H. Katz, David A. Patterson 0001
ISCA3