Demo Data from EDBT 2026 / reviewers in the wild / expert
Qi Gao 0004
dblp:72/5851-4
· DBLP profile ↗
15ranked-venue papers
5as first author
0since 2021 · last 2013
—ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 15 · 5 first-authorSoftware engineering, systems software and programming languages · 1 · 1 first-author
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.
| Software engineering, system software, and programming languages
6 papers |
Program analysis · 38% Concurrent programming · 28% Debugging and program repair · 15% | |
| Computer architecture, parallel and distributed computing, and storage systems
4 papers |
Parallel and multicore computing · 47% High-performance computing · 31% Cloud and datacenter computing · 22% | |
| Network and information security
1 paper |
Systems and software security · 100% |
Topics — the 14 heaviest of 18, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
dynamic analysis |
0.2 | 2 | 2011 | 2ndStrike: toward manifesting hidden concurrency typestate bugs · ASPLOS 2011 FlowChecker: Detecting Bugs in MPI Libraries via Message Flow Checking · SC 2010 |
Program analysis › static analysis
bug detection |
0.2 | 1 | 2013 | Improving the Reliability of MPI Libraries via Message Flow Checking · IEEE Trans. Parallel Distributed Syst. 2013 |
Concurrent programming
concurrency bugs |
0.1 | 1 | 2011 | 2ndStrike: toward manifesting hidden concurrency typestate bugs · ASPLOS 2011 |
Concurrent programming
concurrency bug detection |
0.1 | 1 | 2011 | 2ndStrike: toward manifesting hidden concurrency typestate bugs · ASPLOS 2011 |
Debugging and program repair
fault localization |
0.1 | 2 | 2010 | DMTracker: finding bugs in large-scale parallel programs by detecting anomaly in data movements · SC 2007 FlowChecker: Detecting Bugs in MPI Libraries via Message Flow Checking · SC 2010 |
Systems and software security
memory safety |
0.1 | 1 | 2009 | First-aid: surviving and preventing memory management bugs during production runs · EuroSys 2009 |
Software maintenance and evolution › dynamic software updating
runtime patching |
0.1 | 1 | 2009 | First-aid: surviving and preventing memory management bugs during production runs · EuroSys 2009 |
Runtime systems and virtual machines
garbage collection |
0.1 | 1 | 2008 | LeakSurvivor: Towards Safely Tolerating Memory Leaks for Garbage-Collected Languages · USENIX ATC 2008 |
Parallel and multicore computing › parallel computing › parallel program debugging
data race detection |
0.1 | 1 | 2007 | DMTracker: finding bugs in large-scale parallel programs by detecting anomaly in data movements · SC 2007 |
Cloud and datacenter computing › virtualization
inter-VM communication |
0.1 | 1 | 2007 | Virtual machine aware communication libraries for high performance computing · SC 2007 |
Parallel and multicore computing › parallel computing
parallel program debugging |
0.1 | 1 | 2007 | DMTracker: finding bugs in large-scale parallel programs by detecting anomaly in data movements · SC 2007 |
Concurrent programming › concurrency bugs
data races |
0.0 | 1 | 2011 | 2ndStrike: toward manifesting hidden concurrency typestate bugs · ASPLOS 2011 |
Cloud and datacenter computing
virtualization |
0.0 | 1 | 2007 | Virtual machine aware communication libraries for high performance computing · SC 2007 |
Cloud and datacenter computing › virtualization
virtual machine |
0.0 | 1 | 2007 | Virtual machine aware communication libraries for high performance computing · SC 2007 |
Methods — techniques the papers use, named apart from their topics
program intention extraction · 0.3message flow tracking · 0.3message flow checking · 0.2intention extraction · 0.2runtime patching · 0.2checkpoint rollback · 0.2runtime invariant checking · 0.1typestate analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2013 | Improving the Reliability of MPI Libraries via Message Flow CheckingabstractDespite the success of the Message Passing Interface (MPI), many MPI libraries have suffered from software bugs. These bugs severely impact the productivity of a large number of users, causing program failures or other errors. As a result, MPI application developers often have to spend days or weeks in vain debugging their own code. To address this daunting problem, this paper presents a new method called FlowChecker, which detects communication related bugs in MPI libraries. First, FlowChecker extracts program intentions of message passing (MP-intentions), which specify messages to be delivered from the sources to the destinations. Then FlowChecker tracks the message flows that actually occur in the underlying MPI libraries. Finally, FlowChecker checks whether the messages are correctly delivered from the sources to the destinations by comparing the message flows against the MP-intentions. If a mismatch is found, FlowChecker reports a bug and provides diagnostic information to help MPI library developers to understand and fix it. We have built a FlowChecker prototype on Linux and evaluated it with five real-world and two injected bug cases in three widely used MPI libraries, including Open MPI, MPICH2, and MVAPICH2. Our experimental results show that FlowChecker effectively detects all seven evaluated bug cases. Additionally, it provides useful diagnostic information for narrowing down or even pinpointing root causes of the bugs. Moreover, our experiments with High Performance Linpack and NAS Parallel Benchmarks show that FlowChecker induces low runtime overhead (0.9-5.6 percent on Open MPI, 0.9-8.1 percent on MPICH2, and 1.6-9.7 percent on MVAPICH2). Zhezhe Chen, Qi Gao 0004, Wenbin Zhang 0005 |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 2011 | 2ndStrike: toward manifesting hidden concurrency typestate bugsabstractConcurrency bugs are becoming increasingly prevalent in the multi-core era. Recently, much research has focused on data races and atomicity violation bugs, which are related to low-level memory accesses. However, a large number of concurrency typestate bugs such as "invalid reads to a closed file from a different thread" are under-studied. These concurrency typestate bugs are important yet challenging to study since they are mostly relevant to high-level program semantics. Qi Gao 0004, Wenbin Zhang 0005, Zhezhe Chen, Mai Zheng |
ASPLOS | 1 |
| 2010 | FlowChecker: Detecting Bugs in MPI Libraries via Message Flow CheckingabstractMany MPI libraries have suffered from software bugs, which severely impact the productivity of a large number of users. This paper presents a new method called FlowChecker for detecting communication-related bugs inMPI libraries. The main idea is to extract program intentions of message passing (MPintentions), and to check whether theseMP-intentions are fulfilled correctly by the underlying MPI libraries, i.e., whether messages are delivered correctly from specified sources to specified destinations. If not, FlowChecker reports the bugs and provides diagnostic information. We have built a FlowChecker prototype on Linux and evaluated it with five real-world bug cases in three widely-used MPI libraries, including Open MPI, MPICH2, and MVAPICH2. Our experimental results show that FlowChecker effectively detects all five evaluated bug cases and provides useful diagnostic information. Additionally, our experiments with HPL and NPB show that FlowChecker incurs low runtime overhead (0.9-9.7% on three MPI libraries). Zhezhe Chen, Qi Gao 0004, Wenbin Zhang 0005 |
SC | 2 |
| 2009 | First-aid: surviving and preventing memory management bugs during production runsabstractMemory bugs in C/C++ programs severely affect system availability and security. This paper presents First-Aid, a lightweight runtime system that survives software failures caused by common memory management bugs and prevents future failures by the same bugs during production runs. Upon a failure, First-Aid diagnoses the bug type and identifies the memory objects that trigger the bug. To do so, it rolls back the programto previous checkpoints and uses two types of environmental changes that can prevent or expose memory bug manifestation during re-execution. Based on the diagnosis, First-Aid generates and applies runtime patches to avoid the memory bug and prevent its reoccurrence. Furthermore, First-Aid validates the consistent effects of the runtime patches and generates on-site diagnostic reports to assist developers in fixing the bugs. Qi Gao 0004, Wenbin Zhang 0005 |
EuroSys | 1 |
| 2008 | LeakSurvivor: Towards Safely Tolerating Memory Leaks for Garbage-Collected Languages
Qi Gao 0004 |
USENIX ATC | 2 |
| 2007 | Understanding the Impact of Multi-Core Architecture in Cluster Computing: A Case Study with Intel Dual-Core SystemabstractMulti-core processors are growing as a new industry trend as single core processors rapidly reach the physical limits of possible complexity and speed. In the new Top500 supercomputer list, more than 20% processors belong to the multi-core processor family. However, without an in-depth study on application behaviors and trends on multi-core clusters, we might not be able to understand the characteristics of multi-core cluster in a comprehensive manner and hence not be able to get optimal performance. In this paper, we take on these challenges and design a set of experiments to study the impact of multi-core architecture on cluster computing. We choose to use one of the most advanced multi-core servers, Intel Bensley system with Woodcrest processors, as our evaluation platform, and use benchmarks including HPL, NAMD, and NAS as the applications to study. From our message distribution experiments, we find that on an average about 50% messages are transferred through intra-node communication, which is much higher than intuition. This trend indicates that optimizing intra- node communication is as important as optimizing inter- node communication in a multi-core cluster. We also observe that cache and memory contention may be a potential bottleneck in multi-core clusters, and communication middleware and applications should be multi-core aware to alleviate this problem. We demonstrate that multi-core aware algorithm, e.g. data tiling, improves benchmark execution time by up to 70%. We also compare the scalability of a multi-core cluster with that of a single-core cluster and find that the scalability of the multi-core cluster is promising. Lei Chai, Qi Gao 0004, Dhabaleswar K. Panda 0001 |
CCGRID | 2 |
| 2007 | High performance virtual machine migration with RDMA over modern interconnectsabstractOne of the most useful features provided by virtual machine (VM) technologies is the ability to migrate running OS instances across distinct physical nodes. As a basis for many administration tools in modern clusters and data-centers, VM migration is desired to be extremely efficient to reduce both migration time and performance impact on hosted applications. Currently, most VM environments use the Socket interface and the TCP/IP protocol to transfer VM migration traffic. In this paper, we propose a high performance VM migration design by using RDMA (Remote Direct Memory Access). RDMA is a feature provided by many modern high speed interconnects that are currently being widely deployed in data-centers and clusters. By taking advantage of the low software overhead and the one-sided nature of RDMA, our design significantly improves the efficiency of VM migration. We also contribute a set of micro-benchmarks and application-level benchmark evaluations aimed at evaluating important metrics of VM migration. The evaluations using our prototype implementation over Xen and InfiniBand show that RDMA can drastically reduce the migration overhead: up to 80% on total migration time and up to 77% on application observed downtime. Wei Huang 0003, Qi Gao 0004, Jiuxing Liu, Dhabaleswar K. Panda 0001 |
CLUSTER | 2 |
| 2007 | Group-based Coordinated Checkpointing for MPI: A Case Study on InfiniBandabstractAs more and more clusters with thousands of nodes are being deployed for high performance computing (HPC), fault tolerance in cluster environments has become a critical requirement. Checkpointing and rollback recovery is a common approach to achieve fault tolerance. Although widely adopted in practice, coordinated checkpointing has a known limitation on scalability. Severe contention for bandwidth to storage system can occur as a large number of processes take a checkpoint at the same time, resulting in an extremely long checkpointing delay for large parallel applications. In this paper, we propose a novel group-based checkpointing design to alleviate this scalability limitation. By carefully scheduling the MPI processes to take checkpoints in smaller groups, our design reduces the number of processes simultaneously taking checkpoints, while allowing those processes not taking checkpoints to proceed with computation. We implement our design and carry out a detailed evaluation with micro-benchmarks, HPL, and the parallel version of a data mining toolkit, MotifMiner. Experimental results show our group-based checkpointing design can reduce the effective delay for checkpointing significantly, up to 78% for HPL and up to 70% for MotifMiner. Qi Gao 0004, Wei Huang 0003, Matthew J. Koop, Dhabaleswar K. Panda 0001 |
ICPP | 1 |
| 2007 | High performance MPI design using unreliable datagram for ultra-scale InfiniBand clustersabstractHigh-performance clusters have been growing rapidly in scale. Most of these clusters deploy a high-speed interconnect, such as Infini-Band, to achieve higher performance. Most scientific applications executing on these clusters use the Message Passing Interface (MPI) as the parallel programming model. Thus, the MPI library has a key role in achieving application performance by consuming as few resources as possible and enabling scalable performance. Stateof-the-art MPI implementations over InfiniBand primarily use the Reliable Connection (RC) transport due to its good performance and attractive features. However, the RC transport requires a connection between every pair of communicating processes, with each requiring several KB of memory. As clusters continue to scale, memory requirements in RC-based implementations increase. The connection-less Unreliable Datagram (UD) transport is an attractive alternative, which eliminates the need to dedicate memory for each pair of processes. In this paper we present a high-performance UD-based MPI design. We implement our design and compare the performance and resource usage with the RC-based MVAPICH. We evaluate NPB, SMG2000, Sweep3D, and sPPM up to 4K processes on an 9216core InfiniBand cluster. For SMG2000, our prototype shows a 60% speedup and seven-fold reduction in memory for 4K processes. Additionally, based on our model, our design has an estimated 30 times reduction in memory over MVAPICH at 16K processes when all connections are created. To the best of our knowledge, this is the first research work that presents a high-performance MPI design over InfiniBand that is completely based on UD and can achieve near identical or better application performance than RC. Matthew J. Koop, Sayantan Sur, Qi Gao 0004, Dhabaleswar K. Panda 0001 |
ICS | 3 |
| 2007 | DMTracker: finding bugs in large-scale parallel programs by detecting anomaly in data movementsabstractWhile software reliability in large-scale systems becomes increasingly important, debugging in large-scale parallel systems remains a daunting task. This paper proposes an innovative technique to find hard-to-detect software bugs that can cause severe problems such as data corruptions and deadlocks in parallel programs automatically via detecting their abnormal behaviors in data movements. Based on the observation that data movements in parallel programs typically follow certain patterns, our idea is to extract data movement (DM)-based invariants at program runtime and check the violations of these invariants. These violations indicate potential bugs such as data races and memory corruption bugs that manifest themselves in data movements. Qi Gao 0004, Dhabaleswar K. Panda 0001 |
SC | 1 |
| 2007 | Virtual machine aware communication libraries for high performance computingabstractAs the size and complexity of modern computing systems keep increasing to meet the demanding requirements of High Performance Computing (HPC) applications, manageability is becoming a critical concern to achieve both high performance and high productivity computing. Meanwhile, virtual machine (VM) technologies have become popular in both industry and academia due to various features designed to ease system management and administration. While a VM-based environment can greatly help manageability on large-scale computing systems, concerns over performance have largely blocked the HPC community from embracing VM technologies. In this paper, we follow three steps to demonstrate the ability to achieve near-native performance in a VM-based environment for HPC. First, we propose Inter-VM Communication Wei Huang 0003, Matthew J. Koop, Qi Gao 0004, Dhabaleswar K. Panda 0001 |
SC | 3 |
| 2006 | Design of High Performance MVAPICH2: MPI2 over InfiniBandabstractMPICH2 provides a layered architecture for implementing MPI-2. In this paper, we provide a new design for implementing MPI-2 over InfiniBand by extending the MPICH2 ADI3 layer. Our new design aims to achieve high performance by providing a multi-communication method framework that can utilize appropriate communication channels/devices to attain optimal performance without compromising on scalability and portability. We also present the performance comparison of the new design with our previous design based on the MPICH2 RDMA channel. We show significant performance improvements in micro-benchmarks and NAS Parallel Benchmarks. Wei Huang 0003, Gopalakrishnan Santhanaraman, Hyun-Wook Jin, Qi Gao 0004, Dhabaleswar K. Panda 0001 |
CCGRID | 4 |
| 2006 | Application-Transparent Checkpoint/Restart for MPI Programs over InfiniBandabstractUltra-scale computer clusters with high speed interconnects, such as InfiniBand, are being widely deployed for their excellent performance and cost effectiveness. However, the failure rate on these clusters also increases along with their augmented number of components. Thus, it becomes critical for such systems to be equipped with fault tolerance support. In this paper, we present our design and implementation of checkpoint/restart framework for MPI programs running over InfiniBand clusters. Our design enables low-overhead, application-transparent checkpointing. It uses coordinated protocol to save the current state of the whole MPI job to reliable storage, which allows users to perform rollback recovery if the system runs into faulty states later. Our solution has been incorporated into MVAPICH2, an open-source high performance MPI-2 implementation over InfiniBand. Performance evaluation of this implementation has been carried out using NAS benchmarks, HPL benchmark, and a real-world application called GROMACS. Experimental results indicate that in our design, the overhead to take checkpoints is low, and the performance impact for checkpointing applications periodically is insignificant. For example, time for checkpointing GROMACS is less than 0.3% of the execution time, and its performance only decreases by 4% with checkpoints taken every minute. To the best of our knowledge, this work is the first report of checkpoint/restart support for MPI over InfiniBand clusters in the literature Qi Gao 0004, Weikuan Yu, Wei Huang 0003, Dhabaleswar K. Panda 0001 |
ICPP | 1 |
| 2006 | Adaptive connection management for scalable MPI over InfiniBandabstractSupporting scalable and efficient parallel programs is a major challenge in parallel computing with the widespread adoption of large-scale computer clusters and supercomputers. One of the pronounced scalability challenges is the management of connections between parallel processes, especially over connection-oriented interconnects such as VIA and InfiniBand. In this paper, we take on the challenge of designing efficient connection management for parallel programs over InfiniBand clusters. We propose adaptive connection management (ACM) to dynamically control the establishment of InfiniBand reliable connections (RC) based on the communication frequency between MPI processes. We have investigated two different ACM algorithms: an on-demand algorithm that starts with no InfiniBand RC connections; and a partial static algorithm with only 2 * logN number of InfiniBand RC connections initially. We have designed and implemented both ACM algorithms in MVAPICH to study their benefits. Two mechanisms have been exploited for the establishment of new RC connections: one using InfiniBand unreliable datagram and the other using InfiniBand connection management. For both mechanisms, MPI communication issues, such as progress rules, reliability and race conditions are handled to ensure efficient and lightweight connection management. Our experimental results indicate that ACM algorithms can benefit parallel programs in terms of the process initiation time, the number of active connections, and the resource usage. For parallel programs on a 16-node cluster, they can reduce the process initiation time by 15% and the initial memory usage by 18%. Weikuan Yu, Qi Gao 0004, Dhabaleswar K. Panda 0001 |
IPDPS | 2 |
| 2005 | Head-to-TOE Evaluation of High-Performance Sockets over Protocol Offload EnginesabstractDespite the performance drawbacks of Ethernet, it still possesses a sizable footprint in cluster computing because of its low cost and backward compatibility to existing Ethernet infrastructure. In this paper, we demonstrate that these performance drawbacks can be reduced (and in some cases, arguably eliminated) by coupling TCP offload engines (TOEs) with 10-Gigabit Ethernet (10GigE). Although there exists significant research on individual network technologies such as 10GigE, InfiniBand (IBA), and Myrinet; to the best of our knowledge, there has been no work that compares the capabilities and limitations of these technologies with the recently introduced 10GigE TOEs in a homogeneous experimental testbed. Therefore, we present performance evaluations across 10GigE, IBA, and Myrinet (with identical cluster-compute nodes) in order to enable a coherent comparison with respect to the sockets interface. Specifically, we evaluate the network technologies at two levels: (i) a detailed micro-benchmark evaluation and (ii) an application-level evaluation with sample applications from different domains, including a bio-medical image visualization tool known as the Virtual Microscope, an iso-surface oil reservoir simulator, a cluster file-system known as the parallel virtual file-system (PVFS), and a popular cluster management tool known as Ganglia. In addition to 10GigE's advantage with respect to compatibility to wide-area network infrastructures, e.g., in support of grids, our results show that 10GigE also delivers performance that is comparable to traditional high-speed network technologies such as IBA and Myrinet in a system-area network environment to support clusters and that 10GigE is particularly well-suited for sockets-based applications Pavan Balaji, Wu-chun Feng, Qi Gao 0004, Ranjit Noronha, Weikuan Yu, Dhabaleswar K. Panda 0001 |
CLUSTER | 3 |