Demo Data from VLDB 2026 / reviewers in the wild / expert
Taewook Oh
dblp:65/6113
· DBLP profile ↗
11ranked-venue papers
3as first author
1since 2021 · last 2024
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 8 · 2 first-author · 1 since 2021Software engineering, systems software and programming languages · 8 · 2 first-author · 1 since 2021
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 |
Processor architecture and microarchitecture · 53% Parallel and multicore computing · 30% Hardware accelerators and domain-specific architectures · 17% | |
| Software engineering, system software, and programming languages
2 papers |
Compilers and program optimization · 70% Program analysis · 23% Runtime systems and virtual machines · 7% | |
| Network and information security
1 paper |
Hardware security and side channels · 77% Systems and software security · 23% |
Topics — the 14 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Hardware security and side channels › hardware security primitives
hardware root of trust |
0.4 | 1 | 2019 | Architectural Support for Containment-based Security · ASPLOS 2019 |
Processor architecture and microarchitecture › hardware-assisted security
secure architecture |
0.4 | 1 | 2019 | Architectural Support for Containment-based Security · ASPLOS 2019 |
Processor architecture and microarchitecture
out-of-order execution |
0.2 | 1 | 2015 | DynaSpAM: dynamic spatial architecture mapping using out of order instruction schedules · ISCA 2015 |
Hardware accelerators and domain-specific architectures
spatial architecture |
0.2 | 1 | 2015 | DynaSpAM: dynamic spatial architecture mapping using out of order instruction schedules · ISCA 2015 |
Compilers and program optimization
dependence analysis |
0.2 | 1 | 2013 | Fast condensation of the program dependence graph · PLDI 2013 |
Program analysis › dynamic analysis
dynamic information-flow tracking |
0.2 | 1 | 2013 | Practical automatic loop specialization · ASPLOS 2013 |
Compilers and program optimization › dependence analysis
program dependence graph |
0.2 | 1 | 2013 | Fast condensation of the program dependence graph · PLDI 2013 |
Compilers and program optimization
program specialization |
0.2 | 1 | 2013 | Practical automatic loop specialization · ASPLOS 2013 |
Parallel and multicore computing › parallelization strategies
degree of parallelism management |
0.1 | 1 | 2011 | Parallelism orchestration using DoPE: the degree of parallelism executive · PLDI 2011 |
Parallel and multicore computing
parallel programming models |
0.1 | 1 | 2011 | Parallelism orchestration using DoPE: the degree of parallelism executive · PLDI 2011 |
Parallel and multicore computing
parallel programming runtimes |
0.1 | 1 | 2011 | Parallelism orchestration using DoPE: the degree of parallelism executive · PLDI 2011 |
Systems and software security › trusted computing
trusted execution |
0.1 | 1 | 2019 | Architectural Support for Containment-based Security · ASPLOS 2019 |
Processor architecture and microarchitecture
instruction scheduling |
0.1 | 1 | 2015 | DynaSpAM: dynamic spatial architecture mapping using out of order instruction schedules · ISCA 2015 |
Runtime systems and virtual machines › interpreter
interpreter optimization |
0.0 | 1 | 2013 | Practical automatic loop specialization · ASPLOS 2013 |
Methods — techniques the papers use, named apart from their topics
supply chain diversification · 0.8formal verification · 0.8speculation · 0.2dynamic mapping · 0.2invariant-induced pattern specialization · 0.2graph algorithms · 0.2dynamic information flow tracking · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Revamping Sampling-Based PGO with Context-Sensitivity and Pseudo-instrumentationabstractThe ever increasing scale of modern data center demands more effective optimizations, as even a small percentage of performance improvement can result in a significant reduction in data-center cost and its environmental footprint. However, the diverse set of workloads running in data centers also challenges the scalability of optimization solutions. Profile-guided optimization (PGO) is a promising technique to improve application performance. Sampling-based PGO is widely used in data-center applications due to its low operational overhead, but the performance gains are not as substantial as the instrumentation-based counterpart. The high operational overhead of instrumentation-based PGO, on the other hand, hinders its large-scale adoption, despite its superior performance gains. In this paper, we propose CSSPGO, a context-sensitive sampling-based PGO framework with pseudo-instrumentation. CSSPGO offers a more balanced solution to push sampling-based PGO performance closer to instrumentation-based PGO while maintaining minimal operational overhead. It leverages pseudo-instrumentation to improve profile quality without incurring the overhead of traditional instrumentation. It also enriches profile with context-sensitivity to aid more effective optimizations through a novel profiling methodology using synchronized LBR and stack sampling. CSSPGO is now used to optimize over 75% of Meta's data center CPU cycles. Our evaluation with production workloads demonstrates 1%-5% performance improvement on top of state-of-the-art sampling-based PGO. Wenlei He, Taewook Oh |
CGO | 4 |
| 2019 | Architectural Support for Containment-based SecurityabstractSoftware security techniques rely on correct execution by the hardware. Securing hardware components has been challenging due to their complexity and the proportionate attack surface they present during their design, manufacture, deployment, and operation. Recognizing that external communication represents one of the greatest threats to a system's security, this paper introduces the TrustGuard containment architecture. TrustGuard contains malicious and erroneous behavior using a relatively simple and pluggable gatekeeping hardware component called the Sentry. The Sentry bridges a physical gap between the untrusted system and its external interfaces. TrustGuard allows only communication that results from the correct execution of trusted software, thereby preventing the ill effects of actions by malicious hardware or software from leaving the system. The simplicity and pluggability of the Sentry, which is implemented in less than half the lines of code of a simple in-order processor, enables additional measures to secure this root of trust, including formal verification, supervised manufacture, and supply chain diversification with less than a 15% impact on performance. Hansen Zhang, Soumyadeep Ghosh, Jordan Fix, Sotiris Apostolakis, Stephen R. Beard, Nayana P. Nagendra, Taewook Oh, David I. August |
ASPLOS | 7 |
| 2017 | A Generalized Framework for Automatic Scripting Language ParallelizationabstractComputational scientists are typically not expert programmers, and thus work in easy to use dynamic languages. However, they have very high performance requirements, due to their large datasets and experimental setups. Thus, the performance required for computational science must be extracted from dynamic languages in a manner that is transparent to the programmer. Current approaches to optimize and parallelize dynamic languages, such as just-in-time compilation and highly optimized interpreters, require a huge amount of implementation effort and are typically only effective for a single language. However, scientists in different fields use different languages, depending upon their needs.This paper presents techniques to enable automatic extraction of parallelism within scripts that are universally applicable across multiple different dynamic scripting languages. The key insight is that combining a script with its interpreter, through program specialization techniques, will embed any parallelism within the script into the combined program that can then be extracted via automatic parallelization techniques. Additionally, this paper presents several enhancements to existing speculative automatic parallelization techniques to handle the dependence patterns created by the specialization process. A prototype of the proposed technique, called Partial Evaluation with Parallelization (PEP), is evaluated against two open-source script interpreters with 6 input linear algebra kernel scripts each. The resulting geomean speedup of 5.10× on a 24-core machine shows the potential of the generalized approach in automatic extraction of parallelism in dynamic scripting languages. Taewook Oh, Stephen R. Beard, Nick P. Johnson, Sergiy Popovych, David I. August |
PACT | 1 |
| 2017 | A collaborative dependence analysis framework
Nick P. Johnson, Jordan Fix, Stephen R. Beard, Taewook Oh, Thomas B. Jablin, David I. August |
CGO | 4 |
| 2015 | DynaSpAM: dynamic spatial architecture mapping using out of order instruction schedulesabstractSpatial architectures are more efficient than traditional Out-of-Order (OOO) processors for computationally intensive programs. However, spatial architectures require mapping a program, either statically or dynamically, onto the spatial fabric. Static methods can generate efficient mappings, but they cannot adapt to changing workloads and are not compatible across hardware generations. Current dynamic methods are adaptive and compatible, but do not optimize as well due to their limited use of speculation and small mapping scopes. To overcome the limitations of existing dynamic mapping methods for spatial architectures, while minimizing the inefficiencies inherent in OOO superscalar processors, this paper presents DynaSpAM (Dynamic Spatial Architecture Mapping), a framework that tightly couples a spatial fabric with an OOO pipeline. DynaSpAM coaxes the OOO processor into producing an optimized mapping with a simple modification to the processor's scheduler. The insight behind DynaSpAM is that today's powerful OOO processors do for themselves most of the work necessary to produce a highly optimized mapping for a spatial architecture, including aggressively speculating control and memory dependences, and scheduling instructions using a large window. Evaluation of DynaSpAM shows a geomean speedup of 1.42x for 11 benchmarks from the Rodinia benchmark suite with a geomean 23.9% reduction in energy consumption compared to an 8-issue OOO pipeline. Heejin Ahn, Stephen R. Beard, Taewook Oh, David I. August |
ISCA | 4 |
| 2013 | Practical automatic loop specializationabstractProgram specialization optimizes a program with respect to program invariants, including known, fixed inputs. These invariants can be used to enable optimizations that are otherwise unsound. In many applications, a program input induces predictable patterns of values across loop iterations, yet existing specializers cannot fully capitalize on this opportunity. To address this limitation, we present Invariant-induced Pattern based Loop Specialization (IPLS), the first fully-automatic specialization technique designed for everyday use on real applications. Using dynamic information-flow tracking, IPLS profiles the values of instructions that depend solely on invariants and recognizes repeating patterns across multiple iterations of hot loops. IPLS then specializes these loops, using those patterns to predict values across a large window of loop iterations. This enables aggressive optimization of the loop; conceptually, this optimization reconstructs recurring patterns induced by the input as concrete loops in the specialized binary. IPLS specializes real-world programs that prior techniques fail to specialize without requiring hints from the user. Experiments demonstrate a geomean speedup of 14.1% with a maximum speedup of 138% over the original codes when evaluated on three script interpreters and eleven scripts each. Taewook Oh, Hanjun Kim 0001, Nick P. Johnson, Jae W. Lee, David I. August |
ASPLOS | 1 |
| 2013 | Fast condensation of the program dependence graphabstractAggressive compiler optimizations are formulated around the Program Dependence Graph (PDG). Many techniques, including loop fission and parallelization are concerned primarily with dependence cycles in the PDG. The Directed Acyclic Graph of Strongly Connected Components (DAGSCC) represents these cycles directly. The naive method to construct the DAGSCC first computes the full PDG. This approach limits adoption of aggressive optimizations because the number of analysis queries grows quadratically with program size, making DAGSCC construction expensive. Consequently, compilers optimize small scopes with weaker but faster analyses. Nick P. Johnson, Taewook Oh, Ayal Zaks, David I. August |
PLDI | 2 |
| 2011 | Parallelism orchestration using DoPE: the degree of parallelism executiveabstractIn writing parallel programs, programmers expose parallelism and optimize it to meet a particular performance goal on a single platform under an assumed set of workload characteristics. In the field, changing workload characteristics, new parallel platforms, and deployments with different performance goals make the programmer's development-time choices suboptimal. To address this problem, this paper presents the Degree of Parallelism Executive (DoPE), an API and run-time system that separates the concern of exposing parallelism from that of optimizing it. Using the DoPE API, the application developer expresses parallelism options. During program execution, DoPE's run-time system uses this information to dynamically optimize the parallelism options in response to the facts on the ground. We easily port several emerging parallel applications to DoPE's API and demonstrate the DoPE run-time system's effectiveness in dynamically optimizing the parallelism for a variety of performance goals. Arun Raman, Hanjun Kim 0001, Taewook Oh, Jae W. Lee, David I. August |
PLDI | 3 |
| 2009 | Recurrence cycle aware modulo scheduling for coarse-grained reconfigurable architecturesabstractIn high-end embedded systems, coarse-grained reconfigurable architectures (CGRA) continue to replace traditional ASIC designs. CGRAs offer high performance at a low power consumption, yet provide flexibility through programmability. In this paper we introduce a recurrence cycle-aware scheduling technique for CGRAs. Our modulo scheduler groups operations belonging to a recurrence cycle into a clustered node and then computes a scheduling order for those clustered nodes. Deadlocks that arise when two or more recurrence cycles depend on each other are resolved by using heuristics that favor recurrence cycles with long recurrence delays. While with previous work one had to sacrifice either a fast compilation speed in order to get good quality results, or vice versa, this is not necessary anymore with the proposed recurrence cycle-aware scheduling technique. We have implemented the proposed method into our in-house CGRA chip and compiler solution and show that the technique achieves better quality schedules than schedulers based on simulated annealing at a 170-fold speed increase. Taewook Oh, Bernhard Egger 0002, Hyunchul Park 0001, Scott A. Mahlke |
LCTES | 1 |
| 2008 | Edge-centric modulo scheduling for coarse-grained reconfigurable architecturesabstractCoarse-grained reconfigurable architectures (CGRAs) present an appealing hardware platform by providing the potential for high computation throughput, scalability, low cost, and energy efficiency. CGRAs consist of an array of function units and register files often organized as a two dimensional grid. The most difficult challenge in deploying CGRAs is compiler scheduling technology that can efficiently map software implementations of compute intensive loops onto the array. Traditional schedulers focus on the placement of operations in time and space. With CGRAs, the challenge of placement is compounded by the need to explicitly route operands from producers to consumers. To systematically attack this problem, we take an edge-centric approach to modulo scheduling that focuses on the routing problem as its primary objective. With edge-centric modulo scheduling (EMS), placement is a by-product of the routing process, and the schedule is developed by routing each edge in the dataflow graph. Routing cost metrics provide the scheduler with a global perspective to guide selection. Experiments on a wide variety of compute-intensive loops from the multimedia domain show that EMS improves throughput by 25% over traditional iterative modulo scheduling, and achieves 98% of the throughput of simulated annealing techniques at a fraction of the compilation time. Hyunchul Park 0001, Kevin Fan, Scott A. Mahlke, Taewook Oh |
PACT | 4 |
| 2006 | Conversion of reference C code to dataflow model: H.264 encoder case studyabstractModel-based design is widely accepted in developing complex embedded system under intense time-to-market pressure. While it promises improved design productivity, the main bottleneck lies not in the design methodology but in constructing the initial algorithm representation in the specified model. It is particularly true if a complicated multimedia application is given in the form of a sequential reference C code. In this paper we propose a systematic procedure for converting a sequential C code to a dataflow specification that has been widely used in many design environments for DSP systems. The proposed technique is successfully applied to H.264 encoder algorithm as a case study. Hyeyoung Hwang, Taewook Oh, Hyunuk Jung, Soonhoi Ha |
ASP-DAC | 2 |