VLDB 2026 Research / reviewers in the wild / expert
Youngjoon Jo
dblp:09/8199
· DBLP profile ↗
7ranked-venue papers
5as first author
0since 2021 · last 2015
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 4 · 3 first-authorSoftware engineering, systems software and programming languages · 3 · 2 first-author
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
4 papers |
Parallel and multicore computing · 71% GPUs and heterogeneous computing · 22% Processor architecture and microarchitecture · 7% | |
| Software engineering, system software, and programming languages
3 papers |
Compilers and program optimization · 100% |
Topics — the 10 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › memory optimization
data locality optimization |
0.3 | 2 | 2012 | Automatically enhancing locality for tree traversals with traversal splicing · OOPSLA 2012 Enhancing locality for recursive traversals of recursive structures · OOPSLA 2011 |
Compilers and program optimization
program transformation |
0.2 | 1 | 2015 | Efficient execution of recursive programs on commodity vector hardware · PLDI 2015 |
Parallel and multicore computing › parallel programming models
task-based programming |
0.2 | 1 | 2015 | Efficient execution of recursive programs on commodity vector hardware · PLDI 2015 |
Parallel and multicore computing › graph processing
tree traversal |
0.2 | 2 | 2013 | General transformations for GPU execution of tree traversals · SC 2013 Automatically enhancing locality for tree traversals with traversal splicing · OOPSLA 2012 |
GPUs and heterogeneous computing
GPU computing |
0.2 | 1 | 2013 | General transformations for GPU execution of tree traversals · SC 2013 |
Parallel and multicore computing › parallel algorithms
irregular algorithms |
0.2 | 1 | 2013 | General transformations for GPU execution of tree traversals · SC 2013 |
Compilers and program optimization
loop transformation |
0.1 | 1 | 2011 | Enhancing locality for recursive traversals of recursive structures · OOPSLA 2011 |
Parallel and multicore computing › parallel computing › parallel applications
irregular applications |
0.1 | 2 | 2012 | Automatically enhancing locality for tree traversals with traversal splicing · OOPSLA 2012 Enhancing locality for recursive traversals of recursive structures · OOPSLA 2011 |
Processor architecture and microarchitecture › vector processor
vector processing unit |
0.1 | 1 | 2015 | Efficient execution of recursive programs on commodity vector hardware · PLDI 2015 |
GPUs and heterogeneous computing › GPU memory management
GPU memory hierarchy optimization |
0.0 | 1 | 2013 | General transformations for GPU execution of tree traversals · SC 2013 |
Methods — techniques the papers use, named apart from their topics
scheduling policy · 0.4code transformation · 0.4point sorting · 0.3point blocking · 0.3loop tiling · 0.2auto-tuning · 0.2general-purpose GPU transformation · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | Efficient execution of recursive programs on commodity vector hardwareabstractThe pursuit of computational efficiency has led to the proliferation of throughput-oriented hardware, from GPUs to increasingly wide vector units on commodity processors and accelerators. This hardware is designed to efficiently execute data-parallel computations in a vectorized manner. However, many algorithms are more naturally expressed as divide-and-conquer, recursive, task-parallel computations. In the absence of data parallelism, it seems that such algorithms are not well suited to throughput-oriented architectures. This paper presents a set of novel code transformations that expose the data parallelism latent in recursive, task-parallel programs. These transformations facilitate straightforward vectorization of task-parallel programs on commodity hardware. We also present scheduling policies that maintain high utilization of vector resources while limiting space usage. Across several task-parallel benchmarks, we demonstrate both efficient vector resource utilization and substantial speedup on chips using Intel’s SSE4.2 vector units, as well as accelerators using Intel’s AVX512 units. Bin Ren 0002, Youngjoon Jo, Sriram Krishnamoorthy, Kunal Agrawal 0001, Milind Kulkarni 0001 |
PLDI | 2 |
| 2013 | Automatic vectorization of tree traversalsabstractRepeated tree traversals are ubiquitous in many domains such as scientific simulation, data mining and graphics. Modern commodity processors support SIMD instructions, and using these instructions to process multiple traversals at once has the potential to provide substantial performance improvements. Unfortunately these algorithms often feature highly diverging traversals which inhibit efficient SIMD utilization, to the point that other, less profitable sources of vectorization must be exploited instead. Previous work has proposed traversal splicing, a locality transformation for tree traversals, which dynamically reorders traversals based on previous behavior, based on the insight that traversals which have behaved similarly so far are likely to behave similarly in the future. In this work, we cast this dynamic reordering as a scheduling for efficient SIMD execution, and show that it can dramatically improve the SIMD utilization of diverging traversals, close to ideal utilization. For five irregular tree traversal algorithms, our techniques are able to deliver speedups of 2.78 on average over baseline implementations. Furthermore our techniques can effectively SIMDize algorithms that prior, manual vectorization attempts could not. Youngjoon Jo, Michael Goldfarb, Milind Kulkarni 0001 |
PACT | 1 |
| 2013 | General transformations for GPU execution of tree traversalsabstractWith the advent of programmer-friendly GPU computing environments, there has been much interest in offloading workloads that can exploit the high degree of parallelism available on modern GPUs. Exploiting this parallelism and optimizing for the GPU memory hierarchy is well-understood for regular applications that operate on dense data structures such as arrays and matrices. However, there has been significantly less work in the area of irregular algorithms and even less so when pointer-based dynamic data structures are involved. Recently, irregular algorithms such as Barnes-Hut and kd-tree traversals have been implemented on GPUs, yielding significant performance gains over CPU implementations. However, the implementations often rely on exploiting application-specific semantics to get acceptable performance. We argue that there are general-purpose techniques for implementing irregular algorithms on GPUs that exploit similarities in algorithmic structure rather than application-specific knowledge. We demonstrate these techniques on several tree traversal algorithms, achieving speedups of up to 38x over 32--thread CPU versions. Michael Goldfarb, Youngjoon Jo, Milind Kulkarni 0001 |
SC | 2 |
| 2012 | Automatically enhancing locality for tree traversals with traversal splicingabstractGenerally applicable techniques for improving temporal locality in irregular programs, which operate over pointer-based data structures such as trees and graphs, are scarce. Focusing on a subset of irregular programs, namely, tree traversal algorithms like Barnes-Hut and nearest neighbor, previous work has proposed point blocking, a technique analogous to loop tiling in regular programs, to improve locality. However point blocking is highly dependent on point sorting, a technique to reorder points so that consecutive points will have similar traversals. Performing this a priori sort requires an understanding of the semantics of the algorithm and hence highly application specific techniques. In this work, we propose traversal splicing, a new, general, automatic locality optimization for irregular tree traversal codes, that is less sensitive to point order, and hence can deliver substantially better performance, even in the absence of semantic information. For six benchmark algorithms, we show that traversal splicing can deliver single-thread speedups of up to 9.147 (geometric mean: 3.095) over baseline implementations, and up to 4.752 (geometric mean: 2.079) over point-blocked implementations. Further, we show that in many cases, automatically applying traversal splicing to a baseline implementation yields performance that is better than carefully hand-optimized implementations. Youngjoon Jo, Milind Kulkarni 0001 |
OOPSLA | 1 |
| 2011 | Enhancing locality for recursive traversals of recursive structuresabstractWhile there has been decades of work on developing automatic, locality-enhancing transformations for regular programs that operate over dense matrices and arrays, there has been little investigation of such transformations for irregular programs, which operate over pointer-based data structures such as graphs, trees and lists. In this paper, we argue that, for a class of irregular applications we call traversal codes, there exists substantial data reuse and hence opportunity for locality exploitation. We develop a novel optimization called point blocking, inspired by the classic tiling loop transformation, and show that it can substantially enhance temporal locality in traversal codes. We then present a transformation and optimization framework called TreeTiler that automatically detects opportunities for applying point blocking and applies the transformation. TreeTiler uses autotuning techniques to determine appropriate parameters for the transformation. For a series of traversal algorithms drawn from real-world applications, we show that TreeTiler is able to deliver performance improvements of up to 245% over an optimized (but non-transformed) parallel baseline, and in several cases, significantly better scalability. Youngjoon Jo, Milind Kulkarni 0001 |
OOPSLA | 1 |
| 2011 | Brief announcement: locality-enhancing loop transformations for tree traversal algorithmsabstractIn this paper, we discuss transformations that can be applied to irregular programs that perform tree traversals, which can be seen as analogs of the popular regular transformations of loop tiling. We demonstrate the utility of these transformations on two tree traversal algorithms, the Barnes-Hut algorithm and raytracing, achieving speedups of up to 237% over the baseline implementation. Youngjoon Jo, Milind Kulkarni 0001 |
SPAA | 1 |
| 2010 | Brief announcement: locality-aware load balancing for speculatively-parallelized irregular applicationsabstractLoad balancing is an important consideration when running data-parallel programs. While traditional techniques trade off the cost of load imbalance with the overhead of mitigating that imbalance, when speculatively parallelizing amorphous data-parallel applications, we must also consider the effects of load balancing decisions on locality and speculation accuracy. We present two data centric load balancing strategies which account for the intricacies of amorphous data-parallel execution. We implement these strategies as schedulers in the Galois system and demonstrate that they outperform traditional load balancing schedulers, as well as a data-centric, non-load-balancing scheduler. Youngjoon Jo, Milind Kulkarni 0001 |
SPAA | 1 |