Demo Data from EDBT 2026 / reviewers in the wild / expert
Hyojong Kim
dblp:137/0503
· DBLP profile ↗
11ranked-venue papers
2as first author
0since 2021 · last 2020
0000-0002-5476-2372ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 9 · 2 first-authorSoftware engineering, systems software and programming languages · 2 · 1 first-authorDatabases, data management, data science and information retrieval · 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
6 papers |
Memory systems · 52% GPUs and heterogeneous computing · 34% Parallel and multicore computing · 8% | |
| Theoretical computer science
2 papers |
Graph algorithms and graph theory · 100% |
Topics — the 21 heaviest of 21, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
GPUs and heterogeneous computing › GPU memory management
unified virtual memory |
0.9 | 2 | 2020 | Traversing Large Graphs on GPUs with Unified Memory · Proc. VLDB Endow. 2020 Batch-Aware Unified Memory Management in GPUs for Irregular Workloads · ASPLOS 2020 |
Memory systems
processing-in-memory |
0.6 | 2 | 2017 | CAIRO: A Compiler-Assisted Technique for Enabling Instruction-Level Offloading of Processing-In-Memory · ACM Trans. Archit. Code Optim. 2017 GraphPIM: Enabling Instruction-Level PIM Offloading in Graph Computing Frameworks · HPCA 2017 |
Memory systems › virtual memory management
demand paging |
0.4 | 1 | 2020 | Batch-Aware Unified Memory Management in GPUs for Irregular Workloads · ASPLOS 2020 |
GPUs and heterogeneous computing
GPU memory management |
0.4 | 1 | 2020 | Batch-Aware Unified Memory Management in GPUs for Irregular Workloads · ASPLOS 2020 |
Memory systems › data layout optimization
graph reordering |
0.4 | 1 | 2020 | Traversing Large Graphs on GPUs with Unified Memory · Proc. VLDB Endow. 2020 |
Parallel and multicore computing › graph processing
graph traversal |
0.4 | 1 | 2020 | Traversing Large Graphs on GPUs with Unified Memory · Proc. VLDB Endow. 2020 |
Memory systems › memory management
virtual memory |
0.4 | 1 | 2020 | Batch-Aware Unified Memory Management in GPUs for Irregular Workloads · ASPLOS 2020 |
Storage systems › flash and SSD
flash memory |
0.4 | 1 | 2019 | FlashGPU: Placing New Flash Next to GPU Cores · DAC 2019 |
GPUs and heterogeneous computing
GPU architecture |
0.4 | 1 | 2019 | FlashGPU: Placing New Flash Next to GPU Cores · DAC 2019 |
Memory systems
memory hierarchy |
0.4 | 1 | 2019 | FlashGPU: Placing New Flash Next to GPU Cores · DAC 2019 |
Memory systems › 3d-stacked memory
hybrid memory cube |
0.4 | 2 | 2017 | CAIRO: A Compiler-Assisted Technique for Enabling Instruction-Level Offloading of Processing-In-Memory · ACM Trans. Archit. Code Optim. 2017 GraphPIM: Enabling Instruction-Level PIM Offloading in Graph Computing Frameworks · HPCA 2017 |
Graph algorithms and graph theory
graph processing |
0.4 | 2 | 2017 | GraphPIM: Enabling Instruction-Level PIM Offloading in Graph Computing Frameworks · HPCA 2017 CAIRO: A Compiler-Assisted Technique for Enabling Instruction-Level Offloading of Processing-In-Memory · ACM Trans. Archit. Code Optim. 2017 |
Memory systems › memory architecture
interleaved memory |
0.3 | 1 | 2018 | CODA: Enabling Co-location of Computation and Data for Multiple GPU Systems · ACM Trans. Archit. Code Optim. 2018 |
GPUs and heterogeneous computing
multi-GPU computing |
0.3 | 1 | 2018 | CODA: Enabling Co-location of Computation and Data for Multiple GPU Systems · ACM Trans. Archit. Code Optim. 2018 |
Memory systems
3d-stacked memory |
0.3 | 1 | 2017 | CAIRO: A Compiler-Assisted Technique for Enabling Instruction-Level Offloading of Processing-In-Memory · ACM Trans. Archit. Code Optim. 2017 |
Memory systems › data locality
cache locality |
0.1 | 1 | 2020 | Traversing Large Graphs on GPUs with Unified Memory · Proc. VLDB Endow. 2020 |
GPUs and heterogeneous computing
GPU runtime systems |
0.1 | 1 | 2020 | Batch-Aware Unified Memory Management in GPUs for Irregular Workloads · ASPLOS 2020 |
Memory systems
DRAM |
0.1 | 1 | 2019 | FlashGPU: Placing New Flash Next to GPU Cores · DAC 2019 |
Parallel and multicore computing › task scheduling › process scheduling
affinity scheduling |
0.1 | 1 | 2018 | CODA: Enabling Co-location of Computation and Data for Multiple GPU Systems · ACM Trans. Archit. Code Optim. 2018 |
GPUs and heterogeneous computing › GPU scheduling
thread block scheduling |
0.1 | 1 | 2018 | CODA: Enabling Co-location of Computation and Data for Multiple GPU Systems · ACM Trans. Archit. Code Optim. 2018 |
Compilers and program optimization › compiler optimization
compiler-directed optimization |
0.1 | 1 | 2017 | CAIRO: A Compiler-Assisted Technique for Enabling Instruction-Level Offloading of Processing-In-Memory · ACM Trans. Archit. Code Optim. 2017 |
Methods — techniques the papers use, named apart from their topics
analytical modeling · 0.9recursive graph bisection · 0.4page prefetching · 0.4graph reordering · 0.4context switching · 0.4batch processing · 0.4dynamic page placement · 0.4buffer management · 0.4virtual-to-physical page mapping · 0.3dual address mode · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Batch-Aware Unified Memory Management in GPUs for Irregular WorkloadsabstractWhile unified virtual memory and demand paging in modern GPUs provide convenient abstractions to programmers for working with large-scale applications, they come at a significant performance cost. We provide the first comprehensive analysis of major inefficiencies that arise in page fault handling mechanisms employed in modern GPUs. To amortize the high costs in fault handling, the GPU runtime processes a large number of GPU page faults together. We observe that this batched processing of page faults introduces large-scale serialization that greatly hurts the GPU's execution throughput. We show real machine measurements that corroborate our findings. Our goal is to mitigate these inefficiencies and enable efficient demand paging for GPUs. To this end, we propose a GPU runtime software and hardware solution that (1) increases the batch size (i.e., the number of page faults handled together), thereby amortizing the øverheadName time, and reduces the number of batches by supporting CPU-like thread block context switching, and (2) takes page eviction off the critical path with no hardware changes by overlapping evictions with CPU-to-GPU page migrations. Our evaluation demonstrates that the proposed solution provides an average speedup of 2x over the state-of-the-art page prefetching. We show that our solution increases the batch size by 2.27x and reduces the total number of batches by 51% on average. We also show that the average batch processing time is reduced by 27%. Hyojong Kim, Jaewoong Sim, Prasun Gera, Ramyad Hadidi, Hyesoon Kim |
ASPLOS | 1 |
| 2020 | Traversing Large Graphs on GPUs with Unified MemoryabstractDue to the limited capacity of GPU memory, the majority of prior work on graph applications on GPUs has been restricted to graphs of modest sizes that fit in memory. Recent hardware and software advances make it possible to address much larger host memory transparently as a part of a feature known as unified virtual memory. While accessing host memory over an interconnect is understandably slower, the problem space has not been sufficiently explored in the context of a challenging workload with low computational intensity and an irregular data access pattern such as graph traversal. We analyse the performance of breadth first search (BFS) for several large graphs in the context of unified memory and identify the key factors that contribute to slowdowns. Next, we propose a lightweight offline graph reordering algorithm, HALO (Harmonic Locality Ordering), that can be used as a pre-processing step for static graphs. HALO yields speedups of 1.5x-1.9x over baseline in subsequent traversals. Our method specifically aims to cover large directed real world graphs in addition to undirected graphs whereas prior methods only account for the latter. Additionally, we demonstrate ties between the locality ordering problem and graph compression and show that prior methods from graph compression such as recursive graph bisection can be suitably adapted to this problem. Prasun Gera, Hyojong Kim, Piyush Sao, Hyesoon Kim, David A. Bader |
Proc. VLDB Endow. | 2 |
| 2019 | FlashGPU: Placing New Flash Next to GPU CoresabstractWe propose FlashGPU, a new GPU architecture that tightly blends new flash (Z-NAND) with massive GPU cores. Specifically, we replace global memory with Z-NAND that exhibits ultra-low latency. We also architect a flash core to manage request dispatches and address translations underneath L2 cache banks of GPU cores. While Z-NAND is a hundred times faster than conventional 3D-stacked flash, its latency is still longer than DRAM. To address this shortcoming, we propose a dynamic page-placement and buffer manager in Z-NAND subsystems by being aware of bulk and parallel memory access characteristics of GPU applications, thereby offering high-throughput and low-energy consumption behaviors. Jie Zhang 0048, Miryeong Kwon, Hyojong Kim, Hyesoon Kim, Myoungsoo Jung |
DAC | 3 |
| 2019 | Thermal-aware processing-in-memory instruction offloading
Lifeng Nai, Ramyad Hadidi, Hyojong Kim, Jaewoong Sim, Hyesoon Kim |
J. Parallel Distributed Comput. | 4 |
| 2018 | CoolPIM: Thermal-Aware Source Throttling for Efficient PIM Instruction OffloadingabstractProcessing-in-memory (PIM) is regaining attention as a promising technology for improving energy efficiency of computing systems. As such, many recent studies on 3D stacking-based PIM have investigated techniques for effectively offloading computation from the host to the PIM. However, the thermal impacts of such offloading have not been fully explored. This paper provides an understanding of thermal constraints of PIM in 3D-stacked designs and techniques to effectively utilize PIM. In our experiments with a real Hybrid Memory Cube (HMC) prototype, we observe that compared to conventional DRAM, HMC reaches a significantly higher operating temperature, which causes thermal shutdowns with a passive cooling solution. In addition, we find that even with a commodity-server cooling solution, when in-memory processing is highly utilized, HMC fails to maintain the temperature of the memory dies within the normal operating range, which results in higher energy consumption and performance overhead. Thus, we propose CoolPIM, a collection of thermal-aware software-and hardware-based source throttling mechanisms that effectively utilize PIM by controlling the intensity of PIM offloading in runtime. Our evaluation results demonstrate that CoolPIM achieves up to 1.4X and 1.37X speedups compared to non-offloading and naive offloading scenarios. Lifeng Nai, Ramyad Hadidi, Hyojong Kim, Jaewoong Sim, Hyesoon Kim |
IPDPS | 4 |
| 2018 | Performance Characterisation and Simulation of Intel's Integrated GPU ArchitectureabstractIntegrated GPUs (iGPUs) are ubiquitous in today's client devices such as laptops and desktops. Examples include Intel's HD or Iris Graphics and AMD's APUs. An iGPU resides on the same chip as the CPU, which is in contrast to a conventional discrete GPU that would typically be connected over the PCI-E bus. Much like discrete GPUs, iGPUs are also capable of general purpose computation in addition to traditional graphics roles. Further, iGPUs have some interesting differences compared to traditional GPUs such as a cache-coherent memory hierarchy and a shared last level cache with the CPU. Despite their wide spread use, they are not studied very extensively. To the best of our knowledge, this paper introduces the first open source trace generation and microarchitectural simulation framework for Intel's integrated GPUs. We characterise the performance of Intel's Skylake and Kabylake GPUs through detailed microbenchmarks, and use the performance evaluations to guide our models and validate the simulator. Prasun Gera, Hyojong Kim, Hyesoon Kim, Sunpyo Hong, Vinod George, Chi-Keung Luk |
ISPASS | 2 |
| 2018 | CODA: Enabling Co-location of Computation and Data for Multiple GPU SystemsabstractTo exploit parallelism and scalability of multiple GPUs in a system, it is critical to place compute and data together. However, two key techniques that have been used to hide memory latency and improve thread-level parallelism (TLP), memory interleaving, and thread block scheduling, in traditional GPU systems are at odds with efficient use of multiple GPUs. Distributing data across multiple GPUs to improve overall memory bandwidth utilization incurs high remote traffic when the data and compute are misaligned. Nondeterministic thread block scheduling to improve compute resource utilization impedes co-placement of compute and data. Our goal in this work is to enable co-placement of compute and data in the presence of fine-grained interleaved memory with a low-cost approach. To this end, we propose a mechanism that identifies exclusively accessed data and place the data along with the thread block that accesses it in the same GPU. The key ideas are (1) the amount of data exclusively used by a thread block can be estimated, and that exclusive data (of any size) can be localized to one GPU with coarse-grained interleaved pages; (2) using the affinity-based thread block scheduling policy, we can co-place compute and data together; and (3) by using dual address mode with lightweight changes to virtual to physical page mappings, we can selectively choose different interleaved memory pages for each data structure. Our evaluations across a wide range of workloads show that the proposed mechanism improves performance by 31% and reduces 38% remote traffic over a baseline system. Hyojong Kim, Ramyad Hadidi, Lifeng Nai, Hyesoon Kim, Nuwan Jayasena, Yasuko Eckert, Onur Kayiran, Gabriel H. Loh |
ACM Trans. Archit. Code Optim. | 1 |
| 2017 | GraphPIM: Enabling Instruction-Level PIM Offloading in Graph Computing FrameworksabstractWith the emergence of data science, graph computing has become increasingly important these days. Unfortunately, graph computing typically suffers from poor performance when mapped to modern computing systems because of the overhead of executing atomic operations and inefficient utilization of the memory subsystem. Meanwhile, emerging technologies, such as Hybrid Memory Cube (HMC), enable the processing-in-memory (PIM) functionality with offloading operations at an instruction level. Instruction offloading to the PIM side has considerable potentials to overcome the performance bottleneck of graph computing. Nevertheless, this functionality for graph workloads has not been fully explored, and its applications and shortcomings have not been well identified thus far. In this paper, we present GraphPIM, a full-stack solution for graph computing that achieves higher performance using PIM functionality. We perform an analysis on modern graph workloads to assess the applicability of PIM offloading and present hardware and software mechanisms to efficiently make use of the PIM functionality. Following the real-world HMC 2.0 specification, GraphPIM provides performance benefits for graph applications without any user code modification or ISA changes. In addition, we propose an extension to PIM operations that can further bring performance benefits for more graph applications. The evaluation results show that GraphPIM achieves up to a 2.4× speedup with a 37% reduction in energy consumption. Lifeng Nai, Ramyad Hadidi, Jaewoong Sim, Hyojong Kim, Pranith Kumar, Hyesoon Kim |
HPCA | 4 |
| 2017 | SimProf: A Sampling Framework for Data Analytic WorkloadsabstractToday, there is a steep rise in the amount of data being collected from diverse applications. Consequently, data analytic workloads are gaining popularity to gain insight that can benefit the application, e.g., financial trading, social media analysis. To study the architectural behavior of the workloads, architectural simulation is one of the most common approaches. However, because of the long-running nature of the workloads, it is not trivial to identify which parts of the analysis to simulate. In the current work, we introduce SimProf, a sampling framework for data analytic workloads. Using this tool, we are able to select representative simulation points based on the phase behavior of the analysis at a method level granularity. This provides a better understanding of the simulation point and also reduces the simulation time for different input sets. We present the framework for Apache Hadoop and Apache Spark frameworks, which can be easily extended to other data analytic workloads. Jen-Cheng Huang, Lifeng Nai, Pranith Kumar, Hyojong Kim, Hyesoon Kim |
IPDPS | 4 |
| 2017 | CAIRO: A Compiler-Assisted Technique for Enabling Instruction-Level Offloading of Processing-In-MemoryabstractThree-dimensional (3D)-stacking technology and the memory-wall problem have popularized processing-in-memory (PIM) concepts again, which offers the benefits of bandwidth and energy savings by offloading computations to functional units inside the memory. Several memory vendors have also started to integrate computation logics into the memory, such as Hybrid Memory Cube (HMC), the latest version of which supports up to 18 in-memory atomic instructions. Although industry prototypes have motivated studies for investigating efficient methods and architectures for PIM, researchers have not proposed a systematic way for identifying the benefits of instruction-level PIM offloading . As a result, compiler support for recognizing offloading candidates and utilizing instruction-level PIM offloading is unavailable. In this article, we analyze the advantages of instruction-level PIM offloading in the context of HMC-atomic instructions for graph-computing applications and propose CAIRO , a compiler-assisted technique and decision model for enabling instruction-level offloading of PIM without any burden on programmers. To develop CAIRO, we analyzed how instruction offloading enables performance gain in both CPU and GPU workloads. Our studies show that performance gain from bandwidth savings, the ratio of number of cache misses to total cache accesses, and the overhead of host atomic instructions are the key factors in selecting an offloading candidate. Based on our analytical models, we characterize the properties of beneficial and nonbeneficial candidates for offloading. We evaluate CAIRO with 27 multithreaded CPU and 36 GPU benchmarks. In our evaluation, CAIRO not only doubles the speedup for a set of PIM-beneficial workloads by exploiting HMC-atomic instructions but also prevents slowdown caused by incorrect offloading decisions for other workloads. Ramyad Hadidi, Lifeng Nai, Hyojong Kim, Hyesoon Kim |
ACM Trans. Archit. Code Optim. | 3 |
| 2014 | Harmonica: An FPGA-Based Data Parallel Soft CoreabstractGeneral-purpose GPUs or GPGPUs have taken their place in the market, being present in 38 of the Top 500 supercomputers [5]. In the same way that the emergence of FPGAs in the 1980s led to a demand for soft cores with instruction sets similar to the CPUs of the day, we anticipate a similar demand in the 2010s for soft cores with GPGPU instruction sets. These architectures are distinguished by their SIMT, single-instruction-multiple-thread, execution model, acheiving throughput by running multiple threads of execution simultaneously across multiple functional units, keeping separate register values for each lane of execution. Chad D. Kersey, Sudhakar Yalamanchili, Hyojong Kim, Nimit Nigania, Hyesoon Kim |
FCCM | 3 |