Demo Data from SIGIR 2026 / reviewers in the wild / expert
Hao Luo 0007
dblp:14/3727-7
· DBLP profile ↗
11ranked-venue papers
3as first author
0since 2021 · last 2019
—ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 6 · 2 first-authorSoftware engineering, systems software and programming languages · 5 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1
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
5 papers |
Memory systems · 45% Performance modeling and evaluation · 23% Parallel and multicore computing · 19% |
Topics — the 14 heaviest of 15, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems
cache |
0.5 | 2 | 2017 | Thread Data Sharing in Cache: Theory and Measurement · PPoPP 2017 HOTL: a higher order theory of locality · ASPLOS 2013 |
Performance modeling and evaluation
workload characterization |
0.5 | 2 | 2017 | Thread Data Sharing in Cache: Theory and Measurement · PPoPP 2017 HOTL: a higher order theory of locality · ASPLOS 2013 |
Memory systems
cache management |
0.3 | 1 | 2017 | Cache Exclusivity and Sharing: Theory and Optimization · ACM Trans. Archit. Code Optim. 2017 |
Performance modeling and evaluation
cache performance modeling |
0.3 | 1 | 2017 | Cache Exclusivity and Sharing: Theory and Optimization · ACM Trans. Archit. Code Optim. 2017 |
Memory systems › cache management
cache sharing |
0.3 | 1 | 2017 | Cache Exclusivity and Sharing: Theory and Optimization · ACM Trans. Archit. Code Optim. 2017 |
Parallel and multicore computing › concurrent programming
concurrency bugs |
0.3 | 1 | 2017 | LD: Low-Overhead GPU Race Detection Without Access Monitoring · ACM Trans. Archit. Code Optim. 2017 |
Parallel and multicore computing › parallel computing › parallel program debugging
data race detection |
0.3 | 1 | 2017 | LD: Low-Overhead GPU Race Detection Without Access Monitoring · ACM Trans. Archit. Code Optim. 2017 |
Memory systems › memory hierarchy › cache hierarchy management
exclusive caching |
0.3 | 1 | 2017 | Cache Exclusivity and Sharing: Theory and Optimization · ACM Trans. Archit. Code Optim. 2017 |
GPUs and heterogeneous computing
GPU programming |
0.3 | 1 | 2017 | LD: Low-Overhead GPU Race Detection Without Access Monitoring · ACM Trans. Archit. Code Optim. 2017 |
Memory systems › cache › multiprocessor cache
shared cache |
0.3 | 1 | 2017 | Thread Data Sharing in Cache: Theory and Measurement · PPoPP 2017 |
GPUs and heterogeneous computing › GPU memory
GPU memory performance |
0.2 | 1 | 2016 | Data-centric combinatorial optimization of parallel code · PPoPP 2016 |
Performance modeling and evaluation › workload characterization
locality analysis |
0.2 | 1 | 2013 | HOTL: a higher order theory of locality · ASPLOS 2013 |
Memory systems › memory referencing behavior
reuse distance |
0.2 | 1 | 2013 | HOTL: a higher order theory of locality · ASPLOS 2013 |
Parallel and multicore computing › parallel computing › parallel optimization
parallel code optimization |
0.1 | 1 | 2016 | Data-centric combinatorial optimization of parallel code · PPoPP 2016 |
Methods — techniques the papers use, named apart from their topics
value-based checking · 0.3shared footprint metric · 0.3memory trace scanning · 0.3hardware counter measurement · 0.3compiler instrumentation · 0.3analytical performance modeling · 0.3profiling · 0.2combinatorial optimization · 0.2higher-order theory · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Timescale functions for parallel memory allocationabstractMemory allocation is increasingly important to parallel performance, yet it is challenging because a program has data of many sizes, and the demand differs from thread to thread. Modern allocators use highly tuned heuristics but do not provide uniformly good performance when the level of concurrency increases from a few threads to hundreds of threads. Pengcheng Li 0001, Hao Luo 0007, Chen Ding 0001 |
ISMM | 2 |
| 2017 | Thread Data Sharing in Cache: Theory and MeasurementabstractOn modern multi-core processors, independent workloads often interfere with each other by competing for shared cache space. However, for multi-threaded workloads, where a single copy of data can be accessed by multiple threads, the threads can cooperatively share cache. Because data sharing consolidates the collective working set of threads, the effective size of shared cache becomes larger than it would have been when data are not shared. This paper presents a new theory of data sharing. It includes (1) a new metric called the shared footprint to mathematically compute the amount of data shared by any group of threads in any size cache, and (2) a linear-time algorithm to measure shared footprint by scanning the memory trace of a multi-threaded program. The paper presents the practical implementation and evaluates the new theory using 14 PARSEC and SPEC OMP benchmarks, including an example use of shared footprint in program optimization. Hao Luo 0007, Pengcheng Li 0001, Chen Ding 0001 |
PPoPP | 1 |
| 2017 | LD: Low-Overhead GPU Race Detection Without Access MonitoringabstractData race detection has become an important problem in GPU programming. Previous designs of CPU race-checking tools are mainly task parallel and incur high overhead on GPUs due to access instrumentation, especially when monitoring many thousands of threads routinely used by GPU programs. This article presents a novel data-parallel solution designed and optimized for the GPU architecture. It includes compiler support and a set of runtime techniques. It uses value-based checking, which detects the races reported in previous work, finds new races, and supports race-free deterministic GPU execution. More important, race checking is massively data parallel and does not introduce divergent branching or atomic synchronization. Its slowdown is less than 5 × for over half of the tests and 10 × on average, which is orders of magnitude more efficient than the cuda-memcheck tool by Nvidia and the methods that use fine-grained access instrumentation. Pengcheng Li 0001, Dong Chen 0015, Jacob Brock, Hao Luo 0007, Eddy Z. Zhang, Chen Ding 0001 |
ACM Trans. Archit. Code Optim. | 5 |
| 2017 | Cache Exclusivity and Sharing: Theory and OptimizationabstractA problem on multicore systems is cache sharing, where the cache occupancy of a program depends on the cache usage of peer programs. Exclusive cache hierarchy as used on AMD processors is an effective solution to allow processor cores to have a large private cache while still benefitting from shared cache. The shared cache stores the “victims” (i.e., data evicted from private caches). The performance depends on how victims of co-run programs interact in shared cache. This article presents a new metric called the victim footprint (VFP). It is measured once per program in its solo execution and can then be combined to compute the performance of any exclusive cache hierarchy, replacing parallel testing with theoretical analysis. The work evaluates the VFP by using it to analyze cache sharing by parallel mixes of sequential programs, comparing the accuracy of the theory to hardware counter results, and measuring the benefit of exclusivity-aware analysis and optimization. Chencheng Ye 0001, Chen Ding 0001, Hao Luo 0007, Jacob Brock, Dong Chen 0015, Hai Jin 0001 |
ACM Trans. Archit. Code Optim. | 3 |
| 2016 | Compositional model of coherence and NUMA effects for optimizing thread and data placementabstractOn today's multi-socket systems, the parallel performance is hampered by remote cache and memory access. There is much prior work on thread and data placement to curb remote access. However, the number of possible placements is large, and heuristic-based techniques only examines a fraction of the entire solution space. This paper presents a compositional model to analyze the effect of thread and data placement choices. The model includes an analysis for cache coherence and (remote) memory access. It has the property of being compositional, meaning the performances of all the placements can be composed from the results of one profiling pass. Based on this model, this paper further introduces a prototype tool called Tapas to optimize parallel programs for non-uniform memory access (NUMA) platforms. Hao Luo 0007, Jacob Brock, Pengcheng Li 0001, Chen Ding 0001, Chencheng Ye 0001 |
ISPASS | 1 |
| 2016 | Rethinking a heap hierarchy as a cache hierarchy: a higher-order theory of memory demand (HOTM)abstractModern memory allocators divide the available memory between different threads and object size classes. They use many parameters that are related and mutually affecting. Existing solutions are based on heuristics which cannot serve all applications equally well. This paper presents a theory of memory demand. The theory enables the global optimization of heap parameters for an application. The paper evaluates the theory and the optimization using multi-threaded micro-benchmarks as well as real applications including Apache, Ghostscript interpreter, and a database benchmarking tool and shows that the global optimization theoretically outperforms three typical heuristics by 15% to 113%. Pengcheng Li 0001, Hao Luo 0007, Chen Ding 0001 |
ISMM | 2 |
| 2016 | Data-centric combinatorial optimization of parallel codeabstractMemory performance is one essential factor for tapping into the full potential of the massive parallelism of GPU. It has motivated some recent efforts in GPU cache modeling. This paper presents a new data-centric way to model the performance of a system with heterogeneous memory resources. The new model is composable, meaning it can predict the performance difference due to placing data differently by profiling the execution just once. Hao Luo 0007, Guoyang Chen, Pengcheng Li 0001, Chen Ding 0001, Xipeng Shen |
PPoPP | 1 |
| 2014 | Code Layout Optimization for Defensiveness and Politeness in Shared CacheabstractCode layout optimization seeks to reorganize the instructions of a program to better utilize the cache. On multicore, parallel executions improve the throughput but may significantly increase the cache contention, because the co-run programs share the cache and in the case of hyper-threading, the instruction cache. In this paper, we extend the reference affinity model for use in whole-program code layout optimization. We also implement the temporal relation graph (TRG) model used in prior work for comparison. For code reorganization, we have developed both function reordering and inter-procedural basic-block reordering. We implement the two models and the two transformations in the LLVM compiler. Experimental results on a set of benchmarks show frequently 20% to 50% reduction in instruction cache misses. By better utilizing the shared cache, the new techniques magnify the throughput improvement of hyper-threading by 8%. Pengcheng Li 0001, Hao Luo 0007, Chen Ding 0001, Ziang Hu, Handong Ye |
ICPP | 2 |
| 2014 | Modeling heap data growth using average livenessabstractMost of today's programs make use of a sizable heap to store dynamic data. To characterize the heap dynamics, this paper presents a set of metrics to measure the average amount of data live and dead in a period of execution. They are collectively called average liveness. The paper defines these metrics of average liveness, gives linear-time algorithms for measurement, and discusses their use in finding the best heap size. The algorithms are implemented in a Java tracing system called Elephant Tracks and evaluated using the Dacapo benchmarks running on the Oracle HotSpot and IBM J9 Java virtual machines. Pengcheng Li 0001, Chen Ding 0001, Hao Luo 0007 |
ISMM | 3 |
| 2014 | Performance Metrics and Models for Shared Cache
Chen Ding 0001, Xiaoya Xiang, Bin Bao, Hao Luo 0007, Yingwei Luo, Xiaolin Wang 0001 |
J. Comput. Sci. Technol. | 4 |
| 2013 | HOTL: a higher order theory of localityabstractThe locality metrics are many, for example, miss ratio to test performance, data footprint to manage cache sharing, and reuse distance to analyze and optimize a program. It is unclear how different metrics are related, whether one subsumes another, and what combination may represent locality completely. Xiaoya Xiang, Chen Ding 0001, Hao Luo 0007, Bin Bao |
ASPLOS | 3 |