Recent development in storages devices have introduced various media types from Hard Disk Drives (HDD), Solid State Drives, and Non-Volatile Memories, such as
PRAM, FRAM, STT-MRAM, and technology is growing rapidly; however, modern
generic purpose operating systems (OS) cannot properly support rapid changes of
characteristics of storages. Each storage device must be designed to meet its purpose
and also fully exploits the components of the storage. Generic purpose OSes
like Windows, Linux, and Solaris, are designed to produce almost even performance
for various sizes of IO requests, and to most of the workloads. Generic purpose systems
are far from producing optimized performance for specific system. For example,
workloads in multimedia server only exhibits limited range of file sizes as well as IO
patterns. In order for IO system to be suitable for the server, design has to consider
the range of file sizes with high priority than other. Most of the research works on
IO performances focuses on optimizing the performance against characteristics and
purpose of the storage media. Measures for the performance include power consumption,
bandwidth of IO for specific workload, and etc. Approaches for optimizing the
system includes modify or cooperate with File System, driver for block device, and
Firmware. This work proposes analyzing method for storage internal, and optimizing
methods for IO system that takes account of purpose of the block IO device and
characteristics of storage components. This paper introduces three key ideas.
First key idea is DIG, which analyzes internal disk structure of HDD. Since storage
capacity in modern HDDs are increasing swiftly over the years, existing analyzing
methods last for several days to several month to figure out the internals of the disks.
Also it does not properly reflect up-to-date disk geometries, which causes obscurity in
accuracy of results. This paper proposes two algorithms, Angular to Linear Distance
Ratio (ALD) algorithms and Multiplicative Increase Multiplicative Decrease (MIMD)
algorithm, that efficiently analyzes disk internals. Proposed analyzing method includes
finding track skew, Sectors per Track (SPT), and structure of Zone that takes
account of seek time.
Second idea in the paper is AV Disk, which is for multimedia home server. Multimedia
home server has to be quiet, support a number of sessions, and optimized for
multimedia workloads. This work analyzes IO structure of multimedia, and proposes
three sector allocation methods to reduce disk sector overhead among many overheads
exist in disks. Sector allocation method, first learns current sector allocation
scheme using the DIG, and improves the transfer rate by guaranteeing there are no
track switches in a single IO, while there are multiple sessions running in the system.
This approach can ensure the system to properly play the multimedia contents, even
though the disk is exchanged with low RPM disk to reduce the noise.
Lastly, context switch (SmartCon) decision mechanism for latest memory based
storages is proposed. In a multi core environment, file systems support TRIM command
for high performance SSD, and manipulates NOOP scheduling scheme that
rearranges IO requests depending on their sector distance. These naive approaches
cannot make full use of high-end SSD such as products for Fusion IO and NVRAM
(PRAM, FRAM, and STT-MRAM) that provides fast IO performance. This paper
not only shows that context switch of processes can be an overhead in SSD and
NVRAM, but also proposes context switch scheme that considers various IO characteristics.
Proposed three subjects, DIG, AV Disk, and SmartCon, tries to enhance the performance
of traditional HDD, SSD, and Non-volatile memory based storage devices.
Time it takes to learn the internals of a disk took seven minutes to 180 minutes depending
on the types and sizes of disks. Note that binary search approach, which is
most efficient approach among existing works, spends as long as 1935 minutes. Proposed
DIG algorithm spends more than order of magnitude smaller time than existing
approaches. AV Disk that is optimized for home multimedia servers reduces 25% of
the overhead at the most. Plug-in in DiskSim is used to model the disk geometry and
verify the performance of the AV disk. SmartCon for fast IO devices showed about
45 % performance improvement for 4KB IO size on Fusion IO.