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

Kaiming Ouyang

dblp:195/6482 · DBLP profile ↗
← Back
11ranked-venue papers
3as first author
5since 2021 · last 2023
0000-0002-4775-1835ORCID · corroborated

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

Systems, architecture and hardware · 10 · 2 first-author · 4 since 2021Artificial intelligence and machine learning · 1 · 1 first-author · 1 since 2021Databases, data management, data science and information retrieval · 1 · 1 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 1 first-author · 1 since 2021

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
7 papers
Hardware reliability and fault tolerance · 41% High-performance computing · 24% Parallel and multicore computing · 20%
Theoretical computer science
1 paper
Algorithms and data structures · 100%

Topics — the 23 heaviest of 24, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Hardware reliability and fault tolerance › software fault tolerance
algorithm-based fault tolerance
1.652021
FT-CNN: Algorithm-Based Fault Tolerance for Convolutional Neural Networks · IEEE Trans. Parallel Distributed Syst. 2021
FT-iSort: efficient fault tolerance for introsort · SC 2019
Correcting soft errors online in fast fourier transform · SC 2017
Hardware reliability and fault tolerance
soft errors
0.722019
FT-iSort: efficient fault tolerance for introsort · SC 2019
Silent Data Corruption Resilient Two-sided Matrix Factorizations · PPoPP 2017
High-performance computing › collective communication
MPI collective communication
0.712023
Accelerating MPI Collectives with Process-in-Process-based Multi-object Techniques · HPDC 2023
High-performance computing › performance optimization
shared memory optimization
0.712023
Accelerating MPI Collectives with Process-in-Process-based Multi-object Techniques · HPDC 2023
Hardware reliability and fault tolerance › soft errors
soft error resilience
0.512021
FT-CNN: Algorithm-Based Fault Tolerance for Convolutional Neural Networks · IEEE Trans. Parallel Distributed Syst. 2021
Parallel and multicore computing › load balancing
communication load balancing
0.412020
CAB-MPI: exploring interprocess work-stealing towards balanced MPI communication · SC 2020
Parallel and multicore computing › parallel programming models › message passing
MPI communication
0.412020
CAB-MPI: exploring interprocess work-stealing towards balanced MPI communication · SC 2020
Parallel and multicore computing › load balancing › dynamic load balancing
work stealing
0.412020
CAB-MPI: exploring interprocess work-stealing towards balanced MPI communication · SC 2020
Distributed systems
fault tolerance
0.422018
Silent Data Corruption Resilient Two-sided Matrix Factorizations · PPoPP 2017
Fault tolerant one-sided matrix decompositions on heterogeneous systems with GPUs · SC 2018
Algorithms and data structures › sequence algorithms
sorting
0.412019
FT-iSort: efficient fault tolerance for introsort · SC 2019
GPUs and heterogeneous computing › GPU-accelerated scientific computing
GPU-accelerated numerical linear algebra
0.312018
Fault tolerant one-sided matrix decompositions on heterogeneous systems with GPUs · SC 2018
High-performance computing › numerical linear algebra
matrix factorization
0.312018
Fault tolerant one-sided matrix decompositions on heterogeneous systems with GPUs · SC 2018
High-performance computing
fast fourier transform
0.312017
Correcting soft errors online in fast fourier transform · SC 2017
Hardware reliability and fault tolerance › error resilience
online fault tolerance
0.312017
Correcting soft errors online in fast fourier transform · SC 2017
Hardware reliability and fault tolerance › soft errors
soft error detection
0.312017
Correcting soft errors online in fast fourier transform · SC 2017
Distributed systems › operating system support
interprocess communication
0.212023
Accelerating MPI Collectives with Process-in-Process-based Multi-object Techniques · HPDC 2023
Machine learning › Deep learning architectures and training
convolutional neural network
0.112021
FT-CNN: Algorithm-Based Fault Tolerance for Convolutional Neural Networks · IEEE Trans. Parallel Distributed Syst. 2021
Hardware accelerators and domain-specific architectures › machine learning accelerator › DNN inference
CNN inference
0.112021
FT-CNN: Algorithm-Based Fault Tolerance for Convolutional Neural Networks · IEEE Trans. Parallel Distributed Syst. 2021
Hardware accelerators and domain-specific architectures
machine learning accelerator
0.112021
FT-CNN: Algorithm-Based Fault Tolerance for Convolutional Neural Networks · IEEE Trans. Parallel Distributed Syst. 2021
Parallel and multicore computing › parallel programming models › message passing
MPI implementation
0.112020
CAB-MPI: exploring interprocess work-stealing towards balanced MPI communication · SC 2020
Parallel and multicore computing
parallel programming runtimes
0.112020
CAB-MPI: exploring interprocess work-stealing towards balanced MPI communication · SC 2020
Parallel and multicore computing › parallel algorithms › sorting
parallel sorting
0.112019
FT-iSort: efficient fault tolerance for introsort · SC 2019
High-performance computing › numerical linear algebra
dense matrix decomposition
0.112017
Silent Data Corruption Resilient Two-sided Matrix Factorizations · PPoPP 2017

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

error detection and correction · 1.0checksum-based fault tolerance · 1.0triple modular redundancy · 0.8XOR-based re-execution · 0.8work stealing · 0.4process-memory sharing · 0.4one-sided factorization · 0.3fault-tolerant algorithms · 0.3online checksum scheme · 0.3ABFT · 0.3
YearPublicationVenuePosition
2023 KF K-means: A High Performance K-means Implementation using Kernel Fusion
abstract
The K-means algorithm is one of the simplest and most universal clustering algorithms. Significant work has been carried out over several years to improve its performance in both academic and industrial applications. Researchers have optimized K-means not only on the algorithm level but also on the architecture level. Notably, GEMM, a rigorously studied matrix multiplication operation, has been used to speed up the Euclidean-distance calculations in the K-means algorithm. The Intel DAAL library currently provides a fast K-means implementation based on the Intel Math Kernel Library GEMM subroutine and low-level architecture information. However, in spite of utilizing the MKL GEMM subroutine and architecture properties, the performance of the state-of-the-art K-means implementation is still far from its hardware peak performance. This paper presents a faster fused-matrix K-means kernel that is superior to current K-means designs. Based on our experimental results, the fused matrix K-means kernel runs around 76% faster than the state-of-the-art Intel DAAL K-means algorithm and is able to achieve nearly double floating point performance on Intel x86-84 Ivy micro-architectures.
Kaiming Ouyang, Vincent Tran, Jinyang Liu 0003, Bryan M. Wong, Zizhong Chen
IEEE Big Data1
2023 PiP-MColl: Process-in-Process-based Multi-object MPI Collectives
abstract
In the era of exascale computing, the adoption of a large number of CPU cores and nodes by high-performance computing (HPC) applications has made MPI collective performance increasingly crucial. As the number of cores and nodes increases, the importance of optimizing MPI collective performance becomes more evident. Current collective algorithms, including kernel-assisted inter-process data exchange techniques and data sharing based shared-memory approaches, are prone to significant performance degradation due to the overhead of system calls and page faults or the cost of extra data-copy latency. These issues can negatively impact the efficiency and scalability of HPC applications. To address these issues, we propose PiP-MColl, a Process-in-Process-based Multi-object Interprocess MPI Collective design that maximizes small message MPI collective performance at scale. We also present specific designs to boost the performance for larger messages, such that we observe a comprehensive improvement for a series of message sizes beyond small messages. PiP-MColl features efficient multiple sender and receiver collective algorithms and leverages Process-in-Process shared memory techniques to eliminate unnecessary system call, page fault overhead and extra data copy, which results in improved intra- and inter-node message rate and throughput. Experimental results demonstrate that PiP-MColl significantly outperforms popular MPI libraries, including OpenMPI, MVAPICH2, and Intel MPI, by up to 4.6X for the MPI collectives MPI_Scatter, MPI_Allgather, and MPI_Allreduce.
Jiajun Huang 0001, Kaiming Ouyang, Jinyang Liu 0003, Min Si, Kenneth Raffenetti, Hui Zhou 0012, Atsushi Hori, Zizhong Chen, Yanfei Guo, Rajeev Thakur
CLUSTER2
2023 Accelerating MPI Collectives with Process-in-Process-based Multi-object Techniques
abstract
In the exascale computing era, optimizing MPI collective performance in high-performance computing (HPC) applications is critical. Current algorithms face performance degradation due to system call overhead, page faults, or data-copy latency, affecting HPC applications' efficiency and scalability. To address these issues, we propose PiP-MColl, a Process-in-Process-based Multi-object Inter-process MPI Collective design that maximizes small message MPI collective performance at scale. PiP-MColl features efficient multiple sender and receiver collective algorithms and leverages Process-in-Process shared memory techniques to eliminate unnecessary system call, page fault overhead, and extra data copy, improving intra- and inter-node message rate and throughput. Our design also boosts performance for larger messages, resulting in comprehensive improvement for various message sizes. Experimental results show that PiP-MColl outperforms popular MPI libraries, including OpenMPI, MVAPICH2, and Intel MPI, by up to 4.6X for MPI collectives like MPI_Scatter and MPI_Allgather.
Jiajun Huang 0001, Kaiming Ouyang, Jinyang Liu 0003, Min Si, Kenneth Raffenetti, Hui Zhou 0012, Atsushi Hori, Zizhong Chen, Yanfei Guo, Rajeev Thakur
HPDC2
2021 Daps: A Dynamic Asynchronous Progress Stealing Model for MPI Communication
abstract
MPI provides nonblocking point-to-point and one-sided communication models to help applications achieve communication and computation overlap. These models provide the opportunity for MPI to offload data transfer to low level network hardware while the user process is computing. In practice, however, MPI implementations have to often handle complex data transfer in software due to limited capability of network hardware. Therefore, additional asynchronous progress is necessary to ensure prompt progress of these software-handled communication. Traditional mechanisms either spawn an additional background thread on each MPI process or launch a fixed number of helper processes on each node. Both mechanisms may degrade performance in user computation due to statically occupied CPU resources. The user has to fine-tune the progress resource deployment to gain overall performance. For complex multiphase applications, unfortunately, severe performance degradation may occur due to dynamically changing communication characteristics and thus changed progress requirement. This paper proposes a novel Dynamic Asynchronous Progress Stealing model, called Daps, to completely address the asynchronous progress complication. Daps is implemented inside the MPI runtime. It dynamically leverages idle MPI processes to steal communication progress tasks from other busy computing processes located on the same node. The basic concept of Daps is straightforward; however, various implementation challenges have to be resolved due to the unique requirements of interprocess data and code sharing. We present our design that ensures high performance while maintaining strict program correctness. We compare Daps with state-of-the-art asynchronous progress approaches by utilizing both microbenchmarks and HPC proxy applications.
Kaiming Ouyang, Min Si, Atsushi Hori, Zizhong Chen, Pavan Balaji
CLUSTER1
2021 FT-CNN: Algorithm-Based Fault Tolerance for Convolutional Neural Networks
abstract
Convolutional neural networks (CNNs) are becoming more and more important for solving challenging and critical problems in many fields. CNN inference applications have been deployed in safety-critical systems, which may suffer from soft errors caused by high-energy particles, high temperature, or abnormal voltage. Of critical importance is ensuring the stability of the CNN inference process against soft errors. Traditional fault tolerance methods are not suitable for CNN inference because error-correcting code is unable to protect computational components, instruction duplication techniques incur high overhead, and existing algorithm-based fault tolerance (ABFT) techniques cannot protect all convolution implementations. In this article, we focus on how to protect the CNN inference process against soft errors as efficiently as possible, with the following three contributions. (1) We propose several systematic ABFTschemes based on checksum techniques and analyze their fault protection ability and runtime thoroughly. Unlike traditional ABFT based on matrix-matrix multiplication, our schemes support any convolution implementations. (2) We design a novel workflow integrating all the proposed schemes to obtain a high detection/correction ability with limited total runtime overhead. (3) We perform our evaluation using ImageNet with well-known CNN models including AlexNet, VGG-19, ResNet-18, and YOLOv2. Experimental results demonstrate that our implementation can handle soft errors with very limited runtime overhead (4%~8% in both error-free and error-injected situations).
Kai Zhao 0008, Sheng Di, Sihuan Li, Xin Liang 0001, Jieyang Chen, Kaiming Ouyang, Franck Cappello, Zizhong Chen
IEEE Trans. Parallel Distributed Syst.7
2020 CAB-MPI: exploring interprocess work-stealing towards balanced MPI communication
abstract
Load balance is essential for high-performance applications. Unbalanced communication can cause severe performance degradation, even in computation-balanced BSP applications. Designing communication-balanced applications is challenging, however, because of the diverse communication implementations at the underlying runtime system. In this paper, we address this challenge through an interprocess workstealing scheme based on process-memory-sharing techniques. We present CAB-MPI, an MPI implementation that can identify idle processes inside MPI and use these idle resources to dynamically balance communication workload on the node. We design throughput-optimized strategies to ensure efficient stealing of the data movement tasks. We demonstrate the benefit of work stealing through several internal processes in MPI, including intranode data transfer, pack/unpack for noncontiguous communication, and computation in one-sided accumulates. The implementation is evaluated through a set of microbenchmarks and proxy applications on Intel Xeon and Xeon Phi platforms.
Kaiming Ouyang, Min Si, Atsushi Hori, Zizhong Chen, Pavan Balaji
SC1
2019 TSM2: optimizing tall-and-skinny matrix-matrix multiplication on GPUs
abstract
Linear algebra operations have been widely used in big data analytics and scientific computations. Many works have been done on optimizing linear algebra operations on GPUs with regular-shaped input. However, few works are focusing on fully utilizing GPU resources when the input is not regular-shaped. Current optimizations lack of considering fully utilizing the memory bandwidth and computing power, therefore they could only achieve sub-optimal performance. In this paper, we propose a performant tall-and-skinny matrix-matrix multiplication algorithm on GPUs - TSM2. It focuses on optimizing linear algebra operation with none regular-shaped input. We implement the proposed algorithm and test on three different Nvidia GPU micro-architectures: Kepler, Maxwell, and Pascal. Experiments show that our TSM2 speedups the computation by 1.1x - 3x, improves memory bandwidth utilization by 8% - 47.6%, and improves computing power utilization by 7% - 37.3% comparing to the current state-of-the-art works. We replace the original matrix operations in K-means and Algorithm-Bases Fault Tolerance (ABFT) with TSM2 and achieve up to 1.89x and 1.90x speed up.
Jieyang Chen, Nan Xiong, Xin Liang 0001, Dingwen Tao, Sihuan Li, Kaiming Ouyang, Kai Zhao 0008, Nathan DeBardeleben, Qiang Guan, Zizhong Chen
ICS6
2019 FT-iSort: efficient fault tolerance for introsort
abstract
Introspective sorting is a ubiquitous sorting algorithm which underlies many large scale distributed systems. Hardware-mediated soft errors can result in comparison and memory errors, and thus cause introsort to generate incorrect output, which in turn disrupts systems built upon introsort; hence, it is critical to incorporate fault tolerance capability within introsort. This paper proposes the first theoretically-sound, practical fault tolerant introsort with negligible overhead: FT-iSort. To tolerate comparison errors, we use minimal TMR protection via exploiting the properties of the effects of soft errors on introsort. This algorithm-based selective protection incurs far less overhead than naïve TMR protection designed to protect an entire application. To tolerate memory errors that escape DRAM error correcting code, we propose XOR-based re-execution. We incorporate our fault tolerance method into the well-known parallel sorting implementation HykSort, and we find that fault tolerant HykSort incurs negligible overhead and obtains nearly the same scalability as unprotected HykSort.
Sihuan Li, Hongbo Li 0006, Xin Liang 0001, Jieyang Chen, Elisabeth Giem, Kaiming Ouyang, Kai Zhao 0008, Sheng Di, Franck Cappello, Zizhong Chen
SC6
2018 Fault tolerant one-sided matrix decompositions on heterogeneous systems with GPUs
Jieyang Chen, Hongbo Li 0006, Sihuan Li, Xin Liang 0001, Panruo Wu, Dingwen Tao, Kaiming Ouyang, Yuanlai Liu, Kai Zhao 0008, Qiang Guan, Zizhong Chen
SC7
2017 Silent Data Corruption Resilient Two-sided Matrix Factorizations
abstract
This paper presents an algorithm based fault tolerance method to harden three two-sided matrix factorizations against soft errors: reduction to Hessenberg form, tridiagonal form, and bidiagonal form. These two sided factorizations are usually the prerequisites to computing eigenvalues/eigenvectors and singular value decomposition. Algorithm based fault tolerance has been shown to work on three main one-sided matrix factorizations: LU, Cholesky, and QR, but extending it to cover two sided factorizations is non-trivial because there are no obvious \textit{offline, problem} specific maintenance of checksums. We thus develop an \textit{online, algorithm} specific checksum scheme and show how to systematically adapt the two sided factorization algorithms used in LAPACK and ScaLAPACK packages to introduce the algorithm based fault tolerance.
Panruo Wu, Nathan DeBardeleben, Qiang Guan, Sean Blanchard, Jieyang Chen, Dingwen Tao, Xin Liang 0001, Kaiming Ouyang, Zizhong Chen
PPoPP8
2017 Correcting soft errors online in fast fourier transform
abstract
While many algorithm-based fault tolerance (ABFT) schemes have been proposed to detect soft errors offline in the fast Fourier transform (FFT) after computation finishes, none of the existing ABFT schemes detect soft errors online before the computation finishes. This paper presents an online ABFT scheme for FFT so that soft errors can be detected online and the corrupted computation can be terminated in a much more timely manner. We also extend our scheme to tolerate both arithmetic errors and memory errors, develop strategies to reduce its fault tolerance overhead and improve its numerical stability and fault coverage, and finally incorporate it into the widely used FFTW library - one of the today's fastest FFT software implementations. Experimental results demonstrate that: (1) the proposed online ABFT scheme introduces much lower overhead than the existing offline ABFT schemes; (2) it detects errors in a much more timely manner; and (3) it also has higher numerical stability and better fault coverage.
Xin Liang 0001, Jieyang Chen, Dingwen Tao, Sihuan Li, Panruo Wu, Hongbo Li 0006, Kaiming Ouyang, Yuanlai Liu, Fengguang Song, Zizhong Chen
SC7