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

Jun Heo 0001

dblp:81/4136-1 · DBLP profile ↗
← Back
8ranked-venue papers
2as first author
2since 2021 · last 2024
0009-0007-7452-3030ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 7 · 2 first-author · 2 since 2021Software engineering, systems software and programming languages · 3 · 2 first-author · 1 since 2021Artificial intelligence and machine learning · 1Databases, data management, data science and information retrieval · 1Applied, 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 · 48% Storage systems · 37% Hardware accelerators and domain-specific architectures · 10%
Databases, data mining, and information retrieval
2 papers
Information retrieval · 88% Indexing and storage engines · 12%

Topics — the 16 heaviest of 18, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Memory systems
non-volatile memory
1.122024
An LSM Tree Augmented with B+ Tree on Nonvolatile Memory · ACM Trans. Storage 2024
Charon: Specialized Near-Memory Processing Architecture for Clearing Dead Objects in Memory · MICRO 2019
Storage systems › indexing
b+-tree
0.812024
An LSM Tree Augmented with B+ Tree on Nonvolatile Memory · ACM Trans. Storage 2024
Memory systems › non-volatile memory › persistent memory
byte-addressable persistent memory
0.812024
An LSM Tree Augmented with B+ Tree on Nonvolatile Memory · ACM Trans. Storage 2024
Storage systems
indexing
0.812024
An LSM Tree Augmented with B+ Tree on Nonvolatile Memory · ACM Trans. Storage 2024
Storage systems
key-value storage
0.812024
An LSM Tree Augmented with B+ Tree on Nonvolatile Memory · ACM Trans. Storage 2024
Storage systems › key-value storage
LSM-tree key-value store
0.812024
An LSM Tree Augmented with B+ Tree on Nonvolatile Memory · ACM Trans. Storage 2024
Information retrieval
search engines
0.512021
BOSS: Bandwidth-Optimized Search Accelerator for Storage-Class Memory · ISCA 2021
Memory systems › in-memory computing
in-memory search accelerator
0.512021
BOSS: Bandwidth-Optimized Search Accelerator for Storage-Class Memory · ISCA 2021
Memory systems › processing-in-memory
near-data processing
0.512021
BOSS: Bandwidth-Optimized Search Accelerator for Storage-Class Memory · ISCA 2021
Information retrieval › indexing
inverted index
0.412020
IIU: Specialized Architecture for Inverted Index Search · ASPLOS 2020
Electronic design automation
hardware/software co-design
0.412020
A Specialized Architecture for Object Serialization with Applications to Big Data Analytics · ISCA 2020
Memory systems › DRAM › DRAM architecture
3D-stacked DRAM
0.412019
Charon: Specialized Near-Memory Processing Architecture for Clearing Dead Objects in Memory · MICRO 2019
Memory systems › processing-in-memory
near-memory processing
0.412019
Charon: Specialized Near-Memory Processing Architecture for Clearing Dead Objects in Memory · MICRO 2019
Memory systems
processing-in-memory
0.412019
Charon: Specialized Near-Memory Processing Architecture for Clearing Dead Objects in Memory · MICRO 2019
Memory systems › non-volatile memory
storage class memory
0.112021
BOSS: Bandwidth-Optimized Search Accelerator for Storage-Class Memory · ISCA 2021
Storage systems › computational storage
in-storage computing
0.112020
A Specialized Architecture for Object Serialization with Applications to Big Data Analytics · ISCA 2020

Methods — techniques the papers use, named apart from their topics

early-termination search · 1.0decompression · 1.0hardware-software co-design · 0.9compaction reduction · 0.8auxiliary index design · 0.8cycle-level simulation · 0.4RTL design · 0.4specialized processing unit · 0.4near-memory processing · 0.4
YearPublicationVenuePosition
2024 An LSM Tree Augmented with B+ Tree on Nonvolatile Memory
abstract
Modern log-structured merge (LSM) tree-based key-value stores are widely used to process update-heavy workloads effectively as the LSM tree sequentializes write requests to a storage device to maximize storage performance. However, this append-only approach leaves many outdated copies of frequently updated key-value pairs, which need to be routinely cleaned up through the operation called compaction . When the system load is modest, compaction happens in background. However, at a high system load, it can quickly become the major performance bottleneck. To address this compaction bottleneck and further improve the write throughput of LSM tree-based key-value stores, we propose LAB-DB, which augments the existing LSM tree with a pair of B + trees on byte-addressable nonvolatile memory (NVM). The auxiliary B + trees on NVM reduce both compaction frequency and compaction time, hence leading to lower compaction overhead for writes and fewer storage accesses for reads. According to our evaluation of LAB-DB on RocksDB with YCSB benchmarks, LAB-DB achieves 94% and 67% speedups on two write-intensive workloads (Workload A and F), and also a 43% geomean speedup on read-intensive YCSB Workload B, C, D, and E. This performance gain comes with a low cost of NVM whose size is just 0.6% of the entire dataset to demonstrate the scalability of LAB-DB with an ever increasing volume of future datasets.
Jongsung Lee 0001, Keun Soo Lim, Jun Heo 0001, Tae Jun Ham, Jae W. Lee
ACM Trans. Storage4
2021 BOSS: Bandwidth-Optimized Search Accelerator for Storage-Class Memory
abstract
Search is one of the most popular and important web services. The inverted index is the standard data structure adopted by most full-text search engines. Recently, custom hardware accelerators for inverted index search have emerged to demonstrate much higher throughput than the conventional CPU or GPU. However, less attention has been paid to addressing the memory capacity pressure with inverted index. The conventional DDRx DRAM memory system significantly increases the system cost to make a terabyte-scale main memory. Instead, a shared memory pool composed of storage-class memory (SCM) devices is a promising alternative for scaling memory capacity at a much lower cost. However, this SCM-based pooled memory poses new challenges caused by the limited bandwidth of both SCM devices and the shared interconnect to the host CPU. Thus, we propose BOSS, the first near-data processing (NDP) architecture for inverted index search on SCM-based pooled memory, which maintains high throughput of query processing in this bandwidth- constrained environment. BOSS mitigates the impact of low bandwidth of SCM devices by employing early-termination search algorithms, reducing the footprint of intermediate data, and introducing a programmable decompression module that can select the best compression scheme for a given inverted index. Furthermore, BOSS includes a top-k selection module in hardware to substantially reduce the host-accelerator bandwidth consumption. Compared to Apache Lucene, a production-grade search engine library, running on 8 CPU cores, BOSS achieves a geomean speedup of 8.1× on various complex query types, while reducing the average energy consumption by 189×.
Jun Heo 0001, Seung Yul Lee, Sunhong Min, Yeonhong Park, Sungjun Jung, Tae Jun Ham, Jae W. Lee
ISCA1
2020 IIU: Specialized Architecture for Inverted Index Search
abstract
Inverted index serves as a fundamental data structure for efficient search across various applications such as full-text search engine, document analytics and other information retrieval systems. The storage requirement and query load for these structures have been growing at a rapid rate. Thus, an ideal indexing system should maintain a small index size with a low query processing time. Previous works have mainly focused on using CPUs and GPUs to exploit query parallelism while utilizing state-of-the-art compression schemes to fit the index in memory. However, scaling parallelism to maximally utilize memory bandwidth on these architectures is still challenging. In this work, we present IIU, a novel inverted index processing unit, to optimize the query performance while maintaining a low memory overhead for index storage. To this end, we co-design the indexing scheme and hardware accelerator so that the accelerator can process highly compressed inverted index at a high throughput. In addition, IIU provides flexible interconnects between modules to take advantage of both intra- and inter-query parallelism. Our evaluation using a cycle-level simulator demonstrates that IIU provides an average of 13.8\times× query latency reduction and 5.4\times× throughput improvement across different query types, while reducing the average energy consumption by 18.6\times×, compared to Apache Lucene, a production-grade full-text search framework.
Jun Heo 0001, Jaeyeon Won, Yejin Lee 0001, Shivam Bharuka, Jaeyoung Jang, Tae Jun Ham, Jae W. Lee
ASPLOS1
2020 Unlocking Wordline-level Parallelism for Fast Inference on RRAM-based DNN Accelerator
abstract
In-memory computing is rapidly rising as a viable solution that can effectively accelerate neural networks by overcoming the memory wall. Resistive RAM (RRAM) crossbar array is in the spotlight as a building block for DNN inference accelerators since it can perform a massive amount of dot products in memory in an area- and power-efficient manner. However, its in-memory computation is vulnerable to errors due to the non-ideality of RRAM cells. This error-prone nature of RRAM crossbar limits its wordline-level parallelism as activating a large number of wordlines accumulates non-zero current contributions from RRAM cells in the high-resistance state as well as current deviations from individual cells, leading to a significant accuracy drop. To improve performance by increasing the maximum number of concurrently activated wordlines, we propose two techniques. First, we introduce a lightweight scheme that effectively eliminates the current contributions from high-resistance state cells. Second, based on the observation that not all layers in a neural network model have the same error rates and impact on the inference accuracy, we propose to allow different layers to activate non-uniform numbers of wordlines concurrently. We also introduce a systematic methodology to determine the number of concurrently activated wordlines for each layer with a goal of optimizing performance, while minimizing the accuracy degradation. Our proposed techniques increase the inference throughput by 3-10× with a less than 1% accuracy drop over three datasets. Our evaluation also demonstrates that this benefit comes with a small cost of only 8.2% and 5.3% increase in area and power consumption, respectively.
Yeonhong Park, Seung Yul Lee, Hoon Shin, Jun Heo 0001, Tae Jun Ham, Jae W. Lee
ICCAD4
2020 A Specialized Architecture for Object Serialization with Applications to Big Data Analytics
abstract
Object serialization and deserialization (S/D) is an essential feature for efficient communication between distributed computing nodes with potentially non-uniform execution environments. S/D operations are widely used in big data analytics frameworks for remote procedure calls and massive data transfers like shuffles. However, frequent S/D operations incur significant performance and energy overheads as they must traverse and process a large object graph. Prior approaches improve S/D throughput by effectively hiding disk or network I/O latency with computation, increasing compression ratio, and/or application-specific customization. However, inherent dependencies in the existing (de)serialization formats and algorithms eventually become the major performance bottleneck. Thus, we propose Cereal, a specialized hardware accelerator for memory object serialization. By co-designing the serialization format with hardware architecture, Cereal effectively utilizes abundant parallelism in the S/D process to deliver high throughput. Cereal also employs an efficient object packing scheme to compress metadata such as object reference offsets and a space-efficient bitmap representation for the object layout. Our evaluation of Cereal using both a cycle-level simulator and synthesizable Chisel RTL demonstrates that Cereal delivers 43.4× higher average S/D throughput than 88 other S/D libraries on Java Serialization Benchmark Suite. For six Spark applications Cereal achieves 7.97× and 4.81× speedups on average for S/D operations over Java built-in serializer and Kryo, respectively, while saving S/D energy by 227.75× and 136.28×.
Jaeyoung Jang, Sungjun Jung, Sunmin Jeong, Jun Heo 0001, Hoon Shin, Tae Jun Ham, Jae W. Lee
ISCA4
2019 Charon: Specialized Near-Memory Processing Architecture for Clearing Dead Objects in Memory
abstract
Garbage collection (GC) is a standard feature for high productivity programming, saving a programmer from many nasty memory-related bugs. However, these productivity benefits come with a cost in terms of application throughput, worst-case latency, and energy consumption. Since the first introduction of GC by the Lisp programming language in the 1950s, a myriad of hardware and software techniques have been proposed to reduce this cost. While the idea of accelerating GC in hardware is appealing, its impact has been very limited due to narrow coverage, lack of flexibility, intrusive system changes, and significant hardware cost. Even with specialized hardware GC performance is eventually limited by memory bandwidth bottleneck. Fortunately, emerging 3D stacked DRAM technologies shed new light on this decades-old problem by enabling efficient near-memory processing with ample memory bandwidth. Thus, we propose Charon1, the first 3D stacked memory-based GC accelerator. Through a detailed performance analysis of HotSpot JVM, we derive a set of key algorithmic primitives based on their GC time coverage and implementation complexity in hardware. Then we devise a specialized processing unit to substantially improve their memory-level parallelism and throughput with a low hardware cost. Our evaluation of Charon with the full-production HotSpot JVM running two big data analytics frameworks, Spark and GraphChi, demonstrates a 3.29× geomean speedup and 60.7% energy savings for GC over the baseline 8-core out-of-order processor.
Jaeyoung Jang, Jun Heo 0001, Yejin Lee 0001, Jaeyeon Won, Seonghak Kim, Sungjun Jung, Hakbeom Jang, Tae Jun Ham, Jae W. Lee
MICRO2
2018 A portable, automatic data qantizer for deep neural networks
abstract
With the proliferation of AI-based applications and services, there are strong demands for efficient processing of deep neural networks (DNNs). DNNs are known to be both compute-and memory-intensive as they require a tremendous amount of computation and large memory space. Quantization is a popular technique to boost efficiency of DNNs by representing a number with fewer bits, hence reducing both computational strength and memory footprint. However, it is a difficult task to find an optimal number representation for a DNN due to a combinatorial explosion in feasible number representations with varying bit widths, which is only exacerbated by layer-wise optimization. Besides, existing quantization techniques often target a specific DNN framework and/or hardware platform, lacking portability across various execution environments. To address this, we propose libnumber, a portable, automatic quantization framework for DNNs. By introducing Number abstract data type (ADT), libnumber encapsulates the internal representation of a number from the user. Then the auto-tuner of libnumber finds a compact representation (type, bit width, and bias) for the number that minimizes the user-supplied objective function, while satisfying the accuracy constraint. Thus, libnumber effectively separates the concern of developing an effective DNN model from low-level optimization of number representation. Our evaluation using eleven DNN models on two DNN frameworks targeting an FPGA platform demonstrates over 8× (7×) reduction in the parameter size on average when up to 7% (1%) loss of relative accuracy is tolerable, with a maximum reduction of 16×, compared to the baseline using 32-bit floating-point numbers. This leads to an geomean speedup of 3.79× with a maximum speedup of 12.77× over the baseline, while requiring only minimal programmer effort.
Young H. Oh, Quan Quan, Seonghak Kim, Jun Heo 0001, Sungjun Jung, Jaeyoung Jang, Jae W. Lee
PACT5
2017 Jointly optimizing task granularity and concurrency for in-memory mapreduce frameworks
abstract
Recently, in-memory big data processing frameworks have emerged, such as Apache Spark and Ignite, to accelerate workloads requiring frequent data reuse. With effective in-memory caching these frameworks eliminate most of I/O operations, which would otherwise be necessary for communication between producer and consumer tasks. However, this performance benefit is nullified if the memory footprint exceeds available memory size, due to excessive spill and garbage collection (GC) operations. To fit the working set in memory, two system parameters play an important role: number of data partitions (Npartitions) specifying task granularity, and number of tasks per each executor (Nthreads) specifying the degree of parallelism in execution. Existing approaches to optimizing these parameters either do not take into account workload characteristics, or optimize only one of the parameters in isolation, thus yielding suboptimal performance. This paper introduces WASP, a workload-aware task scheduler and partitioner, which jointly optimizes both parameters at runtime. To find an optimal setting, WASP first analyzes the DAG structure of a given workload, and uses an analytical model to predict optimal settings of Npartitionsand Nthreadsfor all stages based on their computation types. Taking this as input, the WASP scheduler employs a hill climbing algorithm to find an optimal Nthreadsfor each stage, thus maximizing concurrency while minimizing data spills and GCs. We prototype WASP on Spark and evaluate it using six workloads on three different parallel platforms. WASP improves performance by up to 3.22× and reduces the cluster operating cost on cloud by up to 40%, over the baseline following Spark Tuning Guidelines and provides robust performance for both shuffle-heavy and shuffle-light workloads.
Jonghyun Bae, Hakbeom Jang, Wenjing Jin 0001, Jun Heo 0001, Jaeyoung Jang, Joo Young Hwang, Sangyeun Cho, Jae W. Lee
IEEE BigData4