Demo Data from SIGIR 2026 / reviewers in the wild / expert
Jianqiao Liu
dblp:163/3153
· DBLP profile ↗
9ranked-venue papers
3as first author
2since 2021 · last 2023
0000-0003-4022-8897ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 6 · 3 first-author · 1 since 2021Software engineering, systems software and programming languages · 2Databases, data management, data science and information retrieval · 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 · 43% Memory systems · 14% Parallel and multicore computing · 13% | |
| Software engineering, system software, and programming languages
1 paper |
Compilers and program optimization · 100% |
Topics — the 16 heaviest of 19, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Integrated circuit design › asynchronous circuit design
asynchronous pipeline |
0.7 | 1 | 2023 | Occam: Optimal Data Reuse for Convolutional Neural Networks · ACM Trans. Archit. Code Optim. 2023 |
Hardware accelerators and domain-specific architectures › machine learning accelerator
CNN accelerator |
0.7 | 1 | 2023 | Occam: Optimal Data Reuse for Convolutional Neural Networks · ACM Trans. Archit. Code Optim. 2023 |
Hardware accelerators and domain-specific architectures
data reuse optimization |
0.7 | 1 | 2023 | Occam: Optimal Data Reuse for Convolutional Neural Networks · ACM Trans. Archit. Code Optim. 2023 |
Reconfigurable computing and FPGAs
FPGA accelerator |
0.7 | 1 | 2023 | Occam: Optimal Data Reuse for Convolutional Neural Networks · ACM Trans. Archit. Code Optim. 2023 |
Hardware accelerators and domain-specific architectures › machine learning accelerator
neural network accelerator |
0.7 | 1 | 2023 | Occam: Optimal Data Reuse for Convolutional Neural Networks · ACM Trans. Archit. Code Optim. 2023 |
Memory systems › memory management
on-chip memory management |
0.7 | 1 | 2023 | Occam: Optimal Data Reuse for Convolutional Neural Networks · ACM Trans. Archit. Code Optim. 2023 |
Hardware accelerators and domain-specific architectures › accelerator architecture › accelerator microarchitecture
pipelined accelerator |
0.7 | 1 | 2023 | Occam: Optimal Data Reuse for Convolutional Neural Networks · ACM Trans. Archit. Code Optim. 2023 |
GPUs and heterogeneous computing › CPU-GPU heterogeneous computing
CPU-GPU scheduling |
0.2 | 1 | 2016 | Hybrid CPU-GPU scheduling and execution of tree traversals · PPoPP 2016 |
GPUs and heterogeneous computing
GPU scheduling |
0.2 | 1 | 2016 | Hybrid CPU-GPU scheduling and execution of tree traversals · PPoPP 2016 |
Parallel and multicore computing › parallel computing › parallel applications
irregular applications |
0.2 | 1 | 2016 | Hybrid CPU-GPU scheduling and execution of tree traversals · PPoPP 2016 |
Parallel and multicore computing
parallel programming models |
0.2 | 1 | 2016 | Hybrid CPU-GPU scheduling and execution of tree traversals · PPoPP 2016 |
Parallel and multicore computing
parallel programming runtimes |
0.2 | 1 | 2016 | SPIRIT: a runtime system for distributed irregular tree applications · PPoPP 2016 |
Compilers and program optimization
dependence analysis |
0.2 | 1 | 2015 | Tree dependence analysis · PLDI 2015 |
Memory systems › memory bandwidth
memory bandwidth optimization |
0.2 | 1 | 2023 | Occam: Optimal Data Reuse for Convolutional Neural Networks · ACM Trans. Archit. Code Optim. 2023 |
Parallel and multicore computing › parallel architecture
distributed-memory parallel computing |
0.1 | 1 | 2016 | SPIRIT: a runtime system for distributed irregular tree applications · PPoPP 2016 |
Graph algorithms and graph theory › graph algorithms › tree algorithms
tree traversal |
0.1 | 1 | 2016 | Hybrid CPU-GPU scheduling and execution of tree traversals · PPoPP 2016 |
Methods — techniques the papers use, named apart from their topics
dynamic programming · 0.7thread-to-warp scheduling · 0.5SIMT restructuring · 0.5path-dependent conditional analysis · 0.4dependence test · 0.4runtime system design · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Occam: Optimal Data Reuse for Convolutional Neural NetworksabstractConvolutional neural networks (CNNs) are emerging as powerful tools for image processing in important commercial applications. We focus on the important problem of improving the latency of image recognition. While CNNs are highly amenable to prefetching and multithreading to avoid memory latency issues, CNNs’ large data – each layer’s input, filters, and output – poses a memory bandwidth problem. While previous work captures only some of the enormous data reuse, full reuse implies that the initial input image and filters are read once from off-chip and the final output is written once off-chip without spilling the intermediate layers’ data to off-chip. We propose Occam to capture full reuse via four contributions. First, we identify the necessary conditions for full reuse. Second, we identify the dependence closure as the sufficient condition to capture full reuse using the least on-chip memory. Third, because the dependence closure is often too large to fit in on-chip memory, we propose a dynamic programming algorithm that optimally partitions a given CNN to guarantee the least off-chip traffic at the partition boundaries for a given on-chip capacity. While tiling is well-known, our contribution determines the optimal cross-layer tiles. Occam’s partitions reside on different chips, forming a pipeline so that a partition’s filters and dependence closure remain on-chip as different images pass through (i.e., each partition incurs off-chip traffic only for its inputs and outputs). Finally, because the optimal partitions may result in an unbalanced pipeline, we propose staggered asynchronous pipelines (STAPs) that replicate bottleneck stages to improve throughput by staggering mini-batches across replicas. Importantly, STAPs achieve balanced pipelines without changing Occam’s optimal partitioning. Our simulations show that, on average, Occam cuts off-chip transfers by 21× and achieves 2.04× and 1.21× better performance, and 33% better energy than the base case, respectively. Using a field-programmable gate array (FPGA) implementation, Occam performs 6.1× and 1.5× better, on average, than the base case and Layer Fusion, respectively. Ashish Gondimalla, Jianqiao Liu, Mithuna Thottethodi, T. N. Vijaykumar |
ACM Trans. Archit. Code Optim. | 2 |
| 2021 | Everything is a Transaction: Unifying Logical Concurrency Control and Physical Data Structure Maintenance in Database Management Systems
Matthew Butrovich, Tianyu Li 0001, Andrew Pavlo, Yash Nannapaneni, John Rollinson, Huanchen Zhang, Ambarish Balakumar, Daniel Biales, Ziqi Dong, Emmanuel J. Eppinger, Jordi E. Gonzalez, Wan Shen Lim, Jianqiao Liu, Lin Ma 0006, Prashanth Menon, Soumil Mukherjee, Tanuj Nayak, Amadou Ngom, Dong Niu, Deepayan Patra, Poojita Raj, Stephanie Wang, Wuwen Wang, William Zhang 0001 |
CIDR | 14 |
| 2019 | Efficient GPU tree walks for effective distributed n-body simulationsabstractN-body problems, such as simulating the motion of stars in a galaxy, are popularly solved using tree codes like Barnes-Hut. ChaNGa is a best-of-breed n-body platform that uses an asymptotically-efficient tree traversal strategy known as a dual-tree walk to quickly determine which bodies need to interact with each other to provide an accurate simulation result. However, this strategy does not work well on GPUs, due to the highly-irregular nature of the dual-tree algorithm. On GPUs, ChaNGa uses a hybrid strategy where the CPU performs the tree walk to determine which bodies interact while the GPU performs the force computation. In this paper, we show that a highly-optimized single-tree walk approach is able to achieve better GPU performance by significantly accelerating the tree walk and reducing CPU/GPU communication. Our experiments show that this new design can achieve a 8.25× speedup over baseline ChaNGa using a one node, one process per node configuration. Jianqiao Liu, Michael P. Robson, Thomas Quinn 0001, Milind Kulkarni 0001 |
ICS | 1 |
| 2017 | SPIRIT: a framework for creating distributed recursive tree applicationsabstractAn important set of applications, from diverse domains such as cosmological simulations, data mining, and computer graphics, involve repeated, depth-first traversal of trees. As these applications operate over massive data sets, it is often necessary to distribute the trees to process all of the data. In this paper, we introduce SPIRIT, a framework to ease the writing of distributed tree applications. SPIRIT automates the challenging tasks of tree distribution, optimizing communication and parallelizing independent computations. The common algorithmic pattern in tree traversals is exploited to effectively schedule parallel computations and improve locality. As a result, we identify systematic ways of exploiting pipeline parallelism in these applications and show how this parallelism can be complemented by selective application of data parallelism to provide greater speed-ups without requiring excessive data replication. SPIRIT is packaged into a set of application programming interfaces (APIs) that developers can use to create scalable applications. Evaluation of SPIRIT on various tree traversal algorithms shows a scalable system. We also find that SPIRIT implementations perform substantially less communication and achieve significant performance improvements over implementations in other distributed graph systems, and are competitive against state-of-the-art, hand-tuned, application-specific implementations. Nikhil Hegde, Jianqiao Liu, Milind Kulkarni 0001 |
ICS | 2 |
| 2017 | Treelogy: A benchmark suite for tree traversalsabstractAn interesting class of irregular algorithms is tree traversal algorithms, which repeatedly traverse various trees to perform efficient computations. Tree traversal algorithms form the algorithmic kernels in an important set of applications in scientific computing, computer graphics, bioinformatics, and data mining, etc. There has been increasing interest in understanding tree traversal algorithms, optimizing them, and applying them in a wide variety of settings. Crucially, while there are many possible optimizations for tree traversal algorithms, which optimizations apply to which algorithms is dependent on algorithmic characteristics. In this work, we present a suite of tree traversal kernels, drawn from diverse domains, called Treelogy, to explore the connection between tree traversal algorithms and state-of-the-art optimizations. We characterize these algorithms by developing an ontology based on their structural properties. The attributes extracted through our ontology, for a given traversal kernel, can aid in quick analysis of the suitability of platform- and application-specific as well as independent optimizations. We provide reference implementations of these kernels for three platforms: shared memory multicores, distributed memory systems, and GPUs, and evaluate their scalability. Nikhil Hegde, Jianqiao Liu, Kirshanthan Sundararajah, Milind Kulkarni 0001 |
ISPASS | 2 |
| 2016 | Hybrid CPU-GPU scheduling and execution of tree traversalsabstractGPUs offer the promise of massive, power-efficient parallelism. However, exploiting this parallelism requires code to be carefully structured to deal with the limitations of the SIMT execution model. In recent years, there has been much interest in mapping irregular applications to GPUs: applications with unpredictable, data-dependent behaviors. While most of the work in this space has focused on ad hoc implementations of specific algorithms, recent work has looked at generic techniques for mapping a large class of tree traversal algorithms to GPUs, through careful restructuring of the tree traversal algorithms to make them behave more regularly. Unfortunately, even this general approach for GPU execution of tree traversal algorithms is reliant on ad hoc, hand-written, algorithm-specific scheduling (i.e., assignment of threads to warps) to achieve high performance. Jianqiao Liu, Nikhil Hegde, Milind Kulkarni 0001 |
ICS | 1 |
| 2016 | SPIRIT: a runtime system for distributed irregular tree applicationsabstractRepeated, depth-first traversal of trees is a common algorithmic pattern in an important set of applications from diverse domains such as cosmological simulations, data mining, and computer graphics. As these applications operate over massive data sets, it is often necessary to distribute the trees to process all of the data. Nikhil Hegde, Jianqiao Liu, Milind Kulkarni 0001 |
PPoPP | 2 |
| 2016 | Hybrid CPU-GPU scheduling and execution of tree traversalsabstractGPUs offer the promise of massive, power-efficient parallelism. However, exploiting this parallelism requires code to be carefully structured to deal with the limitations of the SIMT execution model. In recent years, there has been much interest in mapping irregular applications to GPUs: applications with unpredictable, data-dependent behaviors. While most of the work in this space has focused on ad hoc implementations of specific algorithms, recent work has looked at generic techniques for mapping a large class of tree traversal algorithms to GPUs, through careful restructuring of the tree traversal algorithms to make them behave more regularly. Unfortunately, even this general approach for GPU execution of tree traversal algorithms is reliant on ad hoc, handwritten, algorithm-specific scheduling (i.e., assignment of threads to warps) to achieve high performance. Jianqiao Liu, Nikhil Hegde, Milind Kulkarni 0001 |
PPoPP | 1 |
| 2015 | Tree dependence analysisabstractWe develop a new framework for analyzing recursive methods that perform traversals over trees, called tree dependence analysis. This analysis translates dependence analysis techniques for regular programs to the irregular space, identifying the structure of dependences within a recursive method that traverses trees. We develop a dependence test that exploits the dependence structure of such programs, and can prove that several locality- and parallelism- enhancing transformations are legal. In addition, we extend our analysis with a novel path-dependent, conditional analysis to refine the dependence test and prove the legality of transformations for a wider range of algorithms. We then use these analyses to show that several common algorithms that manipulate trees recursively are amenable to several locality- and parallelism-enhancing transformations. This work shows that classical dependence analysis techniques, which have largely been confined to nested loops over array data structures, can be extended and translated to work for complex, recursive programs that operate over pointer-based data structures. Yusheng Weijiang, Shruthi Balakrishna, Jianqiao Liu, Milind Kulkarni 0001 |
PLDI | 3 |