Digital Library[ Search Result ]
VNSIM: Virtual Machine based Multi-core SSD Simulator for supporting NVM Express
http://doi.org/10.5626/JOK.2018.45.5.427
Solid State Drives (SSD) continue to improve its performance and capacity through the adoption of new host interfaces and the use of multi-channel/multi-way I/O parallelism with multiple core controllers. In order to design and evaluate the structure of the SSDs, a new SSD simulator needs to be developed that supports the latest storage techniques. In this study, we develop a SSD simulator, the Virtual-machine based NVMe SSD SIMulator (VNSIM), which supports the latest host controller interface, NVM Express. The VNSIM simulates the entire I/O stack, from applications to Flash memories. Unlike the existing SSD simulators, the VNSIM provides an environment for simulating and evaluating SSD structures with two or more Flash Translation Layer (FTL) cores running in the SSD. We developed the Flash I/O emulator which simulates the I/O performance of the Flash memory including page cache registers. The VNSIM was validated using the Samsung 950 Pro NVMe SSD, showing that the VNSIM models the 950 Pro SSD with a 6.2%~8.9% offset.
Consideration of fsync() of the Ext4 File System According to Kernel Version
Seongbae Son, Yoenjin Noh, Dokeun Lee, Sungsoon Park, Youjip Won
Ext4 file system is widely used in various computing environments such as those of the PC, the server, and the Linux-based embedded system. Ext4, which uses a buffer for block I/O, provides fsync() system call to applications to guarantee the consistency of a specific file. A log of the analytical studies regarding the operation of Ext4 and the improvement of its performance has been compiled, but it has not been studied in detail in terms of kernel versions. We figure out that the behavior of fsync() system call is different depending on the kernel version. Between the kernel versions of 3.4.0 and 4.7.2, 3.4.0, 3.8.0, and 4.6.2 showed behavioral differences regarding the fsync() system call. The latency of fsync() in kernel 3.4.0 is longer than that of the more-advanced 3.7.10; meanwhile, the characteristics of 3.8.0 enabled the disruption of the Ext4 journaling order, but the ordered defect was solved with 4.6.2.
FastIO: High Speed Launching of Smart TV Apps
Cheolhee Lee, Taeho Hwang, Youjip Won, Seongjin Lee
Smart TV uses Webkit as a web browser engine to provide contents such as web surfing, VOD watching, and games. Webkit uses web resources, such as HTML, CSS, JavaScript, and images, in order to run applications. At the start of an application, Webkit loads resources to the memory and creates DOM tree and render tree, which is a time consuming process. However, DOM tree and render tree created by the smart TV application do not change over time because the smart TV application uses web resources stored in a disk. If DOM tree and render tree can be stored and reused, it is possible to reduce loading time of an application. In this paper, we propose FastIO technique that selectively adds persistency to dynamically allocated memory. FastIO reduces overall application loading time by eliminating the process of loading resources from storage, parsing the HTML documents, and creating DOM tree and render tree. Comparison of the application resource loading times indicates that the web browser with FastIO is 7.9x, 44.8x, and 2.9x faster than the legacy web browser in an SSD, Ramdisk, and eMMC environment, respectively.
Garbage Collection Technique for Non-volatile Memory by Using Tree Data Structure
Most traditional garbage collectors commonly use the language level metadata, which is designed for pointer type searching. However, because it is difficult to use this metadata in non-volatile memory allocation platforms, a new garbage collection technique is essential for nonvolatile memory utilization. In this paper, we design new metadata for managing information regarding non-volatile memory allocation called "Allocation Tree". This metadata is comprised of tree data structure for fast information lookup and a node that holds an allocation address and an object ID pair in key-value form. The Garbage Collector starts collecting when there are insufficient non-volatile memory spaces, and it compares user data and the allocation tree for garbage detection. We develop this algorithm in a persistent heap based non-volatile memory allocation platform called "HEAPO" for demonstration.
Search

Journal of KIISE
- ISSN : 2383-630X(Print)
- ISSN : 2383-6296(Electronic)
- KCI Accredited Journal
Editorial Office
- Tel. +82-2-588-9240
- Fax. +82-2-521-1352
- E-mail. chwoo@kiise.or.kr