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.

Ding-Kai Chen

dblp:87/4086 · DBLP profile ↗
← Back
9ranked-venue papers
7as first author
1since 2021 · last 2024
—ORCID · none

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

Systems, architecture and hardware · 7 · 6 first-authorSoftware engineering, systems software and programming languages · 2 · 1 first-authorApplied, 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.

Software engineering, system software, and programming languages
5 papers
Compilers and program optimization · 86% Concurrent programming · 11% Program analysis · 3%
Computer architecture, parallel and distributed computing, and storage systems
5 papers
Parallel and multicore computing · 75% Memory systems · 20% Performance modeling and evaluation · 6%

Topics — the 20 heaviest of 21, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization › parallelization › automatic parallelization
loop parallelization
0.131999
Redundant Synchronization Elimination for DOACROSS Loops · IEEE Trans. Parallel Distributed Syst. 1999
On Effective Execution of Nonuniform DOACROSS Loops · IEEE Trans. Parallel Distributed Syst. 1996
An efficient algorithm for the run-time parallelization of DOACROSS loops · SC 1994
Compilers and program optimization › parallelization › automatic parallelization › loop parallelization
DOACROSS loops
0.021999
Redundant Synchronization Elimination for DOACROSS Loops · IEEE Trans. Parallel Distributed Syst. 1999
An efficient algorithm for the run-time parallelization of DOACROSS loops · SC 1994
Concurrent programming
synchronization
0.011999
Redundant Synchronization Elimination for DOACROSS Loops · IEEE Trans. Parallel Distributed Syst. 1999
Compilers and program optimization › parallel program optimization › synchronization optimization
synchronization elimination
0.011999
Redundant Synchronization Elimination for DOACROSS Loops · IEEE Trans. Parallel Distributed Syst. 1999
Compilers and program optimization › memory optimization
data locality optimization
0.011997
Data Distribution Support on Distributed Shared Memory Multiprocessors · PLDI 1997
Parallel and multicore computing
data distribution
0.011997
Data Distribution Support on Distributed Shared Memory Multiprocessors · PLDI 1997
Memory systems › shared memory
distributed shared memory
0.011997
Data Distribution Support on Distributed Shared Memory Multiprocessors · PLDI 1997
Compilers and program optimization
instruction scheduling
0.011996
Combining Loop Transformations Considering Caches and Scheduling · MICRO 1996
Compilers and program optimization
loop transformation
0.011996
Combining Loop Transformations Considering Caches and Scheduling · MICRO 1996
Compilers and program optimization › instruction scheduling
software pipelining
0.011996
Combining Loop Transformations Considering Caches and Scheduling · MICRO 1996
Parallel and multicore computing › loop transformation › loop parallelization
DOACROSS loops
0.011996
On Effective Execution of Nonuniform DOACROSS Loops · IEEE Trans. Parallel Distributed Syst. 1996
Parallel and multicore computing
parallel programming models
0.011996
On Effective Execution of Nonuniform DOACROSS Loops · IEEE Trans. Parallel Distributed Syst. 1996
Parallel and multicore computing › parallel programming models
automatic parallelization
0.011994
An efficient algorithm for the run-time parallelization of DOACROSS loops · SC 1994
Parallel and multicore computing › parallelization strategies
run-time parallelization
0.011994
An efficient algorithm for the run-time parallelization of DOACROSS loops · SC 1994
Compilers and program optimization
dependence analysis
0.011999
Redundant Synchronization Elimination for DOACROSS Loops · IEEE Trans. Parallel Distributed Syst. 1999
Program analysis
static analysis
0.011999
Redundant Synchronization Elimination for DOACROSS Loops · IEEE Trans. Parallel Distributed Syst. 1999
Performance modeling and evaluation
parallel system performance
0.011990
The Impact of Synchronization and Granularity on Parallel Systems · ISCA 1990
Memory systems
cache
0.011996
Combining Loop Transformations Considering Caches and Scheduling · MICRO 1996
Parallel and multicore computing › parallel scheduling
static scheduling
0.011996
On Effective Execution of Nonuniform DOACROSS Loops · IEEE Trans. Parallel Distributed Syst. 1996
Parallel and multicore computing › multiprocessor system
shared-memory multiprocessor
0.011994
An efficient algorithm for the run-time parallelization of DOACROSS loops · SC 1994

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

error detection · 0.0compiler directives · 0.0cache coherence · 0.0static strip scheduling · 0.0search-based transformation selection · 0.0machine cycle time model · 0.0dependence uniformization · 0.0synchronization elimination · 0.0run-time dependence analysis · 0.0dependence analysis · 0.0synchronization · 0.0granularity analysis · 0.0
YearPublicationVenuePosition
2024 Enhancing Accuracy and Stability in Standing Wave Acoustic Levitation Systems
abstract
Acoustic levitation, an emerging technology that employs sound waves to suspend solid particles and liquid droplets in mid-air, holds immense promise. Its potential applications span diverse fields, including environmental science, mechanical engineering, biochemistry, food science, and cancer therapy. The method involves manipulating matter using sound waves to create novel forms of energy and material. However, standing wave acoustic levitation faces challenges, particularly unstable soundwaves that hinder stationary levitation. This study delves into the intricacies of the standing wave acoustic levitation system. Additionally, it compares this method with near-field and parametric array levitation techniques. Each approach utilizes sound waves to create “invisible fingers” that hold objects, but they have distinct advantages and limitations. To address instability, two standing wave acoustic levitation systems are constructed and tested: a simpler version and an expert-level setup. The goal is to enhance accuracy and stability. Ultimately, this research aims to unlock the full potential of acoustic levitation.
Ding-Kai Chen, Yit Yan Koh, Chee Kit Ho, Chiang Liang Kok, Tee Hui Teo
TENCON1
1999 Redundant Synchronization Elimination for DOACROSS Loops
abstract
Cross-iterations data dependences in DOACROSS loops require explicit data synchronizations to enforce them. However, the composite effect of some data synchronizations may cover the other dependences and make the enforcement of those covered dependences redundant. In this paper, we propose an efficient and general algorithm to identify redundant synchronizations in multiply nested DOACROSS loops which may have multiple statements and loop-exit control branches. Eliminating redundant synchronizations in DOACROSS loops allows more efficient execution of such loops. We also address the issues of enforcing data synchronizations in iterations near the boundary of the iteration space. Because some dependences may not exist in those boundary iterations, it adds complexity in determining the redundant synchronizations for those boundary iterations. The necessary and sufficient condition under which the synchronization is uniformly redundant is also studied. These results allow a parallelizing compiler to generate efficient data synchronization instructions for DOACROSS loops.
Ding-Kai Chen, Pen-Chung Yew
IEEE Trans. Parallel Distributed Syst.1
1997 Data Distribution Support on Distributed Shared Memory Multiprocessors
abstract
Cache-coherent multiprocessors with distributed shared memory are becoming increasingly popular for parallel computing. However, obtaining high performance on these machines mquires that an application execute with good data locality. In addition to making efiective use of caches, it is often necessary to distribute data structures across the local memories of the processing nodes, thereby reducing the latency of cache misses.We have designed a set of abstractions for performing data distribution in the context of explicitly parallel programs and implemented them within the SGI MIPSpro compiler system. Our system incorporates many unique features to enhance both programmability and performance. We address the former by providing a very simple programmming model with extensive support for error detection. Regarding performance, we carefully design the user abstractions with the underlying compiler optimizations in mind, we incorporate several optimization techniques to generate efficient code for accessing distributed data, and we provide a tight integration of these techniques with other optimizations within the compiler Our initial experience suggests that the directives are easy to use and can yield substantial performance gains, in some cases by as much as a factor of 3 over the same codes without distribution.
Rohit Chandra, Ding-Kai Chen, Robert Cox, Dror E. Maydan, Nenad Nedeljkovic, Jennifer-Ann M. Anderson
PLDI2
1996 Combining Loop Transformations Considering Caches and Scheduling
abstract
The performance of modern microprocessors is greatly affected by cache behavior, instruction scheduling, register allocation and loop overhead. High level loop transformations such as fission, fusion, tiling, interchanging and outer loop unrolling (e.g., unroll and jam) are well known to be capable of improving all these aspects of performance. Difficulties arise because these machine characteristics and these optimizations are highly interdependent. Interchanging two loops might, for example, improve cache behavior but make it impossible to allocate registers in the inner loop. Similarly, unrolling or interchanging a loop might individually hurt performance but doing both simultaneously might help performance. Little work has been published on how to combine these transformations into an efficient and effective compiler algorithm. In this paper we present a model that estimates total machine cycle time taking into account cache misses, software pipelining, register pressure and loop overhead. We then develop an algorithm to intelligently search through the various possible transformations, using our machine model to select the set of transformations leading to the best overall performance. We have implemented this algorithm as part of the MIPSPro commercial compiler system. We give experimental results showing that our approach is both effective and efficient in optimizing numerical programs.
Michael E. Wolf, Dror E. Maydan, Ding-Kai Chen
MICRO3
1996 On Effective Execution of Nonuniform DOACROSS Loops
abstract
It is extremely difficult to parallelize DOACROSS loops with nonuniform loop-carried dependences. In this paper, we present a static scheduling scheme with an accompanying synchronization strategy that can execute such DOACROSS loops effectively and efficiently. Our approach uses one of the parallelization techniques called Dependence Uniformization, which finds a small set of uniform dependence vectors to cover all possible nonuniform dependences in a DOACROSS loop. It differs from the previous schemes in that we demonstrate a better way to select the uniform dependence vectors. When used with the Static Strip Scheduling scheme, the proposed uniform dependence vector set allows us to enforce dependences with more locality, which reduces the requirement of explicit synchronization considerably while retaining most of the parallelism. This paper describes the uniform dependence vectors selection strategy and the static strip scheduling scheme. The performance analysis and examples are also presented.
Ding-Kai Chen, Pen-Chung Yew
IEEE Trans. Parallel Distributed Syst.1
1994 Statement Re-ordering for DOACROSS Loops
abstract
In this paper, we propose a new statement reordering algorithm for DOACROSS loops that overcomes some of the problems in the previous schemes. The new algorithm uses a hierarchical approach to locate strongly dependent statement groups and to order these groups considering critical dependences. A new optimization problem, dependence covering maximization, which was not discussed before is also introduced. It is shown that this optimization problem is NP-complete, and a heuristic algorithm is incorporated in our algorithm. This new statement re-ordering scheme, combined with the dependence covering maximization, can be an important compiler optimization to parallelize loop structures for large scale coarse and fine grain parallelism.
Ding-Kai Chen, Pen-Chung Yew
ICPP (2)1
1994 An efficient algorithm for the run-time parallelization of DOACROSS loops
abstract
While automatic parallelization of loops usually relies on compile time analysis of data dependences, for some loops the data dependences cannot be determined at compile time. An example is loops accessing arrays with subscripted subscripts. To parallelize these loops, it is necessary to perform run time analysis. We present a new algorithm to parallelize these loops at run time. Our scheme handles any type of data dependence in the loop without requiring any special architectural support in the multiprocessor. Furthermore, compared to an older scheme with the same generality, our scheme significantly reduces the amount of processor communication required and increases the overlap among dependent iterations. We evaluate our algorithm with parameterized loops running on the 32-processor Cedar shared memory multiprocessor. The results show speedups over the serial code of up to 14 with the full overhead of run time analysis and of up to 27 if part of the analysis is reused across loop invocations. Moreover, the algorithm outperforms the older scheme in nearly all cases, reaching speedups of up to times when the loop has many dependences.>
Ding-Kai Chen, Josep Torrellas, Pen-Chung Yew
SC1
1992 A Scheme for Effective Execution of Irregular Doacross Loops
Ding-Kai Chen, Pen-Chung Yew
ICPP (2)1
1990 The Impact of Synchronization and Granularity on Parallel Systems
Ding-Kai Chen, Hong-Men Su, Pen-Chung Yew
ISCA1