SMA 2020, September 17-19, Jeju, Republic of Korea, S. Chum et al. SLA-Aware Adaptive Mapping Scheme in Bigdata Distributed Storage Systems

Sopanhapich Chum Jerry Li Department of Computer Science Memory Solutions Lab. Dankook University Samsung Semiconductor Inc. Yongin, Korea San Jose, CA, USA [email protected] [email protected] Heekwon Park Jongmoo Choi Memory Solutions Lab. Department of Computer Science Samsung Semiconductor Inc. Dankook University San Jose, CA, USA Yongin, Korea [email protected] [email protected]

ABSTRACT by 2025, with a compounded annual growth rate of 61% [23]. In As data are processed by diverse clients ranging from urgent time- addition, these data are processed instantly to extract information critical to best-effort, supporting different QoS (Quality of Service) for decision making, recommendation and autonomous control becomes a vital component in a distributed storage system. In this using various analytic models and frameworks [1, 8, 11, 20, 27, 30]. paper, we propose a novel SLA (Service Level Agreement)-aware We indeed live in Bigdata era [24]. adaptive mapping scheme that can differentiate between urgent Distributed storage (also called as Cloud storage) plays a key and normal clients based on their I/O requirements. The scheme ba- role in Bigdata era. There are various distributed storage systems sically divides storage into two regions, normal and urgent, which including GFS [14], HDFS [26], [2, 33], Azure Storage [16], makes it feasible to isolate urgent clients from normal ones. In Amazon S3 [22], Openstack Swift [18], Haystack [6], Lustre [35], addition, it changes the size of the isolated region in an adaptive GlusterFS [17] and so on. The typical architecture of distributed manner so that it can provide better performance to normal clients. storage systems consists of three components: client nodes, stor- Besides, we devise two techniques, called logical cluster and nor- age nodes and master nodes. A data object generated by a client mal inclusion, to prevent interference caused by adaptability. We is mapped into storage nodes, where master nodes take care of implement our scheme using the CRUSH (Controlled Replication placement, replication and recovery. Under Scalable Hashing) mapping algorithm in Ceph, a well-known As distributed storage systems are utilized by diverse clients, distributed storage system. Evaluation results demonstrate that our it becomes indispensable to provide QoS (Quality of Service) in proposal can comply with SLA requirements while providing better accordance with different requirements of clients. For instance, a performance than the fixed mapping scheme. traffic monitoring client needs to analyze road congestion data until a pre-specified time. A stock trading client who needs to CCS CONCEPTS inspect previous transaction data before the next trading time is another example of time-critical service. On the contrary, batch • Information systems → Information storage systems; Dis- processing and data backup are non time-critical services that can tributed storage; Hierarchical storage management; • Software be conducted in a best-effort way, without interfering with urgent and its engineering → Software system structures. clients. Such different requirements are contracted as SLA (Service KEYWORDS Level Agreement) in terms of performance, availability and cost between clients and storage providers [3, 28, 29, 36]. Bigdata, Cloud storage, Service Level Agreement, Performance In this paper, we propose a novel SLA-aware adaptive mapping scheme for distributed storage systems. It makes use of mapping 1 INTRODUCTION between clients and storage nodes. Basically, it classifies clients These days, data are generated from various sources including into two types: normal and urgent clients. Also, it divides storage on-line transactions, SNSs (Social Network Services), autonomous nodes into two regions, one for normal clients and the other for vehicles and smart infrastructures [7]. According to IDC article, urgent ones. The number of storage nodes for the urgent region world data will grow from 33 ZB (ZettaByte) in 2018 to 175 ZB is determined by SLA. Then, a data object requested by a normal client is mapped into the normal region while that requested by Permission to make digital or hard copies of part or all of this work for personal or an urgent client mapped into the urgent region. This isolation can classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation prevent urgent clients from being interfered by normal clients. on the first page. Copyrights for third-party components of this work must be honored. However, this fixed isolation suffers from performance degrada- For all other uses, contact the owner/author(s). tion due to the low storage bandwidth utilization especially when SMA 2020, September 17-19, Jeju, Republic of Korea, © 2020 Copyright held by the owner/author(s). the active number of urgent clients becomes small. To overcome SLA-Aware Adaptive Mapping Scheme in Bigdata Distributed Storage Systems SMA 2020, September 17-19, Jeju, Republic of Korea, this problem, we design our scheme to work adaptively so that it can adjust the urgent region size according to the activity of urgent clients. When the activity of urgent clients becomes low, it reduces the urgent resign, which eventually allows to boost the performance of normal clients. By the way, this adaptability raises two issues. One issue is about mapping. In our adaptive scheme, a data object generated by a normal user can be mapped either the normal region or the urgent Figure 1: Logical structure of Ceph. region adaptively. To tackle this situation, we devise a technique, called logical cluster, that abstracts storage nodes differently based on different cluster maps, which is further discussed in Section 3. The second core component is the CRUSH (Controlled Replica- The second issue is about SLA guarantee. Once a data object of tion Under Scalable Hashing) algorithm [34]. CRUSH is responsible a normal client is written into the urgent region, the client reads for data placement, that is the mapping between a data object and that data from the urgent region even though the activity of urgent an OSD. Figure 2 illustrates how CRUSH works. When a file is clients becomes high, which may cause SLA violation. To miti- created by a client, it is split into multiple data objects according gate this problem, we suggest a technique, called normal inclusion, to the object size configuration. Then, each object is assigned into which assures that at least one replica of a data object is stored a pool using a simple hash function with the 표푏 푗푒푐푡푖푑 as a hash in the normal region. The cooperation of logical cluster and nor- key. A pool can be considered as a logical partition. Within a pool, mal inclusion can prevent normal clients from interrupting urgent objects are sharded among units, called PGs (Placement Groups). clients while not hurting the normal client performance, We implement our proposal by modifying the CRUSH (Con- trolled Replication Under Scalable Hashing) algorithm in Ceph [34]. Ceph is a widely-used open-source based distributed storage sys- tem, deployed various cloud platforms including Hadoop, AWS and Openstack [2]. Evaluation results show that our scheme can im- prove performance by up to 18% while guaranteeing SLA required by urgent clients. The rest of this paper is organized as follows. Section 2 intro- duces background and related work. In Section 3, we explain our design. Experiments and evaluations are discussed in Section 4. The conclusion and future work are summarized in Section 5 Figure 2: Mapping scheme in Ceph.

2 BACKGROUND Each PG is mapped into OSDs using CRUSH. CRUSH is a pseudo- In this section, we first explain the architecture of Ceph and its random data distribution function that maps each PG into multiple mapping scheme. Then, we survey related work. OSDs based on the Ceph’s placement rules. The rules define the replication factor and any constraints on placement. By default, the replication factor is 3, meaning that each PG is mapped into 2.1 Ceph: Distributed Storage Cluster 3 OSDs, one as primary and the other two as replicas. During Figure 1 presents the logical structure of Ceph [2, 33]. It is a uni- mapping, CRUSH makes use of a map, called cluster map, that is a fied, distributed, object-based storage cluster designed for excellent compact and hierarchical description of OSDs, machines and racks performance, reliability and scalability. It consists of clients and in a storage cluster. By changing this cluster map, we can add new storage nodes, where a storage node is called as OSD (Object Stor- OSDs or remove failed OSDs. age Device) in Ceph. Each OSD takes charge of data manipulation Note that other distributed storage systems such as GFS [14] such as storing, retrieval and storage management. In the initial and HDFS [26] employ a master node to manage the mapping version of Ceph, an OSD is governed by a Ceph OSD daemon and between objects and OSDs. Using hash-based mapping scheme kernel-level local file systems such as Ext4 and XFS[33]. But, in instead of the dedicated master node gives several benefits. First, recent version, it is controlled by a key value store and user-level this algorithmic approach can improve performance by accessing file system, called BlueStore and BlueFS, respectively [2]. OSDs directly from clients without checking the master node to There are two core components in Ceph. One is the RADOS lookup mapping information. Second, it can avoid a single point of (Reliable Autonomic Distributed Object Store) framework [5]. It failure, enhancing reliability. Finally, the pseudo-random property supports several features including self-healing, self-managing, of CRUSH can distribute objects uniformly across OSDs, giving a strong consistency and dynamic cluster expansion. In addition, it positive impact on scalability. provides a library, called librados, and three interfaces: 1) RADOS Gateway (RGW) for a object storage, 2) RADOS Block Device (RBD) 2.2 Related Work for a virtual block device and 3) CephFS for a distributed file system Establishing and Guaranteeing SLA is an active topic that has been with POSIX semantics. studied carefully in various research area. For instance, Alhamad SMA 2020, September 17-19, Jeju, Republic of Korea, S. Chum et al. et al. discuss the main criteria which needs to be considered when ways such as latency, throughput, variation, reliability and con- we design SLA in cloud computing [3]. They also investigate the sistency (e.g., completion within 300ms [12] or at most 5 minutes negotiation strategies and methods to maintain trust between a out-of-date [29]). Design a new SLA specification is out of scope of cloud provider and user. this paper. Hence, we adopt the existing mechanism and, from now Oritz et al. propose a scheme, called SLAOrchestrator, that guar- on, we concentrate on the SLA enforcement mechanism. antees per-query execution time in cloud analytics systems [21]. Figure 3 shows the basic idea of our proposed scheme. When we DeCandia et al. design a distributed key-value store, called Dynamo, compare this figure with Figure 2, the traditional mapping scheme where SLAs are expressed as the response-time of put/get oper- used by Ceph, we can notice that our scheme classifies clients into ations and 99.9th percentile of the total number of requests [12]. two groups, normal and urgent client. An urgent client is defined Gulati et al. devise mClock, an algorithm that supports proportional- as a client who makes a SLA contract. On the contrary, a normal share fairness of IO allocation in environments [15]. client does not have SLA requirements, just wishing to use OSDs Storage researchers also explore how to comply with SLA at the in a best-effort way at a low price. storage level. Tanimura et al. suggest a distributed storage system that makes a time-based I/O access and storage space reservation for achieving SLA [28]. Shue et al. present Pisces, a scheme supporting per-tenant fairness in a shared storage system [25]. It makes use of four techniques, namely partition placement, weight allocation, replica selection, and weighted fair queuing. Terry et al. examine the tradeoff among consistency, availability and performance in distributed storage [29]. Then, they design a system, where a client can declare his/her consistency requirement (e.g., strong or eventual or read-my-writes) and a provider adjusts client’s latency to match the required consistency. Ardekani et al. propose a scheme that reconfigures the number of replicas and their locations so that it can enhance performance while guaranteeing Figure 3: SLA-aware mapping scheme: isolated mode. SLA [4]. There are several studies that explore Ceph characteristics and In addition, our scheme segregates OSDs into two regions, nor- try to incorporate SLA into Ceph. Lee et al. evaluate three different mal and urgent region. The normal region is used by normal clients Ceph OSD implementations, namely FileStore, KStore and Blue- while the urgent region is used by urgent ones. The size of the Store, and analyze their write behaviors, especially focusing on urgent region is dictated by SLA requirements of urgent clients. WAF (Write Amplification Factor)19 [ ]. Wang et al. investigate the For instance, assume that at least two OSDs are required to satisfy scalability of Ceph for scientific high-performance computing envi- an urgent client’s SLA and there exist 2 urgent clients. Then, we ronments [31]. Chagam et al. present their experience how to meet need to reserve at least four OSDs for the urgent region. Note that SLA requirements when they deploy Ceph [9]. the pseudo-random property of the CRUSH algorithm can distrib- Wang et al. observe that CRUSH-based storage systems suffer ute urgent clients’ requests into OSDs uniformly, which leads to a from uncontrolled data migration when expanding cluster [32]. probabilistic correctness in meeting SLA requirements. To overcome this problem, they extend CRUSH that uses an extra Our scheme allots different 표푏 푗푒푐푡푖푑 s to normal/urgent clients so time-dimension mapping to differentiate new and old OSDs, and that objects can be assigned into different pools. Besides, the pool supervises migration among them. Their work is similar to ours for normal clients has a cluster map, denoted as 푀푎푝푛 in Figure 3, in that both make use of mapping in Ceph. However, their goal that consists of OSDs in the normal region only. Likewise, the pool is enhancing performance during cluster expansion while ours is for urgent clients has another cluster map, 푀푎푝푢 , consisting of guaranteeing SLA in Ceph. OSDs in the urgent region only. As a result, an object created by a Wu and Brandt’s work is also closely related to our study [36]. normal user is mapped into the normal region and vice versa. In They design a new framework, called Bourbon, to provide different other word, urgent clients are not interfered by normal users since services into different classes of workloads in Ceph, whose goal they are isolated into different regions. is the same as ours. However, their proposal differs from ours in Although this version of our scheme can behave in accordance that it exploits a new I/O queuing and cache mechanism. In other with SLA requirements, it might lead to low storage utilization. words, their approach is a -based scheme while ours is a In Figure 3, assume that the number of urgent clients decreases mapping-based one. (or becomes zero). Then, maintaining OSDs for urgent clients is actually wasting storage bandwidth and space. Instead, it is better to reallocate them for normal clients, as shown in Figure 4. Our proposed SLA-aware mapping scheme has two modes, iso- 3 DESIGN lated and shared mode. In the isolated mode, OSDs in the urgent In this section, we describe how we design our SLA-aware mapping region are used by urgent clients only, as shown in Figure 3. On the scheme. To guarantee SLA, we need to two mechanisms, SLA spec- contrary, in the shared mode, those OSDs can be used by normal ification and enforcement. SLA is a clear definition of the formal clients, as depicted in Figure 4. The mode change between the iso- agreements about service terms, which can be expressed various lated and shared mode is triggered by the activity of urgent clients, SLA-Aware Adaptive Mapping Scheme in Bigdata Distributed Storage Systems SMA 2020, September 17-19, Jeju, Republic of Korea,

logical cluster technique can hide OSDs in the urgent region to normal clients during the isolated mode, which allows to prevent urgent clients from being interfered by normal clients. Base on design discuss above may be show some possible limita- tions in the our experiment. First, the prove that two techniques normal inclusion and logical cluster can solve problems when ur- gent client start activity. The second limitation concerns on size of urgent region. How many proper size of urgent region should satisfy when the number of urgent clients increase. 4 EVALUATION Figure 4: SLA-aware mapping scheme: shared mode. This section presents experimental methodology and evaluation results. We set up five physical computers for experiments. Each computer is equipped with 3.30GHz Intel Core i7-7700 CPU, 24GB which is measured by the Ceph Manager daemon that is responsible RAM, 1Gigabit Ethernet, two 500GB Samsung 860EVO SDDs and for keeping track of runtime metrics [13]. It implies that our scheme one 500GB 7.2K RPM HDD. On these hardware components, we adjusts the urgent region size in an adaptive manner. install Ubuntu 16.04 server with the kernel 4.15 and Ceph Mimic version 13.2.10. Since there are total 12 storage devices (4 HDDs and 8 SDDs), we can configure total 12 OSDs and each OSD is governed by the Ceph OSD daemon.

Figure 5: How to orchestrate between the isolated and shared mode.

Figure 5 illustrates how our scheme works adaptively. The figure Figure 6: Performance analysis: traditional scheme. assumes that, initially, there is no urgent client and our scheme operates in the shared mode. In this state, a data object created by Figure 6 shows the evaluation results of the traditional mapping a normal client can be mapped into any OSDs, both normal and scheme used in Ceph. The x-axis is the number of clients that run urgent region, as shown in the left side picture of the figure. concurrently. In this experiment, each client conducts a service Then, assume that an urgent client starts its activity. When our that creates a file whose size is around 20MB and stores itinto scheme perceives this activity, it changes the mode from shared to Ceph and retrieves it again. We configure the object size as 1MB, isolated. Now the question to how the normal client can access the meaning that the file is split into 20 data objects, which in turnare data object that was stored in the urgent region. To address this mapped into OSDs using the CRUSH algorithm. Also, we configure situation, we devise two techniques, normal inclusion and logical the replication factor as 2 in this experiment (experimental results cluster. The normal inclusion technique imposes that at least one with the factor of 3 show similar trends and we omit them due to replica of an object is mapped into OSDs in the normal region the limitation of pages). during the shared mode. This technique can be materialized using From Figure 6, we can make the following observations. First, the placement rules in Ceph [33]. when the number of clients is less than 6, all clients show similar The logical cluster technique is using different cluster maps performance. It implies that the 15 seconds is the performance that between two modes. Specifically, our scheme uses a cluster map, we can obtain in our experimental environment when a client exe- called 푀푎푝푎푙푙 , during the shared mode that includes all OSDs. On cutes the service and there is no contention among clients. Second, the contrary, during the isolated mode, our scheme uses another as the number of clients is beyond 6, contention among clients cluster map, called 푀푎푝푛, for normal clients that includes OSDs degrades performance. When the number of clients becomes 20, of the normal region only. In other words, normal clients have the average latency of a client becomes 35 seconds, 2.3X worse different logical viewpoints based on the mode. In the isolated performance compared with when clients are less than 6. Note that mode, a normal client can see the normal region OSDs only, but there are 12 OSDs and the replication factor in this experiment is 2. the normal inclusion technique allows the client to access at least Evaluation results of our proposed scheme are presented in Fig- one replica in its logical cluster. Besides, and more importantly, this ure 7. To evaluate our scheme, we first define normal and urgent SMA 2020, September 17-19, Jeju, Republic of Korea, S. Chum et al. clients. In this experiment, an urgent client is defined as a client that requires the latency less than 20 seconds. Others are defined as a normal client. In addition, we allocate 8 OSDs as the normal region and the remaining as the urgent region. Note that the traditional scheme shown in Figure 6 does not meet an urgent client’s SLA when the number of clients is larger than 10.

Figure 9: Overall Comparison.

Figure 7: Performance analysis: proposed scheme in the iso- lated mode. Overall comparison between schemes are displayed in Figure 9, where our scheme is denoted as Proposed scheme (Adapt) while our Figure 7 exhibits that our scheme indeed prevents the urgent scheme in the isolated mode only is denoted as Proposed scheme client from being interfered by normal clients, enabling to satisfy (I-only). From these results, we can observe that 1) our scheme can SLA. However, the figure also demonstrates the downside of our guarantee SLA required by urgent clients and 2) the adaptability scheme. Since there exists an urgent client, our scheme works in can enhance performance by up to 18% that are represented as a the isolated mode. Hence, the number of OSDs allocated to normal dashed line in the figure. clients decreases from 12 to 8, which gives a negative impact on the latency of normal clients. This is why we make our scheme behave 5 CONCLUSION adaptively. This study is motivated by our observation that the traditional Ceph mapping scheme does not meet SLA requirements. To over- come this problem, we propose an adaptive mapping scheme that provides both SLA guarantee for urgent users and performance improvement for normal users. We also devise two new techniques, logical cluster and normal inclusion, that enables to achieve the adaptability efficiently. Real implementation-based experiments show the effectiveness of our proposal. There are three research directions as future work. First, we will extend our experiments with diverse workloads and configurations. We especially want to explore the proper size of the urgent region as the number of urgent clients increase. Second, we also want to experiments on two techniques, normal inclusion and logical cluster can solve problems when urgent clients start activity. The third research direction is analyzing the effect of heterogeneous storage devices. We wish to examine when all OSDs are SSDs or Figure 8: Performance analysis: proposed scheme in the when we employ new types of SSDs such as Optane SSDs [37] and shared mode. ZNS SSDs [10].

Figure 8 presents experimental results of our proposed scheme ACKNOWLEDGMENTS when there is no activity from the urgent client. Then, our scheme We thank the anonymous reviewers for their valuable feedback. is converted from the isolated into shared mode. Hence, the total This research was supported in part by the MIST(Ministry of Science number of OSDs that can be accessed by normal clients becomes and ICT), Korea, under the National Program for Excellence in SW 12 from 8, which gives an opportunity to enhance performance. supervised by the IITP(Institute for Information communications Specifically, when we compare Figure 8 with Figure 7, wecan Technology Promotion)"(2017-0-00091) and by the MSIT(Ministry observe that the adaptability can reduce the average latency of of Science and ICT), Korea, under the ITRC(Information Technol- normal clients considerably. ogy Research Center) support program(IITP-2020-2015-0-00363) SLA-Aware Adaptive Mapping Scheme in Bigdata Distributed Storage Systems SMA 2020, September 17-19, Jeju, Republic of Korea, supervised by the IITP(Institute for Information Communications [27] Muthian Sivathanu, Midhul Vuppalapati, Bhargav S. Gulavani, Kaushik Rajan, Technology Planning Evaluation). Jyoti Leeka, Jayashree Mohany, and Piyus Kedia. 2019. INSTalytics: Cluster Filesystem Co-design for Big-data Analytics. In USENIX FAST. [28] Yusuke Tanimura, Koie Hidetaka, Tomohiro Kudoh, Isao Kojima, and Yoshio Tanaka. 2010. A distributed storage system allowing application users to re- serve I/O performance in advance for achieving SLA. In IEEE/ACM International REFERENCES Conference on Grid Computing. [1] Martin Abadi, Paul Barham, Jianmin Chen, Zhifeng Chen, Andy Davis, Jeffrey [29] Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrish- Dean, Matthieu Devin, Sanjay Ghemawat, Geoffrey Irving, Michael Isard, Man- nan, Marcos K. Aguilera, and Hussam Abu-Libdeh. 2013. Consistency-Based junath Kudlur, Josh Levenberg, Rajat Monga, Sherry Moore, Derek G. Murray, Service Level Agreements for Cloud Storage. In ACM SOSP. Benoit Steiner, Paul Tucker, Vijay Vasudevan, Pete Warden, Martin Wicke, Yuan [30] Animesh Trivedi, Patrick Stuedi, Jonas Pfefferle, Adrian Schuepbach, and Bernard Yu, and Xiaoqiang Zheng. 2016. TensorFlow: A system for large-scale machine Metzler. 2018. Albis: High-Performance File Format for Big Data Systems. In learning. In USENIX OSDI. USENIX ATC. [2] Abutalib Aghayev, Sage Weil, Michael Kuchnik, Mark Nelson, Gregory R. Ganger, [31] Feiyi Wang, Mark Nelson, Sarp Oral, Scott Atchley, Sage Weil, Bradley W. Settle- and George Amvrosiadis. 2019. File Systems Unfit as Distributed Storage Back- myer, Blake Caldwell, and Jason Hill. 2013. Performance and Scalability Evalua- ends: Lessons from 10 Years of Ceph Evolution. In ACM SOSP. tion of the Ceph Parallel File System. In ACM PDSW. [3] Mohammed Alhamad, Tharam Dillon, and Elizabeth Chang. 2010. Conceptual [32] Li Wang, Didi Chuxing, Yiming Zhang, Jiawei Xu, and Guangtao Xue. 2020. SLA framework for cloud computing. In IEEE International Conference on Digital MAPX: Controlled Data Migration in the Expansion of Decentralized Object- Ecosystems and Technologies. Based Storage Systems. In USENIX FAST. [4] Masoud Saeida Ardekani and Douglas B. Terry. 2014. A Self-Configurable Geo- [33] S. Weil, S. Brandt, E. Miller, and D. Long. 2006. Ceph: A Scalable, High- Replicated Cloud Storage System. In USENIX OSDI. Performance Distributed File System. In USENIX OSDI. [5] Sage A.Weil, Andrew W. Leung, Scott A. Brandt, and Carlos Maltzahn. 2007. [34] Sage A. Weil, Scott A. Brandt, Ethan L. Miller, and Carlos Maltzahn. 2006. CRUSH: RADOS: A Scalable, Reliable Storage Service for Petabyte-scale Storage Clusters. Controlled, Scalable, Decentralized Placement of Replicated Data. In ACM/IEEE In ACM PDSW. SC. [6] Doug Beaver, Sanjeev Kumar, Harry C. Li, Jason Sobel, and Peter Vajgel. 2010. [35] Lustre Wiki. 2017. Introduction to Lustre Architecture. (2017). Retrieved August Finding a needle in Haystack: Facebook’s photo storage. In USENIX ATC. 9, 2020 from http://wiki.lustre.org/images/6/64/LustreArchitecture-v4.pdf [7] Desamparados Blazquez and Josep Domenech. 2018. Big Data sources and [36] Joel C. Wu and Scott A. Brandt. 2007. Providing Quality of Service Support in methods for social and economic analyses. Technological Forecasting and Social Object-Based File System. In IEEE MSST. Change 130 (2018). [37] Kan Wu, Andrea Arpaci-Dusseau, and Remzi Arpaci-Dusseau. 2019. Towards an [8] Zhichao Cao, Siying Dong, Sagar Vemuri, and David H.C. Du. 2020. Characteriz- Unwritten Contract of Intel Optane SSD. In USENIX HotStorage. ing, Modeling, and Benchmarking RocksDB Key-Value Workloads at Facebook. In USENIX FAST. [9] Anjaneya (Reddy) Chagam, Dan Ferber, David J. Leone, Orlando Moreno, Yaguang Wang, Yuan (Jack) Zhang, Jian Zhang, Yi Zou, and Mark W. Henderson. [n. d.]. Intel Solutions for Ceph Deployments. ([n. d.]). Retrieved August 9, 2020 from https://builders.intel.com/docs/storagebuilders/Intel_solutions_for_ceph_ deployments.pdf [10] G. Choi, M. Oh, K. Lee, J. Choi, J. Jin, and Y. Oh. 2019. A New LSM-style Garbage Collection Scheme for ZNS SSDs. In USENIX HotStorage. [11] Jeffrey Dean and Sanjay Ghemawat. 2004. MapReduce: Simplified Data Processing on Large Clusters. In USENIX OSDI. [12] Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, and Werner Vogels. 2007. Dynamo: Amazon’s Highly Available Key-value Store. In ACM SOSP. [13] Ceph Documentation. 2020. Introduction to Ceph. (2020). Retrieved August 2, 2020 from https://docs.ceph.com/docs/master/start/intro/ [14] Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung. 2003. The Google File System. In USENIX SOSP. [15] Ajay Gulati, Arif Merchant, and Peter J. Varman. 2010. mClock: Handling Throughput Variability for IO Scheduling. In USENIX OSDI. [16] Cheng Huang, Huseyin Simitci, Yikang Xu, Aaron Ogus, Brad Calder, Parikshit Gopalan, Jin Li, and Sergey Yekhanin. 2012. Erasure Coding in Windows Azure Storage. In USENIX FAST. [17] Inc. 2019. GlusterFS Architecture. (2019). Retrieved August 9, 2020 from https://docs.gluster.org/en/latest/Quick-Start-Guide/Architecture/ [18] Amar Kapadia, Sreedhar Varma, and Kris Rajana. 2014. Implementing Cloud Storage with OpenStack Swift. PACKT. [19] Dong-Yun Lee, Kisik Jeong, Sang-Hoon Han, Jin-Soo Kim, Joo-Young Hwang, and Sangyeun Cho. 2017. Understanding Write Behaviors of Storage Backends in Ceph Object Store. In IEEE MSST. [20] Sergio Orenga-Roglá and Ricardo Chalmeta. 2019. Framework for Implementing a Big Data Ecosystem in Organizations. Commun. ACM 62, 1 (2019). [21] Jennifer Ortiz, Brendan Lee, Magdalena Balazinska, Johannes Gehrke, and Joseph L. Hellerstein. 2018. SLAOrchestrator: Reducing the Cost of Performance SLAs for Cloud Data Analytics. In USENIX ATC. [22] Mayur Palankar, Adriana Iamnitchi, Matei Ripeanu, and Simson Garfinkel. 2008. Amazon S3 for Science Grids:a Viable Solution?. In ACM DADC. [23] Andy Patrizio. 2018. IDC: Expect 175 zettabytes of data worldwide by 2025. (Dec. 2018). Retrieved August 9, 2020 from https://www.networkworld.com/article/ 3325397/idc-expect-175-zettabytes-of-data-worldwide-by-2025.html [24] Guo-Jun Qi and Jiebo Luo. 2019. Small Data Challenges in Big Data Era: A Survey of Recent Progress on Unsupervised and Semi-Supervised Methods. (March 2019). Retrieved August 9, 2020 from https://arxiv.org/abs/1903.11260 [25] David Shue, Michael J. Freedman, and Anees Shaikh. 2012. Performance Isolation and Fairness for Multi-Tenant Cloud Storage. In USENIX OSDI. [26] Konstantin Shvachko, Hairong Kuang, Sanjay Radia, and Robert Chansler. 2010. The Hadoop Distributed File System. In IEEE MSST.