VLDB 2026 Research / reviewers in the wild / expert
Han Bok Lee
dblp:88/4786
· DBLP profile ↗
5ranked-venue papers
2as first author
0since 2021 · last 2007
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 2 first-authorSystems, architecture and hardware · 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.
| Software engineering, system software, and programming languages
4 papers |
Runtime systems and virtual machines · 63% Compilers and program optimization · 37% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Performance modeling and evaluation · 79% Distributed systems · 9% Memory systems · 8% |
Topics — the 10 heaviest of 15, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization
dynamic optimization |
0.1 | 1 | 2007 | Design, implementation, and evaluation of a compilation server · ACM Trans. Program. Lang. Syst. 2007 |
Runtime systems and virtual machines › virtual machine implementation
java virtual machine |
0.1 | 1 | 2007 | Design, implementation, and evaluation of a compilation server · ACM Trans. Program. Lang. Syst. 2007 |
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation |
0.1 | 1 | 2007 | Design, implementation, and evaluation of a compilation server · ACM Trans. Program. Lang. Syst. 2007 |
Performance modeling and evaluation
benchmarking |
0.1 | 1 | 2006 | The DaCapo benchmarks: java benchmarking development and analysis · OOPSLA 2006 |
Performance modeling and evaluation › benchmarking › benchmark design
benchmark suite design |
0.1 | 1 | 2006 | The DaCapo benchmarks: java benchmarking development and analysis · OOPSLA 2006 |
Performance modeling and evaluation
workload characterization |
0.1 | 1 | 2006 | The DaCapo benchmarks: java benchmarking development and analysis · OOPSLA 2006 |
Runtime systems and virtual machines › garbage collection
concurrent reference counting |
0.0 | 1 | 2001 | Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector · PLDI 2001 |
Runtime systems and virtual machines
garbage collection |
0.0 | 1 | 2001 | Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector · PLDI 2001 |
Runtime systems and virtual machines › garbage collection
parallel garbage collection |
0.0 | 1 | 2001 | Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector · PLDI 2001 |
Parallel and multicore computing › multiprocessor system
shared-memory multiprocessor |
0.0 | 1 | 2001 | Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector · PLDI 2001 |
Methods — techniques the papers use, named apart from their topics
time-series metrics · 0.1statistical metrics · 0.1reference counting · 0.1mark-and-sweep · 0.0mark and sweep · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2007 | Design, implementation, and evaluation of a compilation serverabstractModern JVM implementations interleave execution with compilation of “hot” methods to achieve reasonable performance. Since compilation overhead impacts the execution time of the application and induces run-time pauses, we explore offloading compilation onto a compilation server. In this article, we present the design, implementation, and evaluation of a compilation server that compiles and optimizes Java bytecodes on behalf of its clients. We show that the compilation server provides the following benefits for our benchmark programs: (i) lower execution time by reducing the compilation overhead and by enabling more aggressive optimizations; (ii) lower memory allocation by eliminating allocations due to optimizing compilation and the footprint of the optimizing compiler; (iii) lower execution time of the application due to sharing of profile information across different runs of the same application and runs of different applications. We implemented the compilation server in Jikes RVM, and our results indicate that it can reduce running time by an average of 20.5%, interruptions due to compilation by an average of 81.0%, and dynamic memory allocation by 8.6% for our benchmark programs. Simulation results indicate that our current implementation of the compilation server can handle more than 50 concurrent clients while still allowing them to outperform the best performing adaptive configuration. Han Bok Lee, Amer Diwan, J. Eliot B. Moss |
ACM Trans. Program. Lang. Syst. | 1 |
| 2006 | The DaCapo benchmarks: java benchmarking development and analysisabstractSince benchmarks drive computer science research and industry product development, which ones we use and how we evaluate them are key questions for the community. Despite complex runtime tradeoffs due to dynamic compilation and garbage collection required for Java programs, many evaluations still use methodologies developed for C, C++, and Fortran. SPEC, the dominant purveyor of benchmarks, compounded this problem by institutionalizing these methodologies for their Java benchmark suite. This paper recommends benchmarking selection and evaluation methodologies, and introduces the DaCapo benchmarks, a set of open source, client-side Java benchmarks. We demonstrate that the complex interactions of (1) architecture, (2) compiler, (3) virtual machine, (4) memory management, and (5) application require more extensive evaluation than C, C++, and Fortran which stress (4) much less, and do not require (3). We use and introduce new value, time-series, and statistical metrics for static and dynamic properties such as code complexity, code size, heap composition, and pointer mutations. No benchmark suite is definitive, but these metrics show that DaCapo improves over SPEC Java in a variety of ways, including more complex code, richer object behaviors, and more demanding memory system requirements. This paper takes a step towards improving methodologies for choosing and evaluating benchmarks to foster innovation in system design and implementation for Java and other managed languages. Steve Blackburn, Robin Garner, Chris Hoffmann, Asjad M. Khan, Kathryn S. McKinley, Rotem Bentzur, Amer Diwan, Daniel Feinberg, Daniel Frampton, Samuel Z. Guyer, Martin Hirzel, Antony L. Hosking, Maria Jump, Han Bok Lee, J. Eliot B. Moss, Aashish Phansalkar, Darko Stefanovic, Thomas VanDrunen, Daniel von Dincklage, Ben Wiedermann |
OOPSLA | 14 |
| 2006 | Understanding the behavior of compiler optimizationsabstractAbstract Compiler optimizations are difficult to implement and add complexity to a compiler. For this reason, compiler writers are selective about implementing them: they implement only the ones that they believe will be beneficial. To support compiler writers in this, we describe a method for measuring the cost and benefits of compiler optimizations, both individually and in synergy with other optimizations. We demonstrate our method by presenting results for the optimizations implemented in the Jikes Research Virtual Machine on the PowerPC and IA32 platforms. Copyright © 2006 John Wiley & Sons, Ltd. Han Bok Lee, Daniel von Dincklage, Amer Diwan, J. Eliot B. Moss |
Softw. Pract. Exp. | 1 |
| 2001 | Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage CollectorabstractThe deployment of Java as a concurrent programming language has created a critical need for high-performance, concurrent, and incremental multiprocessor garbage collection. We present the Recycler, a fully concurrent pure reference counting garbage collector that we have implemented in the Jalapeno Java virtual machine running on shared memory multiprocessors.While a variety of multiprocessor collectors have been proposed and some have been implemented, experimental data is limited and there is little quantitative basis for comparison between different algorithms. We present measurements of the Recycler and compare it against a non-concurrent but parallel load-balancing mark-and-sweep collector (that we also implemented in Jalapeno), and evaluate the classical tradeoff between response time and throughput.When processor or memory resources are limited, the Recycler runs at about 90% of the speed of the mark-and-sweep collector. However, with an extra processor to run collection and with a moderate amount of memory headroom, the Recycler is able to operate without ever blocking the mutators and achieves a maximum measured mutator delay of only 2.6 milliseconds for our benchmarks. End-to-end execution time is usually within 5%. David F. Bacon, C. Richard Attanasio, Han Bok Lee, V. T. Rajan, Stephen E. Smith |
PLDI | 3 |
| 1998 | Overlapping Execution with Transfer Using Non-Strict Execution for Mobile ProgramsabstractIn order to execute a program on a remote computer, it mustfirst be transferred over a network. This transmission incurs the over-head of network latency before execution can begin. This latency can vary greatly depending upon the size of the program., where it is located (e.g., on a local network or across the Internet), and the bandwidth available to retrieve the program. Existing technologies, like Java, require that a jle be filly transferred before it can start executing. For large files and low bandwidth lines, this delay can be significant.In this paper we propose and evaluate a non-strict form of mobile program execution. A mobile program is any program that is transferred to a different machine and executed. The goal of nonstrict execution is to overlap execution with transfer; allowing the program to start executing as soon as possible. Non-strict execution allows a procedure in the program to start executing as soon as its code and data have transferred. To enable this technology, we examine several techniques for rearranging procedures and reorganizing the data inside Java classjles. Our results show that nonstrict execution decreases the initial transfer delay between 31% and 56% on average, with an average reduction in overall execution time between 25% and 40%. Chandra Krintz, Brad Calder, Han Bok Lee, Benjamin G. Zorn |
ASPLOS | 3 |