Demo Data from EDBT 2026 / reviewers in the wild / expert
Cy P. Chan
dblp:50/7062
· DBLP profile ↗
10ranked-venue papers
1as first author
5since 2021 · last 2024
0000-0001-6881-827XORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 6 · 1 first-author · 2 since 2021Software engineering, systems software and programming languages · 2Artificial intelligence and machine learning · 1 · 1 since 2021Human-computer interaction and ubiquitous computing · 1 · 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
3 papers |
Hardware accelerators and domain-specific architectures · 37% Processor architecture and microarchitecture · 37% High-performance computing · 14% | |
| Software engineering, system software, and programming languages
1 paper |
Programming languages and type systems · 50% Compilers and program optimization · 50% |
Topics — the 9 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Processor architecture and microarchitecture › instruction set architecture
ISA extension |
0.6 | 1 | 2022 | ASA: Accelerating Sparse Accumulation in Column-wise SpGEMM · ACM Trans. Archit. Code Optim. 2022 |
Hardware accelerators and domain-specific architectures › sparse matrix multiplication accelerator
sparse linear algebra accelerator |
0.6 | 1 | 2022 | ASA: Accelerating Sparse Accumulation in Column-wise SpGEMM · ACM Trans. Archit. Code Optim. 2022 |
Parallel and multicore computing › parallel algorithms › parallel matrix algorithms
sparse general matrix-matrix multiplication |
0.2 | 1 | 2022 | ASA: Accelerating Sparse Accumulation in Column-wise SpGEMM · ACM Trans. Archit. Code Optim. 2022 |
Compilers and program optimization
autotuning |
0.1 | 1 | 2009 | PetaBricks: a language and compiler for algorithmic choice · PLDI 2009 |
Programming languages and type systems
language design |
0.1 | 1 | 2009 | PetaBricks: a language and compiler for algorithmic choice · PLDI 2009 |
High-performance computing › performance optimization
auto-tuning |
0.1 | 1 | 2009 | Autotuning multigrid with PetaBricks · SC 2009 |
High-performance computing › numerical linear algebra › linear solver › iterative linear solvers
multigrid method |
0.1 | 1 | 2009 | Autotuning multigrid with PetaBricks · SC 2009 |
Parallel and multicore computing
parallel programming models |
0.0 | 1 | 2009 | Autotuning multigrid with PetaBricks · SC 2009 |
High-performance computing › performance engineering
performance portability |
0.0 | 1 | 2009 | PetaBricks: a language and compiler for algorithmic choice · PLDI 2009 |
Methods — techniques the papers use, named apart from their topics
set-associative cache search · 0.6pipelined accumulation · 0.6auto-tuning · 0.1algorithmic choice · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Devastator: A Scalable Parallel Discrete Event Simulation Framework for Modern C++abstractParallel discrete event simulation is a fundamental simulation technology that is essential to the parallelization of event-based models including hardware and transportation systems. Parallelization is often difficult due to dynamic data-dependencies and limited computational work for hiding runtime overheads. We present Devastator, a scalable parallel discrete event simulation framework for modern C++. Devastator provides a productive API that leverages C++’s type system to eliminate boilerplate code. Devastator has been designed to specifically optimize performance on distributed many-core architectures with deepening memory hierarchies. Devastator relies on the GASNet-Ex communication runtime as well as lock-free message queues to achieve highly competitive performance. We perform strong and weak scaling studies on NERSC’s Perlmutter up to 32,698 cores and demonstrate an up to 5x speed-up over the ROSS simulator for workloads with substantial locality. John Bachan, Jianlan Ye, Tan Nguyen 0001, Mahesh Natarajan, Maximilian H. Bremer, Cy P. Chan |
SIGSIM-PADS | 7 |
| 2023 | Benefits of Optimistic Parallel Discrete Event Simulation for Network-on-Chip SimulationabstractThe end of Moore's law has placed a two-fold demand on hardware simulation. Firstly, efficient co-design requires fast simulation of hardware systems in order to vet proposed designs. Secondly, modern simulator platforms need to become increasingly concurrent as well. To address these challenges, we develop an optimistic time warp-based parallelization for the Structural Simulation Toolkit (SST). Our optimistic PDES engine hides synchronization costs by speculatively executing tasks, leading to better compute resource utilization on modern multicore architectures. Given the significant engineering effort to make custom existing hardware models reversible, we also develop a new SST component, called escher. The escher workflow instruments arbitrary SST applications and replays event traces through the different SST parallelizations. This is a useful tool for hardware engineers who want to understand the benefits of optimistic parallelization before undertaking the significant software engineering effort to make their hardware models reversible. We demonstrate this workflow by generating traces for a tiled mesh-NOC architecture and show a 2.1x to 3.7x speed-up using our optimistic SST parallelization versus the current conservative SST parallelization. Maximilian H. Bremer, Nirmalendu Bikash Patra, Tan Nguyen 0001, Dilip P. Vasudevan, Cy P. Chan |
DS-RT | 5 |
| 2023 | Fast Parallel Index Construction for Efficient K-truss-based Local Community Detection in Large GraphsabstractFinding cohesive subgraphs is a crucial graph analysis kernel widely used for social and biological networks (graphs). There exist various approaches for discovering insightful substructures in a network, such as finding cliques, community discovery, and truss decomposition. Finding cliques is a computationally intractable problem, making it difficult to identify cohesive subgraphs in large graphs. One possible solution is k-truss decomposition, which is a relaxed form of finding cliques that can be solved in polynomial time. Further, unlike global community detection–which focuses on breaking down the entire graph into disjoint communities–a local or goal-oriented community search aims at finding the community of an entity of interest. In this work, we identify a k-truss-induced community discovery technique that can detect local communities in polynomial time. However, most previous studies have explored k-truss-induced local community formation in a serial setting, making them unsuitable for large graphs. In this paper, we design a parallel k-truss-induced local community construction method using multi-core parallelism. To the best of our knowledge, this is the first attempt to parallelize this algorithmic approach with extensive performance analysis. Our experiments demonstrate a significant performance improvement, with speedups from 19x to 55x for graphs with hundreds of millions to billions of edges, using NERSC Perlmutter compute nodes. Md Abdul Motaleb Faysal, Maximilian H. Bremer, Cy P. Chan, John Shalf, S. M. Arifuzzaman |
ICPP | 3 |
| 2022 | ASA: Accelerating Sparse Accumulation in Column-wise SpGEMMabstractSparse linear algebra is an important kernel in many different applications. Among various sparse general matrix-matrix multiplication (SpGEMM) algorithms, Gustavson’s column-wise SpGEMM has good locality when reading input matrix and can be easily parallelized by distributing the computation of different columns of an output matrix to different processors. However, the sparse accumulation (SPA) step in column-wise SpGEMM, which merges partial sums from each of the multiplications by the row indices, is still a performance bottleneck. The state-of-the-art software implementation uses a hash table for partial sum search in the SPA, which makes SPA the largest contributor to the execution time of SpGEMM. There are three reasons that cause the SPA to become the bottleneck: (1) hash probing requires data-dependent branches that are difficult for a branch predictor to predict correctly; (2) the accumulation of partial sum is dependent on the results of the hash probing, which makes it difficult to hide the hash probing latency; and (3) hash collision requires time-consuming linear search and optimizations to reduce these collisions require an accurate estimation of the number of non-zeros in each column of the output matrix. This work proposes ASA architecture to accelerate the SPA. ASA overcomes the challenges of SPA by (1) executing the partial sum search and accumulate with a single instruction through ISA extension to eliminate data-dependent branches in hash probing, (2) using a dedicated on-chip cache to perform the search and accumulation in a pipelined fashion, (3) relying on the parallel search capability of a set-associative cache to reduce search latency, and (4) delaying the merging of overflowed entries. As a result, ASA achieves an average of 2.25× and 5.05× speedup as compared to the state-of-the-art software implementation of a Markov clustering application and its SpGEMM kernel, respectively. As compared to a state-of-the-art hashing accelerator design, ASA achieves an average of 1.95× speedup in the SpGEMM kernel. Chao Zhang 0039, Maximilian H. Bremer, Cy P. Chan, John Shalf |
ACM Trans. Archit. Code Optim. | 3 |
| 2021 | Speculative Parallel Execution for Local TimesteppingabstractCurrently, synchronous timestepping for fluid and plasma simulations requires selection of a global time step that conservatively satisfies stability conditions everywhere. However, this approach causes substantial unnecessary work in the presence of large variations of element sizes or local wavespeeds. Local timestepping can significantly reduce work by allowing subdomains to take steps according to local rather than global stability constraints. However, parallelizing this algorithm presents considerable difficulty. Since the stability condition depends on the state of the submesh and its neighbors, dependencies become irregular and may dynamically change as neighbors take smaller or larger timesteps. Furthermore, coarsening and refining timesteps introduces dynamic load imbalance. In order to correctly resolve these dependencies in a distributed setting, we parallelize the local timestepping algorithm using an optimistic (Timewarp-based) parallel discrete event simulation. We introduce waiting heuristics to eliminate misspeculation when dependencies can be identified early, and present a semi-static load balancing strategy to improve scalability. We present detailed performance characterizations of event overheads, misspeculation, and scalability of our approach. Our numerical experiments demonstrate up to a 2.8x speedup versus a baseline unoptimized approach; a 4x improvement in per-node throughput compared to an MPI parallelization of synchronous timestepping; and scalability up to 3,072 cores on NERSC Cori's Haswell partition. Maximilian H. Bremer, John Bachan, Cy P. Chan, Clint Dawson 0001 |
SIGSIM-PADS | 3 |
| 2012 | Siblingrivalry: online autotuning through local competitionsabstractModern high performance libraries, such as ATLAS and FFTW, and programming languages, such as PetaBricks, have shown that autotuning computer programs can lead to significant speedups. However, autotuning can be burdensome to the deployment of a program, since the tuning process can take a long time and should be re-run whenever the program, microarchitecture, execution environment, or tool chain changes. Failure to re-autotune programs often leads to widespread use of sub-optimal algorithms. With the growth of cloud computing, where computations can run in environments with unknown load and migrate between different (possibly unknown) microarchitectures, the need for online autotuning has become increasingly important. Jason Ansel, Maciej Pacula, Yee Lok Wong, Cy P. Chan, Marek Olszewski, Una-May O'Reilly, Saman P. Amarasinghe |
CASES | 4 |
| 2011 | Language and compiler support for auto-tuning variable-accuracy algorithmsabstractApproximating ideal program outputs is a common technique for solving computationally difficult problems, for adhering to processing or timing constraints, and for performance optimization in situations where perfect precision is not necessary. To this end, programmers often use approximation algorithms, iterative methods, data resampling, and other heuristics. However, programming such variable accuracy algorithms presents difficult challenges since the optimal algorithms and parameters may change with different accuracy requirements and usage environments. This problem is further compounded when multiple variable accuracy algorithms are nested together due to the complex way that accuracy requirements can propagate across algorithms and because of the size of the set of allowable compositions. As a result, programmers often deal with this issue in an ad-hoc manner that can sometimes violate sound programming practices such as maintaining library abstractions. In this paper, we propose language extensions that expose trade-offs between time and accuracy to the compiler. The compiler performs fully automatic compile-time and installtime autotuning and analyses in order to construct optimized algorithms to achieve any given target accuracy. We present novel compiler techniques and a structured genetic tuning algorithm to search the space of candidate algorithms and accuracies in the presence of recursion and sub-calls to other variable accuracy code. These techniques benefit both the library writer, by providing an easy way to describe and search the parameter and algorithmic choice space, and the library user, by allowing high level specification of accuracy requirements which are then met automatically without the need for the user to understand any algorithm-specific parameters. Additionally, we present a new suite of benchmarks, written in our language, to examine the efficacy of our techniques. Our experimental results show that by relaxing accuracy requirements, we can easily obtain performance improvements ranging from 1.1× to orders of magnitude of speedup. Jason Ansel, Yee Lok Wong, Cy P. Chan, Marek Olszewski, Alan Edelman, Saman P. Amarasinghe |
CGO | 3 |
| 2010 | An auto-tuning framework for parallel multicore stencil computationsabstractAlthough stencil auto-tuning has shown tremendous potential in effectively utilizing architectural resources, it has hitherto been limited to single kernel instantiations; in addition, the large variety of stencil kernels used in practice makes this computation pattern difficult to assemble into a library. This work presents a stencil auto-tuning framework that significantly advances programmer productivity by automatically converting a straightforward sequential Fortran 95 stencil expression into tuned parallel implementations in Fortran, C, or CUDA, thus allowing performance portability across diverse computer architectures, including the AMD Barcelona, Intel Nehalem, Sun Victoria Falls, and the latest NVIDIA GPUs. Results show that our generalized methodology delivers significant performance gains of up to 22× speedup over the reference serial implementation. Overall we demonstrate that such domain-specific auto-tuners hold enormous promise for architectural efficiency, programmer productivity, performance portability, and algorithmic adaptability on existing and emerging multicore systems. Shoaib Kamil 0001, Cy P. Chan, Leonid Oliker, John Shalf, Samuel Williams 0001 |
IPDPS | 2 |
| 2009 | PetaBricks: a language and compiler for algorithmic choiceabstractIt is often impossible to obtain a one-size-fits-all solution for high performance algorithms when considering different choices for data distributions, parallelism, transformations, and blocking. The best solution to these choices is often tightly coupled to different architectures, problem sizes, data, and available system resources. In some cases, completely different algorithms may provide the best performance. Current compiler and programming language techniques are able to change some of these parameters, but today there is no simple way for the programmer to express or the compiler to choose different algorithms to handle different parts of the data. Existing solutions normally can handle only coarse-grained, library level selections or hand coded cutoffs between base cases and recursive cases. Jason Ansel, Cy P. Chan, Yee Lok Wong, Marek Olszewski, Alan Edelman, Saman P. Amarasinghe |
PLDI | 2 |
| 2009 | Autotuning multigrid with PetaBricksabstractAlgorithmic choice is essential in any problem domain to realizing optimal computational performance. Multigrid is a prime example: not only is it possible to make choices at the highest grid resolution, but a program can switch techniques as the problem is recursively attacked on coarser grid levels to take advantage of algorithms with different scaling behaviors. Additionally, users with different convergence criteria must experiment with parameters to yield a tuned algorithm that meets their accuracy requirements. Even after a tuned algorithm has been found, users often have to start all over when migrating from one machine to another. Cy P. Chan, Jason Ansel, Yee Lok Wong, Saman P. Amarasinghe, Alan Edelman |
SC | 1 |