Journal of ICT, Design, Engineering and Technological Science (JITDETS)
VOL. 3, NO. 1, pp. 20-24, 2019
DOI: https://doi.org/10.33150/JITDETS-3.1.5
ORIGINAL CONTRIBUTION
Acceleration of Storage Performance in Cloud Systems by Using NVRAM
Jisun Kim
1
, Yunjoo Park
2
, Kyungwoon Cho
3
, Hyokyung Bahn
4*
1,2,3,4
Department of Computer Science & Engineering, Ewha W. University, Seoul, South Korea
Abstract— Non-Volatile Random Access Memory (NVRAM) is anticipated to be utilized as the performance accelerator of future cloud storage
systems. This article aims to analyze how large performance improvement can be expected if we use NVRAM as the performance accelerator of
legacy storage subsystems. Speciϐically, we try to ϐind the best employment of NVRAM with respect to storage performances. To do so, we quan-
tify the hot storage area and replace it with NVRAM to obtain the best performances. Our analysis shows that the source of hot storage trafϐic
is not limited to any single particular storage area, but it is different for application types executed. Speciϐically, journaling accesses dominate
in database applications, while swapping accesses dominate in memory-intensive applications. In some applications such as video streaming,
ϐile accesses dominate. Based on these ϐindings, we suggest the usage of NVRAM to maximize the performance improvement of cloud storage
systems.
Index Terms— NVRAM, Storage, Cloud System, Cloud Application, Storage Accelerator
Received: 13 April 2019; Accepted: 26 May 2019; Published: 26 June 2019
© 2019 JITDETS. All rights reserved.
I. INTRODUCTION
With the rapid enhancement of NVRAM technologies like PRAM
(phase-change random access memory) and STT-RAM (spin-transfer
torque random access memory) [1, 2, 3, 4], it is expected that NVRAM will
be used in the memory and storage hierarchies of future cloud servers
[5, 6, 7]. In this article, we perform empirical analysis to see how much
performance improvement can be expected if we supplement NVRAM as
an additional component of cloud storage. Our goal is to optimize the us-
age of NVRAM when it is added to existing storage subsystems. To this
end, we ϐirst see the storage access characteristics of different types of ap-
plications with respect to swapping accesses, journaling accesses, and ϐile
accesses. Note that all storage accesses can be classiϐied into one of these 3
types of accesses. Because these 3 access types occur on separated storage
areas, we can utilize NVRAM as a swapping area, a journaling area, or a ϐile
system area. Due to the high cost of NVRAM, we need to decide which area
of the storage subsystems will consist of NVRAM.
The ϐirst observation of this article is that a bunch of storage ac-
cesses do not happen in the same storage area, but it is different for ap-
plication types executed. For example, journaling accesses dominate in
database applications as transaction handling causes signiϐicant write op-
erations to the journaling area in database systems. On the contrary,
swapping accesses dominate in memory-intensive applications because
the memory size is not sufϐicient to load the full workload of the appli-
cation. For multimedia streaming applications, ϐile accesses dominate as
these kinds of applications need signiϐicant ϐile accesses on multimedia
data.
Our second contribution is the investigation of expected perfor-
mance improvement when we supplement NVRAM to different storage ar-
eas. We observed that the largest improvement by using NVRAM does not
happen if we use it as a ϐixed storage area but we can improve performance
further by utilizing it adaptively for different kinds of applications. For ex-
ample, for memory-intensive applications, we can obtain the best perfor-
mance when we adopt NVRAM as a swapping area. On the contrary, for
database applications, the best performance can be obtained by adopting
NVRAM as a journaling area. For video streaming applications, adopting
NVRAM as a ϐile system area leads to the best performances.
*
Corresponding author: Hyokyung Bahn
†
Email: bahn@ewha.ac.kr