Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Hyojong Kim

dblp:137/0503 · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
GPUs and heterogeneous computing › GPU memory management
unified virtual memory
0.922020
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.622017
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.412020
Batch-Aware Unified Memory Management in GPUs for Irregular Workloads · ASPLOS 2020
GPUs and heterogeneous computing
GPU memory management
0.412020
Batch-Aware Unified Memory Management in GPUs for Irregular Workloads · ASPLOS 2020
Memory systems › data layout optimization
graph reordering
0.412020
Traversing Large Graphs on GPUs with Unified Memory · Proc. VLDB Endow. 2020
Parallel and multicore computing › graph processing
graph traversal
0.412020
Traversing Large Graphs on GPUs with Unified Memory · Proc. VLDB Endow. 2020
Memory systems › memory management
virtual memory
0.412020
Batch-Aware Unified Memory Management in GPUs for Irregular Workloads · ASPLOS 2020
Storage systems › flash and SSD
flash memory
0.412019
FlashGPU: Placing New Flash Next to GPU Cores · DAC 2019
GPUs and heterogeneous computing
GPU architecture
0.412019
FlashGPU: Placing New Flash Next to GPU Cores · DAC 2019
Memory systems
memory hierarchy
0.412019
FlashGPU: Placing New Flash Next to GPU Cores · DAC 2019
Memory systems › 3d-stacked memory
hybrid memory cube
0.422017
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.422017
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.312018
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.312018
CODA: Enabling Co-location of Computation and Data for Multiple GPU Systems · ACM Trans. Archit. Code Optim. 2018
Memory systems
3d-stacked memory
0.312017
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.112020
Traversing Large Graphs on GPUs with Unified Memory · Proc. VLDB Endow. 2020
GPUs and heterogeneous computing
GPU runtime systems
0.112020
Batch-Aware Unified Memory Management in GPUs for Irregular Workloads · ASPLOS 2020
Memory systems
DRAM
0.112019
FlashGPU: Placing New Flash Next to GPU Cores · DAC 2019
Parallel and multicore computing › task scheduling › process scheduling
affinity scheduling
0.112018
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.112018
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.112017
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
YearPublicationVenuePosition
2020 Batch-Aware Unified Memory Management in GPUs for Irregular Workloads
abstract
While 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
ASPLOS1
2020 Traversing Large Graphs on GPUs with Unified Memory
abstract
Due 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 Cores
abstract
We 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
DAC3
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 Offloading
abstract
Processing-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
IPDPS4
2018 Performance Characterisation and Simulation of Intel's Integrated GPU Architecture
abstract
Integrated 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
ISPASS2
2018 CODA: Enabling Co-location of Computation and Data for Multiple GPU Systems
abstract
To 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 Frameworks
abstract
With 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
HPCA4
2017 SimProf: A Sampling Framework for Data Analytic Workloads
abstract
Today, 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
IPDPS4
2017 CAIRO: A Compiler-Assisted Technique for Enabling Instruction-Level Offloading of Processing-In-Memory
abstract
Three-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 Core
abstract
General-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
FCCM3