Demo Data from EDBT 2026 / reviewers in the wild / expert
Yong Hun Eom
dblp:55/9117
· DBLP profile ↗
6ranked-venue papers
3as first author
0since 2021 · last 2015
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 2 first-authorSystems, architecture and hardware · 3 · 1 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
3 papers |
Parallel and multicore computing · 78% Cloud and datacenter computing · 22% | |
| Software engineering, system software, and programming languages
3 papers |
Compilers and program optimization · 45% Programming languages and type systems · 24% Program analysis · 24% | |
| Databases, data mining, and information retrieval
1 paper |
Information retrieval · 100% |
Topics — the 10 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing › parallelization strategies
incremental parallelization |
0.2 | 1 | 2015 | Few-to-Many: Incremental Parallelism for Reducing Tail Latency in Interactive Services · ASPLOS 2015 |
Compilers and program optimization
parallelizing compiler |
0.1 | 1 | 2012 | DOJ: dynamically parallelizing object-oriented programs · PPoPP 2012 |
Program analysis
static analysis |
0.1 | 1 | 2012 | Self-stabilizing Java · PLDI 2012 |
Programming languages and type systems
type systems |
0.1 | 1 | 2012 | Self-stabilizing Java · PLDI 2012 |
Parallel and multicore computing › parallel programming models
automatic parallelization |
0.1 | 1 | 2012 | DOJ: dynamically parallelizing object-oriented programs · PPoPP 2012 |
Parallel and multicore computing › speculative parallelization
dynamic parallelization |
0.1 | 1 | 2012 | DOJ: dynamically parallelizing object-oriented programs · PPoPP 2012 |
Parallel and multicore computing › deterministic execution
deterministic parallelism |
0.1 | 1 | 2011 | OoOJava: software out-of-order execution · PPoPP 2011 |
Parallel and multicore computing
parallel programming models |
0.1 | 1 | 2011 | OoOJava: software out-of-order execution · PPoPP 2011 |
Information retrieval
search engines |
0.1 | 1 | 2015 | Few-to-Many: Incremental Parallelism for Reducing Tail Latency in Interactive Services · ASPLOS 2015 |
Operating systems
fault tolerance |
0.0 | 1 | 2012 | Self-stabilizing Java · PLDI 2012 |
Methods — techniques the papers use, named apart from their topics
service demand profiling · 0.4interval table policy · 0.4static analysis · 0.4task annotation · 0.3dynamic dependence analysis · 0.3developer annotations · 0.2type system · 0.1code generation · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | Few-to-Many: Incremental Parallelism for Reducing Tail Latency in Interactive ServicesabstractInteractive services, such as Web search, recommendations, games, and finance, must respond quickly to satisfy customers. Achieving this goal requires optimizing tail (e.g., 99th+ percentile) latency. Although every server is multicore, parallelizing individual requests to reduce tail latency is challenging because (1) service demand is unknown when requests arrive; (2) blindly parallelizing all requests quickly oversubscribes hardware resources; and (3) parallelizing the numerous short requests will not improve tail latency. This paper introduces Few-to-Many (FM) incremental parallelization, which dynamically increases parallelism to reduce tail latency. FM uses request service demand profiles and hardware parallelism in an offline phase to compute a policy, represented as an interval table, which specifies when and how much software parallelism to add. At runtime, FM adds parallelism as specified by the interval table indexed by dynamic system load and request execution time progress. The longer a request executes, the more parallelism FM adds. We evaluate FM in Lucene, an open-source enterprise search engine, and in Bing, a commercial Web search engine. FM improves the 99th percentile response time up to 32% in Lucene and up to 26% in Bing, compared to prior state-of-the-art parallelization. Compared to running requests sequentially in Bing, FM improves tail latency by a factor of two. These results illustrate that incremental parallelism is a powerful tool for reducing tail latency. Md. Enamul Haque, Yong Hun Eom, Yuxiong He, Sameh Elnikety, Ricardo Bianchini, Kathryn S. McKinley |
ASPLOS | 2 |
| 2013 | Sinfer: Inferring information flow lattices for checking self-stabilizationabstractSelf-stabilizing programs are guaranteed to recover from state corruption caused by software bugs or other events and eventually reach the correct state. Many real-world applications including embedded controllers and multimedia applications can be designed to make key components self-stabilizing. Type systems and static analyses can automatically check whether a program is self stabilizing. The existing approach for checking self-stabilization requires developers to manually annotate code. We present an annotation inference algorithm that automatically derives an initial set of annotations and therefore lowers the effort to build self-stabilizing systems. Our experience with the algorithm indicates that it effectively inferred annotations for our benchmarks. Yong Hun Eom, Brian Demsky |
ISSRE | 1 |
| 2012 | Self-stabilizing JavaabstractSelf-stabilizing programs automatically recover from state corruption caused by software bugs and other sources to reach the correct state. A number of applications are inherently self-stabilizing---such programs typically overwrite all non-constant data with new input data. We present a type system and static analyses that together check whether a program is self-stabilizing. We combine this with a code generation strategy that ensures that a program continues executing long enough to self-stabilize. Our experience using SJava indicates that (1) SJava annotations are easy to write once one understands a program and (2) SJava successfully checked that several benchmarks were self-stabilizing. Yong Hun Eom, Brian Demsky |
PLDI | 1 |
| 2012 | DOJ: dynamically parallelizing object-oriented programsabstractWe present Dynamic Out-of-Order Java (DOJ), a dynamic parallelization approach. In DOJ, a developer annotates code blocks as tasks to decouple these blocks from the parent execution thread. The DOJ compiler then analyzes the code to generate heap examiners that ensure the parallel execution preserves the behavior of the original sequential program. Heap examiners dynamically extract heap dependences between code blocks and determine when it is safe to execute a code block. Yong Hun Eom, James Christopher Jenista, Brian Demsky |
PPoPP | 1 |
| 2011 | Using Disjoint Reachability for Parallelization
James Christopher Jenista, Yong Hun Eom, Brian Demsky |
CC | 2 |
| 2011 | OoOJava: software out-of-order executionabstractDeveloping parallel software using current tools can be challenging. Even experts find it difficult to reason about the use of locks and often accidentally introduce race conditions and deadlocks into parallel software. OoOJava is a compiler-assisted approach that leverages developer annotations along with static analysis to provide an easy-to-use deterministic parallel programming model. OoOJava extends Java with a task annotation that instructs the compiler to consider a code block for out-of-order execution. OoOJava executes tasks as soon as their data dependences are resolved and guarantees that the execution of an annotated program preserves the exact semantics of the original sequential program. We have implemented OoOJava and achieved an average speedup of 16.6x on our ten benchmarks. James Christopher Jenista, Yong Hun Eom, Brian Demsky |
PPoPP | 2 |