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

Ho-Seop Kim

dblp:01/1774 · DBLP profile ↗
← Back
5ranked-venue papers
3as first author
0since 2021 · last 2007
—ORCID · none

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

Systems, architecture and hardware · 5 · 3 first-authorSoftware engineering, systems software and programming languages · 3 · 2 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.

Network and information security
1 paper
Systems and software security · 67% Network security · 33%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Processor architecture and microarchitecture · 100%
Software engineering, system software, and programming languages
2 papers
Compilers and program optimization · 57% Program analysis · 26% Runtime systems and virtual machines · 17%

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

TopicWeightPapersLastEvidence papers
Network security › intrusion detection and prevention › intrusion detection
attack detection
0.112006
LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks · MICRO 2006
Systems and software security › information flow tracking
dynamic taint analysis
0.112006
LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks · MICRO 2006
Systems and software security
information flow tracking
0.112006
LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks · MICRO 2006
Compilers and program optimization
dynamic optimization
0.012003
Hardware Support for Control Transfers in Code Caches · MICRO 2003
Processor architecture and microarchitecture
branch prediction
0.012003
Hardware Support for Control Transfers in Code Caches · MICRO 2003
Processor architecture and microarchitecture › branch prediction
return address stack
0.012003
Hardware Support for Control Transfers in Code Caches · MICRO 2003
Processor architecture and microarchitecture
instruction set architecture
0.012002
An Instruction Set and Microarchitecture for Instruction Level Distributed Processing · ISCA 2002
Program analysis › dynamic analysis
dynamic binary instrumentation
0.012006
LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks · MICRO 2006
Runtime systems and virtual machines
binary translation
0.012003
Hardware Support for Control Transfers in Code Caches · MICRO 2003
Processor architecture and microarchitecture › superscalar processor
superscalar out-of-order processor
0.012002
An Instruction Set and Microarchitecture for Instruction Level Distributed Processing · ISCA 2002

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

runtime optimization · 0.1dynamic binary instrumentation · 0.1software jump target prediction · 0.1hardware cache for translated jump targets · 0.1timing simulation · 0.0
YearPublicationVenuePosition
2007 Compiler-Managed Software-based Redundant Multi-Threading for Transient Fault Detection
abstract
As transistors become increasingly smaller and faster with tighter noise margins, modern processors are becoming increasingly more susceptible to transient hardware faults. Existing hardware-based redundant multi-threading (HRMT) approaches rely mostly on special-purpose hardware to replicate the program into redundant execution threads and compare their computation results. In this paper, we present a software-based redundant multi-threading (SRMT) approach for transient fault detection. Our SRMT technique uses compiler to automatically generate redundant threads so they can run on general-purpose chip multi-processors (CMPs). We exploit high-level program information available at compile time to optimize data communication between redundant threads. Furthermore, our software-based technique provides flexible program execution environment where the legacy binary codes and the reliability-enhanced codes can co-exist in a mix-and-match fashion, depending on the desired level of reliability and software compatibility. Our experimental results show that compiler analysis and optimization techniques can reduce data communication requirement by up to 88% of HRMT. With general-purpose intra-chip communication mechanisms in CMP machine, SRMT overhead can be as low as 19%. Moreover, SRMT technique achieves error coverage rates of 99.98% and 99.6% for SPEC CPU2000 integer and floating-point benchmarks, respectively. These results demonstrate the competitiveness of SRMT to HRMT approaches
Cheng Wang 0013, Ho-Seop Kim, Youfeng Wu, Victor Ying
CGO2
2006 LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks
abstract
Computer security is severely threatened by software vulnerabilities. Prior work shows that information flow tracking (also referred to as taint analysis) is a promising technique to detect a wide range of security attacks. However, current information flow tracking systems are not very practical, because they either require program annotations, source code, non-trivial hardware extensions, or incur prohibitive runtime overheads. This paper proposes a low overhead, software-only information flow tracking system, called LIFT, which minimizes run-time overhead by exploiting dynamic binary instrumentation and optimizations/or detecting various types of security attacks without requiring any hardware changes. More specifically, LIFT aggressively eliminates unnecessary dynamic information flow tracking, coalesces information checks, and efficiently switches between target programs and instrumented information flow tracking code. We have implemented LIFT on a dynamic binary instrumentation framework on Windows. Our real-system experiments with two real-world server applications, one client application and eighteen attack benchmarks show that LIFT can effectively detect various types of security attacks. LIFT also incurs very low overhead, only 6.2% for server applications, and 3.6 times on average for seven SPEC INT2000 applications. Our dynamic optimizations are very effective in reducing the overhead by a factor of 5-12 times
Feng Qin 0003, Cheng Wang 0013, Zhenmin Li, Ho-Seop Kim, Yuanyuan Zhou 0001, Youfeng Wu
MICRO4
2003 Dynamic Binary Translation for Accumulator-Oriented Architectures
abstract
A dynamic binary translation system for a co-designed virtual machine is described and evaluated. The underlying hardware directly executes an accumulator-oriented instruction set that exposes instruction dependence chains (strands) to a distributed microarchitecture containing a simple instruction pipeline. To support conventional program binaries, a source instruction set (Alpha in our study) is dynamically translated to the target accumulator instruction set. The binary translator identifies chains of inter-instruction dependences and assigns them to dependence-carrying accumulators. Because the underlying superscalar microarchitecture is capable of dynamic instruction scheduling, the binary translation system does not perform aggressive optimizations or re-schedule code; this significantly reduces binary translation overhead. Detailed timing simulation of the dynamically translated code running on an accumulator-based distributed microarchitecture shows the overall system is capable of achieving similar performance to an ideal out-of-order superscalar processor, ignoring the significant clock frequency advantages that the accumulator-based hardware is likely to have. As part of the study, we evaluate an instruction set modification that simplifies precise trap implementation. This approach significantly reduces the number of instructions required for register state copying, thereby improving performance. We also observe that translation chaining methods can have substantial impact on the performance, and we evaluate a number of chaining methods.
Ho-Seop Kim, James E. Smith 0001
CGO1
2003 Hardware Support for Control Transfers in Code Caches
abstract
Many dynamic optimization and/or binary translation systems hold optimize/translated superblocks in a code cache. Conventional code caching systems suffer from overheads when control is transferred form one cached superblock to another, especially via register-indirect jumps. The basic problem is that instruction addresses in the code cache are different from those in the original program binary. Therefore, performance for register-indirect jumps depends on the ability to translate efficiently from source binary PC values to code cache PC values. We analyze several key aspects of superblock chaining and find that a conventional baseline code cache with software jump target prediction results in 14.6% IPC loss versus the original binary. We identify the inability to use a conventional return address stack as the most significant performance limiter in code cache systems. We introduce a modified software prediction technique that reduces the IPC loss to 11.4%. This technique is based on a technique used in threaded code interpreters. A number of hardware mechanisms, including a specialized return address stack and a hardware cache for translated jump target addresses, are studied for efficiently supporting register-indirect jumps. Once all the chaining overheads are removed by these support mechanisms, a superblock-based code cache improves performance due to a better branch prediction rate, improved I-cache locality, and increased chances of straight-line fetches. Simulation results show a 7.7% IPC improvement over a current generation 4-way superscalar processor.
Ho-Seop Kim, James E. Smith 0001
MICRO1
2002 An Instruction Set and Microarchitecture for Instruction Level Distributed Processing
abstract
An instruction set architecture (ISA) suitable for future microprocessor design constraints is proposed. The ISA has hierarchical register files with a small number of accumulators at the top. The instruction stream is divided into chains of dependent instructions (strands) where intra-strand dependences are passed through the accumulator. The general-purpose register file is used for communication between strands and for holding global values that have many consumers. A microarchitecture to support the proposed ISA is proposed and evaluated. The microarchitecture consists of multiple, distributed processing elements. Each PE contains an instruction issue FIFO, a local register (accumulator) and local copy! of register file. The overall simplicity, hierarchical value communication, and distributed implementation will provide a very high clock speed and a relatively short pipeline while maintaining a form of superscalar out-of-order execution. Detailed timing simulations using translated program traces show the proposed microarchitecture is tolerant of global wire latencies. Ignoring the significant clock frequency advantages, a microarchitecture that supports a 4-wide fetch/decode pipeline, 8 serial PEs, and a two-cycle inter-PE communication latency performs as well as a conventional 4-way out-of-order superscalar processor.
Ho-Seop Kim, James E. Smith 0001
ISCA1