Recently, NAND flash-based Solid State Drives (SSDs) have been rapidly adopted in laptops, deskto... more Recently, NAND flash-based Solid State Drives (SSDs) have been rapidly adopted in laptops, desktops, and server storage systems because their performance is superior to that of traditional magnetic disks. However, NAND flash memory has some limitations such as out-of-place updates, bulk erase operations, and a limited number of write operations. To alleviate these unfavorable characteristics, various techniques for improving internal software and hardware components have been devised. In particular, the internal device cache of SSDs has a significant impact on the performance. The device cache is used for two main purposes: to absorb frequent read/write requests and to store logical-to-physical address mapping information. In the device cache, we observed that the optimal ratio of the data buffering and the address mapping space changes according to workload characteristics. To achieve optimal performance in SSDs, the device cache should be appropriately partitioned between the two main purposes. In this paper, we propose an adaptive partitioning scheme, which is based on a ghost caching mechanism, to adaptively tune the ratio of the buffering and the mapping space in the device cache according to the workload characteristics. The simulation results demonstrate that the performance of the proposed scheme approximates the best performance.
As the scale and complexity of software components in consumer electronics increase, the importan... more As the scale and complexity of software components in consumer electronics increase, the importance of performance optimization is rapidly growing. Consequently, the demand for performance optimization tools tailored for the consumer electronics environment is stronger than ever. A function call tracer is a vital tool for investigating relationships between functions, invocation counts of a function, and elapsed time in a function. Despite its importance in performance optimization, the limited capability of embedded hardware prohibits use of existing dynamic binary instrumentation tools. Moreover, the use of closed proprietary components excludes source-level analysis tools out of viable options. In this paper, LITIFUT, a function call tracer designed for consumer electronics, is proposed. This tool rewrites an executable file or a library file to inject profiling code during the linking stage. This approach achieves as little performance overhead as source-level instrumentation an...
2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST), 2010
Recently, NAND flash-based Solid State Drives (SSDs) have been rapidly adopted in laptops, deskto... more Recently, NAND flash-based Solid State Drives (SSDs) have been rapidly adopted in laptops, desktops, and server storage systems because their performance is superior to that of traditional magnetic disks. However, NAND flash memory has some limitations such as out-of-place updates, bulk erase operations, and a limited number of write operations. To alleviate these unfavorable characteristics, various techniques for improving internal software and hardware components have been devised. In particular, the internal device cache of SSDs has a significant impact on the performance. The device cache is used for two main purposes: to absorb frequent read/write requests and to store logical-to-physical address mapping information. In the device cache, we observed that the optimal ratio of the data buffering and the address mapping space changes according to workload characteristics. To achieve optimal performance in SSDs, the device cache should be appropriately partitioned between the two main purposes. In this paper, we propose an adaptive partitioning scheme, which is based on a ghost caching mechanism, to adaptively tune the ratio of the buffering and the mapping space in the device cache according to the workload characteristics. The simulation results demonstrate that the performance of the proposed scheme approximates the best performance.
2013 International Conference on Information Science and Applications (ICISA), 2013
Code repositories of the version control systems have been used as important raw material in lots... more Code repositories of the version control systems have been used as important raw material in lots of developer behavior studies. In such research, commits are usually considered as a unit of development phases, even though they contain limited information over development process. Unlike former source code management systems, Git provides branching, which are the unit of concurrent and independant development activities in a whole project. Branches have significant advantages over commits from the viewpoint of the developer behavior researchers. By exploiting the characteristics of branching, we propose a Git branch analysis tool. The proposed tool automatically extracts branching data from Git repositories and performs statistical and graphical analysis on them. Through a few case studies using a number of popular OSS project repositories, we showed that the proposed branch-oriented analyzer is able to perform more insightful analysis than the existing commit-based analyzers.
Uploads
Papers by Bon Keun Seo