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

Sang Lyul Min

dblp:34/5109 · DBLP profile ↗
← Back
64ranked-venue papers
7as first author
1since 2021 · last 2021
—ORCID · none

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

Systems, architecture and hardware · 39 · 7 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 16 · 1 since 2021Software engineering, systems software and programming languages · 8 · 1 first-authorDatabases, data management, data science and information retrieval · 3Human-computer interaction and ubiquitous computing · 2Theory of computation · 2Computer networks · 1Security and privacy · 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
29 papers
Storage systems · 57% Embedded and real-time systems · 16% Memory systems · 12%
Software engineering, system software, and programming languages
4 papers
Operating systems · 49% Compilers and program optimization · 37% Concurrent programming · 9%

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

TopicWeightPapersLastEvidence papers
Storage systems › flash and SSD › flash memory management
flash translation layer
0.942018
HIL: A Framework for Compositional FTL Development and Provably-Correct Crash Recovery · ACM Trans. Storage 2018
FMMU: a hardware-accelerated flash map management unit for scalable performance of flash-based SSDs · DAC 2018
Ozone (O3): An Out-of-Order Flash Memory Controller Architecture · IEEE Trans. Computers 2011
Storage systems
flash and SSD
0.632019
Design Tradeoffs for SSD Reliability · FAST 2019
Ozone (O3): An Out-of-Order Flash Memory Controller Architecture · IEEE Trans. Computers 2011
Hydra: A Block-Mapped Parallel Flash Memory Solid-State Disk Architecture · IEEE Trans. Computers 2010
Storage systems
storage reliability
0.422019
HIL: A Framework for Compositional FTL Development and Provably-Correct Crash Recovery · ACM Trans. Storage 2018
Design Tradeoffs for SSD Reliability · FAST 2019
Storage systems › flash and SSD
SSD architecture
0.422018
AutoSSD: an Autonomic SSD Architecture · USENIX ATC 2018
Hydra: A Block-Mapped Parallel Flash Memory Solid-State Disk Architecture · IEEE Trans. Computers 2010
Storage systems › flash and SSD
SSD reliability
0.412019
Design Tradeoffs for SSD Reliability · FAST 2019
Memory systems › memory management › virtual memory
address translation
0.312018
FMMU: a hardware-accelerated flash map management unit for scalable performance of flash-based SSDs · DAC 2018
Storage systems
crash recovery
0.312018
HIL: A Framework for Compositional FTL Development and Provably-Correct Crash Recovery · ACM Trans. Storage 2018
Storage systems › flash and SSD › solid-state drive
flash-based SSD
0.312018
FMMU: a hardware-accelerated flash map management unit for scalable performance of flash-based SSDs · DAC 2018
Hardware accelerators and domain-specific architectures › domain-specific accelerator
storage accelerator
0.312018
FMMU: a hardware-accelerated flash map management unit for scalable performance of flash-based SSDs · DAC 2018
Embedded and real-time systems
real-time scheduling
0.292005
An Exact Stochastic Analysis of Priority-Driven Periodic Real-Time Systems and Its Approximations · IEEE Trans. Computers 2005
Embedded System Design Framework for Minimizing Code Size and Guaranteeing Real-Time Requirements · RTSS 2002
Stochastic Analysis of Periodic Real-Time Systems · RTSS 2002
Embedded and real-time systems › real-time scheduling
schedulability analysis
0.252005
An Exact Stochastic Analysis of Priority-Driven Periodic Real-Time Systems and Its Approximations · IEEE Trans. Computers 2005
Stochastic Analysis of Periodic Real-Time Systems · RTSS 2002
Bounding Cache-Related Preemption Delay for Real-Time Systems · IEEE Trans. Software Eng. 2001
Memory systems
cache
0.182010
Scratchpad Memory Management Techniques for Code in Embedded Systems without an MMU · IEEE Trans. Computers 2010
Bounding Cache-Related Preemption Delay for Real-Time Systems · IEEE Trans. Software Eng. 2001
A Low-Overhead, High-Performance Unified Buffer Management Scheme That Exploits Sequential and Looping References · OSDI 2000
Memory systems
non-volatile memory
0.112011
Ozone (O3): An Out-of-Order Flash Memory Controller Architecture · IEEE Trans. Computers 2011
Processor architecture and microarchitecture
out-of-order execution
0.112011
Ozone (O3): An Out-of-Order Flash Memory Controller Architecture · IEEE Trans. Computers 2011
Compilers and program optimization
code layout optimization
0.112010
Scratchpad Memory Management Techniques for Code in Embedded Systems without an MMU · IEEE Trans. Computers 2010
Operating systems › resource management › memory management
memory allocation
0.112010
Scratchpad Memory Management Techniques for Code in Embedded Systems without an MMU · IEEE Trans. Computers 2010
Embedded and real-time systems › embedded software › embedded operating systems › embedded memory management
scratchpad memory management
0.112010
Scratchpad Memory Management Techniques for Code in Embedded Systems without an MMU · IEEE Trans. Computers 2010
Electronic design automation › hardware verification and test
formal verification
0.112018
HIL: A Framework for Compositional FTL Development and Provably-Correct Crash Recovery · ACM Trans. Storage 2018
Electronic design automation › hardware verification and test
hardware verification
0.112018
HIL: A Framework for Compositional FTL Development and Provably-Correct Crash Recovery · ACM Trans. Storage 2018
Storage systems › storage management › storage resource management
self-managing storage
0.112018
AutoSSD: an Autonomic SSD Architecture · USENIX ATC 2018
Embedded and real-time systems
worst-case execution time analysis
0.161999
Analysis of the Impacts of Overestimation Sources on the Accuracy of Worst Case Timing Analysis · RTSS 1999
A Worst Case Timing Analysis Technique for Multiple-Issue Machines · RTSS 1998
An Accurate Worst Case Timing Analysis for RISC Processors · IEEE Trans. Software Eng. 1995
Embedded and real-time systems › real-time scheduling › worst-case analysis
cache-related preemption delay
0.142001
Bounding Cache-Related Preemption Delay for Real-Time Systems · IEEE Trans. Software Eng. 2001
Analysis of Cache-Related Preemption Delay in Fixed-Priority Preemtive Scheduling · IEEE Trans. Computers 1998
Enhanced analysis of cache-related preemption delay in fixed-priority preemptive scheduling · RTSS 1997
Memory systems › cache management
cache replacement
0.132000
Towards application/file-level characterization of block references: a case for fine-grained buffer management · SIGMETRICS 2000
A Low-Overhead, High-Performance Unified Buffer Management Scheme That Exploits Sequential and Looping References · OSDI 2000
An Implementation Study of a Detection-Based Adaptive Block Replacement Scheme · USENIX ATC, General Track 1999
Storage systems
buffer management
0.122001
LRFU: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used Policies · IEEE Trans. Computers 2001
A Low-Overhead, High-Performance Unified Buffer Management Scheme That Exploits Sequential and Looping References · OSDI 2000
Memory systems › cache management › storage caching
block replacement policy
0.122001
LRFU: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used Policies · IEEE Trans. Computers 2001
On the Existence of a Spectrum of Policies that Subsumes the Least Recently Used (LRU) and Least Frequently Used (LFU) Policies · SIGMETRICS 1999
Embedded and real-time systems › real-time scheduling
priority scheduling
0.112005
An Exact Stochastic Analysis of Priority-Driven Periodic Real-Time Systems and Its Approximations · IEEE Trans. Computers 2005
Embedded and real-time systems › real-time scheduling › probabilistic timing analysis
probabilistic response-time analysis
0.112005
An Exact Stochastic Analysis of Priority-Driven Periodic Real-Time Systems and Its Approximations · IEEE Trans. Computers 2005
Embedded and real-time systems › real-time scheduling › fixed-priority scheduling
fixed-priority preemptive scheduling
0.131998
Analysis of Cache-Related Preemption Delay in Fixed-Priority Preemtive Scheduling · IEEE Trans. Computers 1998
Enhanced analysis of cache-related preemption delay in fixed-priority preemptive scheduling · RTSS 1997
Analysis of cache-related preemption delay in fixed-priority preemptive scheduling · RTSS 1996
Storage systems › buffer management
buffer cache management
0.122000
Towards application/file-level characterization of block references: a case for fine-grained buffer management · SIGMETRICS 2000
On the Existence of a Spectrum of Policies that Subsumes the Least Recently Used (LRU) and Least Frequently Used (LFU) Policies · SIGMETRICS 1999
Performance modeling and evaluation › simulation › discrete-event simulation
trace-driven simulation
0.032001
LRFU: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used Policies · IEEE Trans. Computers 2001
Towards application/file-level characterization of block references: a case for fine-grained buffer management · SIGMETRICS 2000
On the Existence of a Spectrum of Policies that Subsumes the Least Recently Used (LRU) and Least Frequently Used (LFU) Policies · SIGMETRICS 1999

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

shadow paging · 0.3redo-only replay · 0.3idempotent recovery · 0.3autonomic computing · 0.3SSD management · 0.3mixed integer linear programming · 0.2demand paging · 0.2out-of-order execution · 0.1FPGA implementation · 0.1linear programming · 0.1profiling · 0.1performance measurement · 0.0adaptive replacement · 0.0on-the-fly detection · 0.0cache coherence piggybacking · 0.0
YearPublicationVenuePosition
2021 SpartanSSD: a Reliable SSD under Capacitance Constraints
abstract
In this paper, we present an SSD design that is resilient to sudden power-off failures. Modern SSDs use a large number of capacitors that act as energy reserves to persist both host data and SSD metadata in the unforeseen event of a power outage. However, these capacitors take up a large footprint that limits the SSD’s density. We present a series of design choices that significantly reduce the SSD’s dependence on capacitors, all the while meeting the durability, consistency, and power-on time constraints. We demonstrate that at a modest performance overhead of 11%, the amount of required capacitance is reduced by 97.87%.
Hyeon Gyu Lee, Minwook Kim, Donghwa Shin, Sungjin Lee 0001, Bryan S. Kim, Sang Lyul Min
ISLPED8
2019 Design Tradeoffs for SSD Reliability
Bryan S. Kim, Jongmoo Choi, Sang Lyul Min
FAST3
2019 CPR for SSDs
abstract
Modern storage systems are built upon the assumption that the capacity of a storage device does not change. This capacity-invariant interface forces a flash-based storage device to trade performance for reliability when, in fact, it can maintain both if a graceful reduction in capacity were to be allowed. We argue that relaxing the fixed capacity abstraction of the storage device allows for a better capacity-performance-reliability (CPR) tradeoff. We then outline existing device-internal mechanisms for building a capacity-variant flash device, and describe the necessary changes in the storage stack.
Bryan S. Kim, Sungjin Lee 0001, Sang Lyul Min
HotOS4
2018 FMMU: a hardware-accelerated flash map management unit for scalable performance of flash-based SSDs
abstract
Address translation is increasingly a performance bottleneck in flash-based SSDs (solid state drives). We propose a hardware-accelerated flash map management unit called FMMU to speed up the address translation. The FMMU operates in a non-blocking manner without any involvement of software and uses in-cache linked list to enhance the performance of flush operations. Simulation study shows that the FMMU improves IOPS (I/O operations per second) by 135 % on average when compared against software-only approaches. The results also show that the performance gap widens as the number of flash chips/buses and the host interface speed increase.
Yeong-Jae Woo, Sheayun Lee, Sang Lyul Min
DAC3
2018 AutoSSD: an Autonomic SSD Architecture
Bryan S. Kim, Hyun Suk Yang, Sang Lyul Min
USENIX ATC3
2018 HIL: A Framework for Compositional FTL Development and Provably-Correct Crash Recovery
abstract
We present a framework called Hierarchically Interacting Logs (HIL) for constructing Flash Translation Layers (FTLs). The main goal of the HIL framework is to heal the Achilles heel —the crash recovery—of FTLs (hence, its name). Nonetheless, the framework itself is general enough to encompass not only block-mapped and page-mapped FTLs but also many of their variants, including hybrid ones, because of its compositional nature. Crash recovery within the HIL framework proceeds in two phases: structural recovery and functional recovery. During the structural recovery, residual effects due to program operations ongoing at the time of the crash are eliminated in an atomic manner using shadow paging. During the functional recovery, operations that would have been performed if there had been no crash are replayed in a redo-only fashion. Both phases operate in an idempotent manner, preventing repeated crashes during recovery from causing any additional problems. We demonstrate the practicality of the proposed HIL framework by implementing a prototype and showing that its performance during normal execution and also during crash recovery is at least as good as those of state-of-the-art SSDs.
Jin-Yong Choi, Eyee Hyun Nam, Yoon Jae Seong, Jinhyuk Yoon, Sookwan Lee, Hongseok Kim, Jeongsu Park, Yeong-Jae Woo, Sheayun Lee, Sang Lyul Min
ACM Trans. Storage10
2017 QoS-Aware Flash Memory Controller
abstract
NAND flash memory has gained a lot of popularity in recent years, widely used in applications ranging from small mobile devices to high-performance enterprise-class storage. However, the variation and unpredictability of performance caused by concurrent flash translation layer (FTL) tasks in a flash storage system are not desirable qualities especially for real-time systems and make it difficult to guarantee the QoS of the storage system. In this paper we present a QoS-aware flash memory controller (QoSFC) designed for predictable performance. For the workload we consider, QoSFC improves not only the average response time by a factor of 12-38 for reads and 1.4-6.9 for writes, but also the 99.9% QoS by a factor of 29-56 for reads and 2.0-8.5 for writes.
Bryan S. Kim, Sang Lyul Min
RTAS2
2017 P-BMS: A Bad Block Management Scheme in Parallelized Flash Memory Storage Devices
abstract
Flash memory is used as a main data storage medium in increasingly large areas of applications, rapidly replacing hard disk drives because of its low power consumption, fast random access, and high shock resistance. Such flash-based storage devices generally incorporate multiple flash memory chips to meet the ever growing capacity demands. Using multiple chips in a single storage device, at the same time, opens an opportunity to boost the performance based on multi-unit parallelism. However, parallel execution of multiple flash operations introduces complications when bad blocks occur, which is unavoidable due to flash memory’s physical characteristics. The situation gets even worse when bad block occurrences are accompanied by sudden power failures. We propose a bad block management scheme called P-BMS that can fully utilize flash-level parallelism, while guaranteeing provably correct block replacement. Experiments show that our P-BMS achieves a throughput that is more than 95% of the maximum bandwidth of the flash controller, even with bad block occurrences far heavier than in real flash memory.
Hongseok Kim, Eyee Hyun Nam, JiHyuck Yun, Sheayun Lee, Sang Lyul Min
ACM Trans. Embed. Comput. Syst.5
2011 Hardware/software architecture for flash memory storage systems
abstract
This tutorial deals with various hardware/software issues in designing and implementing flash memory storage systems. It will be split into three parts - the first part is on flash memory internals and flash memory management software called the flash translation layer, the second on solid state disks that emulate hard disk drives using flash memory, and finally the third on reliability issues arising from various asynchronous/synchronous faults.
Sang Lyul Min, Eyee Hyun Nam
CASES1
2011 Ozone (O3): An Out-of-Order Flash Memory Controller Architecture
abstract
Ozone (O3) is a flash memory controller that increases the performance of a flash storage system by executing multiple flash operations out of order. In the O3 flash controller, data dependencies are the only ordering constraints on the execution of multiple flash operations. This allows O3 to exploit the multichip parallelism inherent in flash memory much more effectively than interleaving. The O3 controller also provides a prioritized handling of flash operations, equipping flash management software, such as the FTL (flash translation layer), with control knobs for managing flash operations of different time criticalities. Running a range of workloads on an FPGA implementation showed that the O3 flash controller achieves 3 to 100 percent more throughput than interleaving, with 46 to 88 percent lower response times.
Eyee Hyun Nam, Bryan S. Kim, Hyeonsang Eom, Sang Lyul Min
IEEE Trans. Computers4
2011 Demand Paging Techniques for Flash Memory Using Compiler Post-Pass Optimizations
abstract
In this article, we propose an application-specific demand paging mechanism for low-end embedded systems that have flash memory as secondary storage. These systems are not equipped with virtual memory. A small memory space called an execution buffer is used to page the code of an application. An application-specific page manager manages the buffer. The page manager is automatically generated by a compiler post-pass optimizer and combined with the application image. The post-pass optimizer analyzes the executable image and transforms function call/return instructions into calls to the page manager. As a result, each function in the code can be loaded into the memory on demand at runtime. To minimize the overhead incurred by the demand paging technique, code clustering algorithms are also presented. We evaluate our techniques with ten embedded applications, and our approach can reduce the code memory size by on average 39.5% with less than 10% performance degradation and on average 14% more energy consumption. Our demand paging technique provides embedded system designers with a trade-off control mechanism between the cost, performance, and energy efficiency in designing embedded systems. Embedded system designers can choose the code memory size depending on their cost, energy, and performance requirements.
Seungkyun Kim, Ki-Won Kwon, Chihun Kim, Choonki Jang, Jaejin Lee, Sang Lyul Min
ACM Trans. Embed. Comput. Syst.6
2010 Scratchpad Memory Management Techniques for Code in Embedded Systems without an MMU
abstract
We propose a code scratchpad memory (SPM) management technique with demand paging for embedded systems that have no memory management unit. Based on profiling information, a postpass optimizer analyzes and optimizes application binaries in a fully automated process. It classifies the code of the application including libraries into three classes based on a mixed integer linear programming formulation: External code is executed directly from the external memory. Pinned code is loaded into the SPM when the application starts and stays in the SPM. Paged code is loaded into/unloaded from the SPM on demand. We evaluate the proposed technique by running 14 embedded applications both on a cycle-accurate ARM processor simulator and an ARM1136JF-S core. On the simulator, the reference case, a four-way set-associative cache, is compared to a direct-mapped cache and an SPM of comparable die area. On average, we observe an improvement of 12 percent in runtime performance and a 21 percent reduction in energy consumption. On the ARM11 board, the reference case run on the 16-KB four-way set-associative cache is compared to the demand paging solution on the 16-KB SPM, optionally supported by the cache. The measured results show both a runtime performance improvement and a reduction of the energy consumption by 23 percent, on average.
Bernhard Egger 0002, Seungkyun Kim, Choonki Jang, Jaejin Lee, Sang Lyul Min, Heonshik Shin
IEEE Trans. Computers5
2010 Hydra: A Block-Mapped Parallel Flash Memory Solid-State Disk Architecture
abstract
Flash memory solid-state disks (SSDs) are replacing hard disk drives (HDDs) in mobile computing systems because of their lower power consumption, faster random access, and greater shock resistance. We describe Hydra, a high-performance flash memory SSD architecture that translates the parallelism inherent in multiple flash memory chips into improved performance, by means of both bus-level and chip-level interleaving. Hydra has a prioritized structure of memory controllers, consisting of a single high-priority foreground unit, to deal with read requests, and multiple background units, all capable of autonomous execution of sequences of high-level flash memory operations. Hydra also employs an aggressive write buffering mechanism based on block mapping to ensure that multiple flash memory chips are used effectively, and also to expedite the processing of write requests. Performance evaluation of an FPGA implementation of the Hydra SSD architecture shows that its performance is more than 80 percent better than the best of the comparable HDDs and SSDs that we considered.
Yoon Jae Seong, Eyee Hyun Nam, Jinhyuk Yoon, Hongseok Kim, Jin-Yong Choi, Sookwan Lee, Young Hyun Bae, Jaejin Lee, Yookun Cho, Sang Lyul Min
IEEE Trans. Computers10
2008 LTFTL: lightweight time-shift flash translation layer for flash memory based embedded storage
abstract
Flash memory storage has been widely used in various embedded systems such as digital cameras, MP3 players, cellular phones, and DMB devices and now it applies to PCs as a form of SSDs. Characteristics of Flash memory necessitate a software layer called FTL (Flash Translation Layer) that directs modified data to new places in Flash memory and maintains a mapping between a logical sector number to a physical page. We notice that this out-of-place update scheme of the FTL allows a low-overhead time-shifting between multiple versions of storage state. From this observation, we propose LTFTL (Lightweight Time-shift FTL) that provides not only multiple versions of storage state but also an open-ended interface to traverse them. This open-ended interface can be used to support fault-resilience schemes, transactions of various granularities, and user-friendly roll-back services. Experimental results from a prototype implementation show that the proposed LTFTL can (1) provide a low-overhead time-shift capability at the user level by maintaining multiple storage states and (2) enhance the reliability/survivability of Flash memory by allowing to roll back to a previous consistent storage state at the storage system level.
Kyoungmoon Sun, Seungjae Baek, Jongmoo Choi, Donghee Lee 0001, Sam H. Noh, Sang Lyul Min
EMSOFT6
2008 Development Platforms for Flash Memory Solid State Disks
abstract
In this paper, we explain the basics of flash memory technology in general and solid state disks in particular, and describe development platforms specifically designed for flash memory solid state disks.
Hongseok Kim, Eyee Hyun Nam, Kiseok Choi 0001, Yoon Jae Seong, Jin-Yong Choi, Sang Lyul Min
ISORC6
2008 Flash memory-based development platform for homecare devices
abstract
Flash memory is increasingly being used in embedded systems because of its small size, low power consumption, fast access time, and high shock and vibration resistance. This paper presents a flash memory-based development platform for embedded systems in general and homecare devices in particular, and explains its key features that provide ease and flexibility in exploring cost-performance trade-off in flash memory-based storage devices. In addition to its special emphasis on support for flash memory-based storage, the platform is designed to provide fast prototyping and easy evaluation for a wide range of embedded systems.
Joon Ho Um, Bryan S. Kim, Sung Gab Lee, Eyee Hyun Nam, Sang Lyul Min
SMC5
2008 Introduction to embedded systems week 2006 special issue
abstract
introduction Share on Introduction to embedded systems week 2006 special issue Editors: Soonhoi Ha Seoul National University Seoul National UniversityView Profile , Kiyoung Choi Seoul National University Seoul National UniversityView Profile , Taewhan Kim Seoul National University Seoul National UniversityView Profile , Krisztian Flautner ARM Ltd. U.K. ARM Ltd. U.K.View Profile , Sanglyul Min Seoul National University Seoul National UniversityView Profile , Wang Yi Uppsala University Uppsala UniversityView Profile Authors Info & Claims ACM Transactions on Embedded Computing SystemsVolume 7Issue 2Article No.: 8pp 1–3https://doi.org/10.1145/1331331.1331332Published:29 January 2008Publication History 0citation445DownloadsMetricsTotal Citations0Total Downloads445Last 12 Months3Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Soonhoi Ha, Kiyoung Choi, Krisztián Flautner, Sang Lyul Min, Wang Yi 0001
ACM Trans. Embed. Comput. Syst.5
2008 A design framework for real-time embedded systems with code size and energy constraints
abstract
Real-time embedded systems are typically constrained in terms of three system performance criteria: space, time, and energy. The performance requirements are directly translated into constraints imposed on the system's resources, such as code size, execution time, and energy consumption. These resource constraints often interact or even conflict with each other in a complex manner, making it difficult for a system developer to apply a well-defined design methodology in developing a real-time embedded system. Motivated by this observation, we propose a design framework that can flexibly balance the tradeoff involving the system's code size, execution time, and energy consumption. Given a system specification and an optimization criteria, the proposed technique generates a set of design parameters in such a way that a system cost function is minimized while the given resource constraints are satisfied. Specifically, the technique derives code generation decision for each task so that a specific version of code is selected among a number of different ones that have distinct characteristics in terms of code size and execution time. In addition, the design framework determines the voltage/frequency setting for a variable voltage processor whose supply voltage can be adjusted at runtime in order to minimize the energy consumption while execution performance is degraded accordingly. The proposed technique formulates this design process as a constrained optimization problem. We show that this optimization problem is NP-hard and then provide a heuristic solution to it. We show that these seemingly conflicting design goals can be pursued by using a simple optimization algorithm that works with a single optimization criteria. Moreover, the optimization is driven by an abstract system specification given by the system developer, so that the system development process can be automated. The results from our simulation show that the proposed algorithm finds a solution that is close to the optimal one with the average error smaller than 1.0%.
Sheayun Lee, Insik Shin, Woonseok Kim, Insup Lee 0001, Sang Lyul Min
ACM Trans. Embed. Comput. Syst.5
2007 Flash memory-based storage device for mobile embedded applications
abstract
This paper reviews Flash memory technology and flash translation layer (FTL) that provides a block device interface out of flash memory. It also describes two implementations of FTL that represent two extreme points in the spectrum of cost-performance trade-offs in FTL implementation. After presenting results on the performance and energy- efficiency of the two FTLs, this paper argues for a configurable FTL to address the diversity of mobile embedded systems in terms of cost and performance requirements.
Jin-Yong Choi, Kiseok Choi 0001, Sung-Kwan Kim, Sookwan Lee, Eyee Hyun Nam, JiHyuck Yun, Sang Lyul Min, Yookun Cho
SMC7
2007 Selective code transformation for dual instruction set processors
abstract
Embedded systems are often constrained in terms of both code size and execution time, because of a limited amount of available memory and real-time nature of applications. A dual instruction set processor, which supports a reduced instruction set (16 bits/instruction), in addition to a full instruction set (32 bits/instruction), allows an opportunity for a tradeoff between these two design criteria. Specifically, while the reduced instruction set can be used to reduce code size by providing smaller instructions, a program compiled into the reduced instruction set typically runs slower than the same program compiled into the full instruction set. Motivated by this observation, we propose a code generation technique that exploits this tradeoff relationship by selectively using the two instruction sets for different sections in the program. The proposed technique, called selective code transformation, not only provides a mechanism to enable a flexible tradeoff between a program's code size and its execution time, but also facilitates program optimization toward enhancing its worst case performance. The results from our experiments show that our proposed technique can be effectively used to fine-tune an application program on a spectrum of code size and execution performance, which, in turn, enables a system-wide optimization on memory space and execution speed involving multiple applications.
Sheayun Lee, Jaejin Lee, Chang Yun Park, Sang Lyul Min
ACM Trans. Embed. Comput. Syst.4
2006 Current trends in flash memory technology: invited paper
abstract
In this paper, we describe the basics of flash memory technology in general and flash memory drive in particular, and explain the current trends of major components of a flash memory drive including flash memory chips, host interface and flash memory controller.
Sang Lyul Min, Eyee Hyun Nam
ASP-DAC1
2006 A dynamic code placement technique for scratchpad memory using postpass optimization
abstract
In this paper, we propose a fully automatic dynamic scratch-pad memory (SPM) management technique for instructions. Our technique loads required code segments into the SPM on demand at runtime. Our approach is based on postpass analysis and optimization techniques, and it handles the whole program, including libraries. The code mapping is determined by solving mixed integer linear programming formulation that approximates our demand paging technique. We increase the effectiveness of demand paging by extracting from functions natural loops that are smaller in size and have a higher instruction fetch count. The postpass optimizer analyzes the object files of an application and transforms them into an application binary image that enables demand paging to the SPM. We evaluate our technique on eleven embedded applications and compare it to a processor core with an instruction cache in terms of its performance and energy consumption. The cache size is about 20% of the executed code size, and the SPM size is chosen such that its die area is equal to that of the cache. The experimental results show that, on average, the processor core and memory subsystem's energy consumption can be reduced by 21.6% and the performance improved by 20.2%. Moreover, in comparison with the optimal static placement strategy, our technique reduces energy consumption by 23.7% and improves performance by 22.9%,on average.
Bernhard Egger 0002, Chihun Kim, Choonki Jang, Yoonsung Nam, Jaejin Lee, Sang Lyul Min
CASES6
2005 An Exact Stochastic Analysis of Priority-Driven Periodic Real-Time Systems and Its Approximations
abstract
This paper describes a stochastic analysis framework which computes the response time distribution and the deadline miss probability of individual tasks, even for systems with a maximum utilization greater than one. The framework is uniformly applied to fixed-priority and dynamic-priority systems and can handle, tasks with arbitrary relative deadlines and execution time distributions.
Kanghee Kim, José Luis Díaz, Lucia Lo Bello, José María López, Chang-Gun Lee, Sang Lyul Min
IEEE Trans. Computers6
2004 Compiler-assisted demand paging for embedded systems with flash memory
abstract
In this paper, we propose a novel, application specific demand paging mechanism for low-end embedded systems with flash memory as secondary storage. These systems are not equipped with virtual memory. A small memory space called an execution buffer is allocated to page an application. An application-specific page manager manages the buffer. The manager is generated by a compiler post-pass and combined with the application image. Our compiler post-pass analyzes the ELF executable image of an application and transforms function call/return instructions into calls to the page manager. As a result, each function of the code can be loaded into memory on demand at run time. To minimize the overhead of demand paging, code clustering algorithms are also presented. We evaluate our techniques with five embedded applications. We show that our approach can reduce the code memory size by 33% on average with reasonable performance degradation (8-20%) and energy consumption (10% more on average) for low-end embedded systems.
Chanik Park, Junghee Lim, Ki-Won Kwon, Jaejin Lee, Sang Lyul Min
EMSOFT5
2004 Preemption-aware dynamic voltage scaling in hard real-time systems
abstract
Dynamic voltage scaling (DVS) is a well-known low-power design technique for embedded real-time systems. Because of its effectiveness on energy reduction, several variable voltage processors have been developed and many DVS algorithms targeting these processors have been proposed. However, most existing DVS algorithms focus on reducing the energy consumption of CPU only, ignoring their negative impacts on task scheduling and system wide energy consumption. In this paper, we address one of such side effects, an increase in task preemptions due to DVS. We present two preemption control techniques which can reduce the number of task preemptions of DVS algorithms. Experimental results show that the delayed-preemption technique is effective in reducing the number of preemptions incurred by DVS algorithms while achieving a high energy efficiency.
Woonseok Kim, Jihong Kim 0001, Sang Lyul Min
ISLPED3
2004 A Flexible Tradeoff Between Code Size and WCET Using a Dual Instruction Set Processor
Sheayun Lee, Jaejin Lee, Chang Yun Park, Sang Lyul Min
SCOPES4
2003 Dynamic voltage scaling algorithm for fixed-priority real-time systems using work-demand analysis
abstract
Dynamic Voltage Scaling (DVS), which adjusts the clock speed and supply voltage dynamically, is an effective technique in reducing the energy consumption of embedded real-time systems. Unlike dynamic-priority real-time scheduling for which highly effective DVS algorithms are available, existing fixed-priority DVS algorithms are less effective in energy efficiency because they are based on inefficient slack estimation methods. This paper describes an efficient on-line slack estimation heuristic for the rate-monotonic (RM) scheduling. The proposed heuristic estimates the slack times using the short term work-demand analysis. The DVS algorithm based on the proposed heuristic is also presented. Experimental results show that the proposed DVS algorithm reduces the energy consumption by 25∼42% over the existing rate-monotonic DVS algorithms.
Woonseok Kim, Jihong Kim 0001, Sang Lyul Min
ISLPED3
2003 Code Generation for a Dual Instruction Set Processor Based on Selective Code Transformation
Sheayun Lee, Jaejin Lee, Sang Lyul Min, Jason Hiser, Jack W. Davidson
SCOPES3
2003 An accurate and practical buffer allocation model for the buffer cache based on marginal gains
Donghee Lee 0001, Sam H. Noh, Sang Lyul Min, Yookun Cho, Chong-Sang Kim
Inf. Process. Lett.4
2002 A Dynamic Voltage Scaling Algorithm for Dynamic-Priority Hard Real-Time Systems Using Slack Time Analysis
abstract
Dynamic voltage scaling (DVS), which adjusts the clock speed and supply voltage dynamically, is an effective technique in reducing the energy consumption of embedded real-time systems. The energy efficiency of a DVS algorithm largely depends on the performance of the slack estimation method used in it. In this paper, we propose a novel DVS algorithm for periodic hard real-time tasks based on an improved slack estimation algorithm. Unlike the existing techniques, the proposed method takes full advantage of the periodic characteristics of the real-time tasks under priority-driven scheduling such as EDF. Experimental results show that the proposed algorithm reduces the energy consumption by 20/spl sim/40 % over the existing DVS algorithm. The experiment results also show that our algorithm based on the improved slack estimation method gives comparable energy savings to the DVS algorithm based on the theoretically optimal (but impractical) slack estimation method.
Woonseok Kim, Jihong Kim 0001, Sang Lyul Min
DATE3
2002 On Relaxing Task Isolation in Overrun Handling to Provide Probabilistic Guarantees to Soft Real-Time Tasks with Varying Execution Times
abstract
Task-level or job-level isolation is commonly used in real-time systems to prevent a job that overruns from affecting jobs belonging to other tasks (task-level isolation) or to the same task (job-level isolation). Although such an isolation provides the desired protection and simplifies analysis, it often results in degraded performance (in terms of deadline meeting) because it limits the exploitation of residual processor time resulting from jobs that underruns. We propose a new overrun handling method called randomized dropping that relaxes the isolation to make effective use of such residual processor time. We apply the proposed randomized dropping to the EDF scheduling and give an analysis technique to compute the probability of deadline meeting. Experimental results show that the proposed overrun handling method outperforms previous approaches based task-level or job-level isolation.
Kanghee Kim, Lucia Lo Bello, Sang Lyul Min, Orazio Mirabella
ECRTS3
2002 Stochastic Analysis of Periodic Real-Time Systems
abstract
This paper describes a stochastic analysis method for general periodic real-time systems. The proposed method accurately computes the response time distribution of each task in the system, thus making it possible to determine the deadline miss probability of individual tasks, even for systems with maximum utilization factor greater than one. The method uniformly covers both fixed-priority scheduling (such as rate monotonic) as well as dynamic-priority scheduling (such as earliest deadline first) and can handle arbitrary relative deadlines and execution time distributions. The accuracy of the method is proven by comparing the results from the analysis with those obtained from simulations, as well as other methodologies in the literature.
José Luis Díaz, Daniel F. García, Kanghee Kim, Chang-Gun Lee, Lucia Lo Bello, José María López, Sang Lyul Min, Orazio Mirabella
RTSS7
2002 Embedded System Design Framework for Minimizing Code Size and Guaranteeing Real-Time Requirements
abstract
In addition to real-time requirements, program code size is a critical design factor for real-time embedded systems. To take advantage of the code size vs. execution time trade off provided by reduced bit-width instructions, we propose a design framework that transforms system constraints into task parameters guaranteeing a set of requirements. The goal of our design framework is to derive the temporal parameters and code size parameter of each task in such a way that they collectively guarantee system end-to-end timing requirements while the system code size is minimized. Our design framework is based on asynchronous periodic tasks with pre-period deadlines under EDF scheduling. For schedulability analysis, we present a new feasibility condition that can be more efficiently evaluated than existing ones. When the code size vs. execution time tradeoff can be safely approximated as linear functions, the minimization problem becomes a linear programming problem. However, when the tradeoff is given by a table of possible (code size, execution time) pairs, the problem becomes NP-hard. We provide three heuristic algorithms that can find sub-optimal solutions and evaluate their performance with simulation results.
Insik Shin, Insup Lee 0001, Sang Lyul Min
RTSS3
2002 Replica-aware caching for Web proxies
Hyokyung Bahn, Hyunsook Lee, Sam H. Noh, Sang Lyul Min, Kern Koh
Comput. Commun.4
2002 Analysis of Worst Case DMA Response Time in a Fixed-Priority Bus Arbitration Protocol
Joosun Hahn, Rhan Ha, Sang Lyul Min, Jane W.-S. Liu
Real Time Syst.3
2002 Design, Implementation, and Performance Evaluation of a Detection-Based Adaptive Block Replacement Scheme
abstract
A new buffer replacement scheme, called DEAR (detection-based adaptive replacement), is presented for effective caching of disk blocks in the operating system. The proposed DEAR scheme automatically detects block reference patterns of applications and applies different replacement policies to different applications depending on the detected reference pattern. The detection is made by a periodic process and is based on the relationship between block attribute values, such as backward distance and frequency gathered in a period, and the forward distance observed in the next period. This paper also describes an implementation and performance measurement of the DEAR scheme in FreeBSD. The results from performance measurements of several real applications show that, compared with the LRU scheme, the proposed scheme reduces the number of disk I/Os by up to 51 percent, and the response time by up to 35 percent in the case of single application executions. For multiple application executions, the results show that the proposed scheme reduces the number of disk I/Os by up to 20 percent and the overall response time by up to 18 percent.
Jongmoo Choi, Sam H. Noh, Sang Lyul Min, Eun-Yong Ha, Yookun Cho
IEEE Trans. Computers3
2001 LRFU: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used Policies
abstract
Efficient and effective buffering of disk blocks in main memory is critical for better file system performance due to a wide speed gap between main memory and hard disks. In such a buffering system, one of the most important design decisions is the block replacement policy that determines which disk block to replace when the buffer is full, In this paper, we show that there exists a spectrum of block replacement policies that subsumes the two seemingly unrelated and independent Least Recently Used (LRU) and Least Frequently Used (LFU) policies. The spectrum is called the LRFU (Least Recently/Frequently Used) policy and is formed by how much more weight we give to the recent history than to the older history. We also show that there is a spectrum of implementations of the LRFU that again subsumes the LRU and LFU implementations. This spectrum is again dictated by how much weight is given to recent and older histories and the time complexity of the implementations lies between O(1) (the time complexity of LRU) and O(log(2) n) (the time complexity of LFU), where n is the number of blocks in the buffer, Experimental results from trace-driven simulations show that the performance of the LRFU is at least competitive with that of previously known policies for the workloads we considered.
Donghee Lee 0001, Jongmoo Choi, Jong-Hun Kim, Sam H. Noh, Sang Lyul Min, Yookun Cho, Chong-Sang Kim
IEEE Trans. Computers5
2001 Bounding Cache-Related Preemption Delay for Real-Time Systems
abstract
Cache memory is used in almost all computer systems today to bridge the ever increasing speed gap between the processor and main memory. However, its use in multitasking computer systems introduces additional preemption delay due to the reloading of memory blocks that are replaced during preemption. This cache-related preemption delay poses a serious problem in realtime computing systems where predictability is of utmost importance. We propose an enhanced technique for analyzing and thus bounding the cache-related preemption delay in fixed-priority preemptive scheduling focusing on instruction caching. The proposed technique improves upon previous techniques in two important ways. First, the technique takes into account the relationship between a preempted task and the set of tasks that execute during the preemption when calculating the cache-related preemption delay. Second, the technique considers the phasing of tasks to eliminate many infeasible task interactions. These two features are expressed as constraints of a linear programming problem whose solution gives a guaranteed upper bound on the cache-related preemption delay. This paper also compares the proposed technique with previous techniques using randomly generated task sets. The results show that the improvement on the worst-case response time prediction by the proposed technique over previous techniques ranges between 5 percent and 18 percent depending on the cache refill time when the task set utilization is 0.6. The results also show that as the cache refill time increases, the improvement increases, which indicates that accurate prediction of cache-related preemption delay by the proposed technique becomes increasingly important if the current trend of widening speed gap between the processor and main memory continues.
Chang-Gun Lee, Kwangpo Lee, Joosun Hahn, Yang-Min Seo, Sang Lyul Min, Rhan Ha, Seongsoo Hong, Chang Yun Park, Minsuk Lee, Chong-Sang Kim
IEEE Trans. Software Eng.5
2000 A Low-Overhead, High-Performance Unified Buffer Management Scheme That Exploits Sequential and Looping References
Jongmoo Choi, Jesung Kim, Sam H. Noh, Sang Lyul Min, Yookun Cho, Chong-Sang Kim
OSDI5
2000 Towards application/file-level characterization of block references: a case for fine-grained buffer management
abstract
Two contributions are made in this paper. First, we show that system level characterization of file block references is inadequate for maximizing buffer cache performance. We show that a finer-grained characterization approach is needed. Though application level characterization methods have been proposed, this is the first attempt, to the best of our knowledge, to consider file level characterizations. We propose an Application/File-level Characterization (AFC) scheme where we detect on-line the reference characteristics at the application level and then at the file level, if necessary. The results of this characterization are used to employ appropriate replacement policies in the buffer cache to maximize performance. The second contribution is in proposing an efficient and fair buffer allocation scheme. Application or file level resource management is infeasible unless there exists an allocation scheme that is efficient and fair. We propose the ΔHIT allocation scheme that takes away a block from the application/file where the removal results in the smallest reduction in the number of expected buffer cache hits. Both the AFC and ΔHIT schemes are on-line schemes that detect and allocate as applications execute. Experiments using trace-driven simulations show that substantial performance improvements can be made. For single application executions the hit ratio increased an average of 13 percentage points compared to the LRU policy, with a maximum increase of 59 percentage points, while for multiple application executions, the increase is an average of 12 percentage points, with a maximum of 32 percentage points for the workloads considered.
Jongmoo Choi, Sam H. Noh, Sang Lyul Min, Yookun Cho
SIGMETRICS3
1999 Analysis of the Impacts of Overestimation Sources on the Accuracy of Worst Case Timing Analysis
abstract
To predict the worst case execution time (WCET) of real-time tasks, we should consider various factors (e.g., caching, pipelining, and infeasible paths) that affect the accuracy of the prediction. However some of them are inherently difficult to analyze statically, and thus may give rise to significant overestimation in WCET prediction. Therefore, for more accurate WCET prediction, we need to identify, such overestimation sources and analyze how much each of them can make overestimation. Then, such analysis results can be used to refine existing timing analysis techniques. In this paper we do not propose any new timing analysis techniques, but present quantitative analysis results on the impacts of overestimation sources on the accuracy of the worst case timing analysis. For this purpose, we use variance analysis based on a simulation-based methodology to make our analysis independent of any existing techniques. The results show that the dominant factor is pipelining analysis when the cache miss penalty is small and instruction caching analysis when the cache miss penalty is larger than 10 cycles. The results also show that although the impact of data caching analysis is small compared with that of pipelining or instruction caching analysis, if we ignore its effect in the WCET estimation, the WCET can be overestimated up to 275% even when the effects of the other factors are completely analyzed. Finally, the results show that the effects of infeasible paths are largely orthogonal to other analysis features and depend on program characteristics. Also, as for data caching, if infeasible paths are ignored in the WCET estimation, the accuracy of the WCET estimation is degraded significantly (up to 564%).
Sung-Kwan Kim, Sang Lyul Min, Rhan Ha
RTSS2
1999 On the Existence of a Spectrum of Policies that Subsumes the Least Recently Used (LRU) and Least Frequently Used (LFU) Policies
abstract
AbstractÐEfficient and effective buffering of disk blocks in main memory is critical for better file system performance due to a wide speed gap between main memory and hard disks. In such a buffering system, one of the most important design decisions is the block replacement policy that determines which disk block to replace when the buffer is full. In this paper, we show that there exists a spectrum of block replacement policies that subsumes the two seemingly unrelated and independent Least Recently Used (LRU) and Least Frequently Used (LFU) policies. The spectrum is called the LRFU (Least Recently/Frequently Used) policy and is formed by how much more weight we give to the recent history than to the older history. We also show that there is a spectrum of implementations of the LRFU that again subsumes the LRU and LFU implementations. This spectrum is again dictated by how much weight is given to recent and older histories and the time complexity of the implementations lies between O(1) (the time complexity of LRU) and O…log 2 n† (the time complexity of LFU), where n is the number of blocks in the buffer. Experimental results from trace-driven simulations show that the performance of the LRFU is at least competitive with that of previously known policies for the workloads we considered. Index TermsÐBuffer cache, LFU, LRU, replacement policy, trace-driven simulation. 1
Donghee Lee 0001, Jongmoo Choi, Jong-Hun Kim, Sam H. Noh, Sang Lyul Min, Yookun Cho, Chong-Sang Kim
SIGMETRICS5
1999 An Implementation Study of a Detection-Based Adaptive Block Replacement Scheme
Jongmoo Choi, Sam H. Noh, Sang Lyul Min, Yookun Cho
USENIX ATC, General Track3
1999 Cache-Conscious Limited Preemptive Scheduling
Sheayun Lee, Sang Lyul Min, Chong-Sang Kim, Chang-Gun Lee, Minsuk Lee
Real Time Syst.2
1998 A Worst Case Timing Analysis Technique for Multiple-Issue Machines
abstract
We propose a worst case timing analysis technique for in-order multiple-issue machines. In the proposed technique, timing information for each program construct is represented by a directed acyclic graph (DAG) that shows dependences among instructions in the program construct. From this information, we derive for each pair of instructions the distance bounds between their issue times. Using these distance bounds, we identify the sets of instructions that can be issued at the same time. Deciding such instructions is an essential task in reasoning about the timing behavior of multiple-issue machines. In order to reduce the complexity of analysis, the distance bounds are progressively refined through a hierarchical analysis over the program syntax tree in a bottom-up fashion. Our experimental results show that the proposed technique can predict the worst case execution times for in-order multiple-issue machines as accurately as ones for simpler RISC processors.
Sung-Soo Lim, Jung Hee Han, Jihong Kim 0001, Sang Lyul Min
RTSS4
1998 Analysis of Cache-Related Preemption Delay in Fixed-Priority Preemtive Scheduling
abstract
We propose a technique for analyzing cache-related preemption delays of tasks that cause unpredictable variation in task execution time in the context of fixed-priority preemptive scheduling. The proposed technique consists of two steps. The first step performs a per-task analysis to estimate cache-related preemption cost for each execution point in a given task. The second step computes the worst case response time of each task that includes the cache-related preemption delay using a response time equation and a linear programming technique. This step takes as its input the preemption cost information of tasks obtained in the first step. This paper also compares the proposed approach with previous approaches. The results show that the proposed approach gives a prediction of the worst case cache-related preemption delay that is up to 60 percent tighter than those obtained from the previous approaches.
Chang-Gun Lee, Joosun Hahn, Yang-Min Seo, Sang Lyul Min, Rhan Ha, Seongsoo Hong, Chang Yun Park, Minsuk Lee, Chong-Sang Kim
IEEE Trans. Computers4
1997 Enhanced analysis of cache-related preemption delay in fixed-priority preemptive scheduling
abstract
We propose an enhanced technique for analyzing, and thus bounding cache related preemption delay in fixed priority preemptive scheduling focusing on instruction caching. The proposed technique improves upon previous techniques in two important ways. First, the technique takes into account the relationship between a preempted task and the set of tasks that execute during the preemption when calculating the cache related preemption delay. Second, the technique considers phasing of tasks to eliminate many infeasible task interactions. These two features are expressed as constraints of a linear programming problem whose solution gives a guaranteed upper bound on the cache related preemption delay. The paper also compares the proposed technique with previous techniques. The results show that the proposed technique gives up to 60% tighter prediction of the worst case response time than the previous techniques.
Chang-Gun Lee, Joosun Hahn, Yang-Min Seo, Sang Lyul Min, Rhan Ha, Seongsoo Hong, Chang Yun Park, Minsuk Lee, Chong-Sang Kim
RTSS4
1997 The Working Set Algorithm has Competitive Ratio Less Than Two
Kunsoo Park, Sang Lyul Min, Yookun Cho
Inf. Process. Lett.2
1997 Threaded Prefetching: A New Instruction Memory Hierarchy for Real-Time Systems
Minsuk Lee, Sang Lyul Min, Heonshik Shin, Chong-Sang Kim, Chang Yun Park
Real Time Syst.2
1996 Analysis of cache-related preemption delay in fixed-priority preemptive scheduling
abstract
We propose a technique for analyzing cache-related preemption delays of tasks that cause unpredictable variation in task execution time in the context of fixed-priority preemptive scheduling. The proposed technique consists of two steps. The first step performs a per-task analysis to estimate cache-related preemption cost for each execution point in a given task from the number of useful cache blocks at the execution point. The second step computes the worst case response time of each task using a response time equation and a linear programming technique which takes as its input the preemption cost information of tasks obtained in the first step. Our experimental results show that the proposed technique gives a prediction of the worst case cache-related preemption delay that is up to 60% tighter than that obtained from previous approaches.
Chang-Gun Lee, Joosun Hahn, Sang Lyul Min, Rhan Ha, Seongsoo Hong, Chang Yun Park, Minsuk Lee, Chong-Sang Kim
RTSS3
1995 U-Cache: A Cost-Effective Solution to the Synonym Problem
abstract
This paper proposes a cost-effective solution to the synonym problem. In this proposed solution, a minimal hardware addition guarantees the correctness whereas the software counterpart helps improve the performance. The key to this proposed solution is an addition of a small physically-indexed cache called U-cache. The U-cache maintains the reverse translation information of the cache blocks that belong to un-aligned virtual pages only, where aligned means that the lower bits of the virtual page number match those of the corresponding physical page number. A U-cache, even with only one entry, ensures correct handling of synonyms. A simple software optimization in the form of page alignment, helps improve the performance. Performance evaluation based on ATUM traces shows that a U-cache, with only a few entries, performs almost as well as (in some cases outperforms) a fully-configured hardware-based solution when more than 95% of the pages are aligned.>
Jesung Kim, Sang Lyul Min, Sanghoon Jeon 0002, ByoungChul Ahn, Deog-Kyoon Jeong, Chong-Sang Kim
HPCA2
1995 Worst Case Timing Analysis of RISC Processors: R3000/R3010 Case Study
abstract
This paper presents a case study of worst case timing analysis for a RISC processor. The target machine consists of the R3000 CPU and R3010 FPA (Floating Point Accelerator). This target machine is typical of a RISC system with pipelined execution units and cache memories. Our methodology is an extension of the existing timing schema. The extended timing schema provides means to reason about the execution time variation of a program construct by surrounding program constructs due to pipelined execution and cache memories of RISC processors. The main focus of this paper is on explaining the necessary steps for performing timing analysis of a given target machine within the extended timing schema framework. This paper also gives results from experiments using a timing tool for the target machine that is built based on the extended timing schema approach.
Yerang Hur, Young Hyun Bae, Sung-Soo Lim, Sung-Kwan Kim, Byung-Do Rhee, Sang Lyul Min, Chang Yun Park, Heonshik Shin, Chong-Sang Kim
RTSS6
1995 An Accurate Worst Case Timing Analysis for RISC Processors
abstract
An accurate and safe estimation of a task's worst case execution time (WCET) is crucial for reasoning about the timing properties of real time systems. In RISC processors, the execution time of a program construct (e.g., a statement) is affected by various factors such as cache hits/misses and pipeline hazards, and these factors impose serious problems in analyzing the WCETs of tasks. To analyze the timing effects of RISC's pipelined execution and cache memory, we propose extensions to the original timing schema where the timing information associated with each program construct is a simple time bound. In our approach, associated with each program construct is worst case timing abstraction, (WCTA), which contains detailed timing information of every execution path that might be the worst case execution path of the program construct. This extension leads to a revised timing schema that is similar to the original timing schema except that concatenation and pruning operations on WCTAs are newly defined to replace the add and max operations on time bounds in the original timing schema. Our revised timing schema accurately accounts for the timing effects of pipelined execution and cache memory not only within but also across program constructs. The paper also reports on preliminary results of WCET analysis for a RISC processor. Our results show that tight WCET bounds (within a maximum of about 30% overestimation) can be obtained by using the revised timing schema approach.>
Sung-Soo Lim, Young Hyun Bae, Gyu Tae Jang, Byung-Do Rhee, Sang Lyul Min, Chang Yun Park, Heonshik Shin, Kunsoo Park, Soo-Mook Moon, Chong-Sang Kim
IEEE Trans. Software Eng.5
1994 An Accurate Worst Case Timing Analysis Technique for RISC Processors
abstract
An accurate and safe estimation of a task's worst case execution time (WCET) is crucial for reasoning about the timing properties of real-time systems. In RISC processors, the execution time of a program construct (e.g., a statement) is affected by various factors such as cache hits/misses and pipeline hazards, and these factors impose serious problems in analyzing the WCETs of tasks. To analyze the timing effects of RISC's pipelined execution and cache memory, this paper proposes extensions of the original timing schema (Shaw, 1989) where the timing information associated with each program construct is a simple time-bound. We associate with each program construct what we call a WCTA (Worst Case Timing Abstraction), which contains detailed timing information of every execution path that might be the worst case execution path of the program construct. This extension leads to a revised timing schema that is similar to the original timing schema except that concatenation and pruning operations on WCTAs are newly defined to replace the add and max operations on time-bounds in the original timing schema. Our revised timing schema accurately accounts for the timing effects of pipelined execution and cache memory not only within but also across program constructs. This paper also reports on preliminary results of WCET analyses for a pipelined processor. Our results show that up to 50% tighter WCET bounds can be obtained by using the revised timing schema.>
Sung-Soo Lim, Young Hyun Bae, Gyu Tae Jang, Byung-Do Rhee, Sang Lyul Min, Chang Yun Park, Heonshik Shin, Kunsoo Park, Chong-Sang Kim
RTSS5
1994 A worst case timing analysis technique for instruction prefetch buffers
Minsuk Lee, Sang Lyul Min, Chong-Sang Kim
Microprocess. Microprogramming2
1993 A Dual-Mode Instruction Prefetch Scheme for Improved Worst Case and Average Case Program Execution Times
abstract
One of the obstacles to using RISC processors in a hard real-time environment is the unpredictability of caches. This unpredictability stems from basing them on a design that tries to optimize the average case execution time. We propose a dual mode instruction prefetch scheme as an alternative to instruction caching schemes. In the proposed scheme, a thread is associated with each instruction block. The thread indicates the instruction block that is to be prefetched once the block containing it is accessed by the processor. The proposed scheme operates in two different modes: real-time and non real-time modes. In the real-time mode, the prefetching of instruction blocks is made in the direction that improves the worst case execution time. For this purpose, the thread is generated by the compiler through an analysis of the worst case execution path. In the non real-time mode, the thread is dynamically updated so that it indicates the instruction block that is most likely to be accessed next is the block that was previously accessed after the present block. Therefore, the thread is made to point to such a block in the non real-time mode. The above tailoring of thread information is on a task basis and, therefore, each task in the system can choose its own mode depending on its needs. Typically real-time tasks choose the real-time mode for an improved worst case execution time whereas non time critical tasks choose the non real-time mode for an improved average case execution time. This paper shows, through analysis using a timing tool, that the proposed scheme significantly (up to 45%) improves the predicted worst case execution time in the real-time mode as compared with no prefetching scheme.>
Minsuk Lee, Sang Lyul Min, Chang Yun Park, Young Hyun Bae, Heonshik Shin, Chong-Sang Kim
RTSS2
1993 Caller ID System in the Internet Environment
Hyun Tae Jung, Haelyong Kim, Yang-Min Seo, Ghun Choe, Sang Lyul Min, Chong-Sang Kim, Kern Koh
USENIX Security Symposium5
1993 Threaded prefetching: An adaptive instruction prefetch mechanism
Seong Baeg Kim, Myung Soon Park, Sun-Ho Park, Sang Lyul Min, Heonshik Shin, Chong-Sang Kim, Deog-Kyoon Jeong
Microprocess. Microprogramming4
1992 Design and Analysis of a Scalable Cache Coherence Scheme Based on Clocks and Timestamps
abstract
A timestamp-based software-assisted cache coherence scheme that does not require any global communication to enforce the coherence of multiple private caches is proposed. It is intended for shared memory multiprocessors. The scheme is based on a compile-time marking of references and a hardware-based local incoherence detection scheme. The possible incoherence of a cache entry is detected and the associated entry is implicitly invalidated by comparing a clock (related to program flow) and a timestamp (related to the time of update in the cache). Results of a performance comparison, which is based on a trace-driven simulation using actual traces. between the proposed timestamp-based scheme and other software-assisted schemes indicate that the proposed scheme performs significantly better than previous software-assisted schemes, especially when the processors are carefully scheduled so as to maximize the reuse of cache contents. This scheme requires neither a shared resource nor global communication and is, therefore, scalable up to a large number of processors.>
Sang Lyul Min, Jean-Loup Baer
IEEE Trans. Parallel Distributed Syst.1
1991 An Efficient Cache-Based Access Anomaly Detection Scheme
abstract
One important issue in parallel program debugging is the efficient detection of access anomalies caused by uncoordinated accesses to shared variables.On-the-fly detection of access anomalies has two advantages over static analysis or post-mortem trace analysis.First, it reports only actual anomalies during execution.Second, it produces shorter traces for post-mortem analysis purposes if an anomaly is detected, since generating further trace information after the detection of an anomaly is of dubious value.Existing methods for on-the-fly access anomaly detection suffer from performance penalties since the execution of the program being debugged has to be interrupted on every access to shared variables.In this paper, we propose an efficient cachebased access anomaly detection scheme that piggybacks on the overhead already paid by the underlying cache coherence protocol.
Sang Lyul Min, Jong-Deok Choi
ASPLOS1
1991 Race Frontier: Reproducing Data Races in Parallel-Program Debugging
abstract
Races in describes a mechanism to debug unintended data races
Jong-Deok Choi, Sang Lyul Min
PPoPP2
1990 A Performance Comparison of Directory-based and Timestamp-based Cache Coherence Schemes
Sang Lyul Min, Jean-Loup Baer
ICPP (1)1
1990 An efficient caching support for critical sections in large-scale shared-memory multiprocessors
Sang Lyul Min, Jean-Loup Baer
ICS1
1989 A Timestamp-based Cache Coherence Scheme
Sang Lyul Min, Jean-Loup Baer
ICPP (1)1