Hierarchical Data Compression for Multi-Tiered Storage Environments

Hierarchical Data Compression for Multi-Tiered Storage Environments

2020 IEEE International Parallel and Distributed Processing Symposium (IPDPS) HCompress: Hierarchical Data Compression for Multi-Tiered Storage Environments Hariharan Devarajan, Anthony Kougkas, Luke Logan, and Xian-He Sun Department of Computer Science, Illinois Institute of Technology, Chicago, IL [email protected], [email protected], [email protected], [email protected] Abstract—Modern scientific applications read and write (e.g., PFS). Similarly, some system architectures include massive amounts of data through simulations, observations, and intermediate, specialized resources such as I/O forwarders, analysis. These applications spend the majority of their runtime burst buffers, and data staging nodes that are closer to the in performing I/O. HPC storage solutions include fast node-local and shared storage resources to elevate applications from this compute nodes, and thus, offer lower data access latency and bottleneck. Moreover, several middleware libraries (e.g., Hermes) higher throughput, effectively masking the I/O gap. Finally, are proposed to move data between these tiers transparently. data reduction optimizations such as deduplication [5], Data reduction is another technique that reduces the amount of filtering [6], subsampling [7], and compression [8] aim to data produced and, hence, improve I/O performance. These two reduce the data footprint, and thus, the cost of moving large technologies, if used together, can benefit from each other. The effectiveness of data compression can be enhanced by selecting amounts of data to/from the slower remote storage system. different compression algorithms according to the characteristics The effectiveness of all these solutions is directly proportional of the different tiers, and the multi-tiered hierarchy can benefit to the amount of available space in an Intermediate Temporary from extra capacity. In this paper, we design and implement Storage (ITS) (i.e., scratch space) and its utilization. The HCompress, a hierarchical data compression library that more capacity that the ITS has, the more important the I/O can improve the application’s performance by harmoniously leveraging both multi-tiered storage and data compression. utilization becomes. As the amount of RAM per core keeps We have developed a novel compression selection algorithm decreasing [9], it is imperative, more than ever before, to that facilitates the optimal matching of compression libraries maximize the resource and capacity utilization of ITS space. to the tiered storage. Our evaluation shows that HCompress There are two orthogonal approaches to achieve this can improve scientific application’s performance by 7x when goal: one that relies on the addition of new hardware that compared to other state-of-the-art tiered storage solutions. Index Terms—hierarchical, multi-tiered, data compression, increases the available ITS capacity and another that opts to data-reduction, dynamic choice, workflow priorities, library reduce the amount of data redirected to ITS. First, modern storage systems have introduced new specialized hardware I. INTRODUCTION technologies such as High-Bandwidth Memory (HBM), Modern scientific applications, spanning from complex Non-Volatile RAM (NVRAM), and Solid-State Drives (SSD) simulations to high-performance data analytics, generate, by organizing them in a multi-tiered storage hierarchy [10] process, and store extremely large amounts of data [1]. The (i.e., higher tiers are faster but smaller in capacity). To ability to process this explosion of data is now driving scien- overcome the added complexity in the storage stack, several tific discovery more than ever [2]. These applications, widely middleware solutions such as Hermes [10] and Univistor [11] known as data-intensive computing, often spend a significant have been introduced to transparently manage these tiers. amount of time in performing I/O [3]. In High-Performance However, the performance of such multi-tiered solutions is Computing (HPC), the underlying data are represented by files determined by their ability to place more data in the upper that, typically, are stored in disk-based parallel file systems tiers, which offer lower latency and higher bandwidth. (PFS). However, the evolution of processing technology (i.e., Second, there are several software-based solutions that aim CPU, RAM) has far exceeded the storage capabilities which to reduce the data volume placed on ITS. The most commonly has led to a performance gap between the compute and used is data compression [12], [13], where CPU cycles are storage resources. This phenomenon is known as the I/O used to apply compression/decompression on the data before bottleneck [4], and causes performance degradation, complex they are stored/retrieved to/from the disks, resulting in shorter deployment models, and limited scalability. I/O times caused by the smaller data footprint. Thus, there Several middleware software solutions have been introduced is a trade-off between the amount of time spent compressing to tackle this I/O bottleneck problem. For instance, data data and the amount that I/O cost is reduced. This has led to access optimizations such as data buffering and caching, a plethora of specialized compression libraries that optimizes data prefetching, and data aggregations hide the gap between data compression based on certain types of data, workloads, or compute and I/O by offloading the I/O cost to an intermediate domains [14]. However, the performance characteristics of dif- temporary space (e.g., main memory, buffers, SSD, etc.,) ferent data compression solutions are often determined by their so that application can continue the execution while data ability to balance the used resources effectively (CPU cycles - is moved asynchronously to a slower remote shared storage I/O device target). Thus, choosing the right compression tech- 1530-2075/20/$31.00 ©2020 IEEE 557 DOI 10.1109/IPDPS47924.2020.00064 nique for a given scenario and target environment is nontrivial. to/from storage resources. Data buffering [17] boosts the While the above solutions have been proven to be effective write-performance of an application by storing data into a fast at increasing the available ITS space, they work in isolation intermediate device (e.g., RAM) and, then, asynchronously which can lead to resource under-utilization, poor flexibility, flushing it to the underlying storage. Data aggregation [18] and inelastic configuration of ITS. In this study, we focus on gathers data from various sources into a temporary space (e.g., the intersection of multi-tiered storage and data compression. RAM) and collectively writes it to the underlying storage In such an environment, we make the following observations: system in an efficient manner. Data caching [19] boosts an a) Multi-tiered storage does not utilize data compression. application’s I/O performance by keeping frequently accessed Existing software places data in the tiers without applying data in a cache so that, when the same data is needed next time, compression, which leads to under-utilization of expensive it could be quickly retrieved. Data Prefetching [20] reads data resources (e.g., NVMe). At best, some solutions may naively into a temporary prefetching cache ahead of a read operation to apply the same compression across all tiers which leads to a mask the disk access latency. Data staging [21] pre-loads data missed optimization opportunity since each tier may benefit in a set of specialized staging resources before the application from different compression algorithms. If data compression starts to optimize data access. All these I/O optimizations was efficiently utilized, it would increase the overall capacity critically depend on the availability of the ITS space to of the tiers improving the effectiveness of I/O optimizations maximize their performance benefits. The community has (e.g., more buffered or cached data, more aggregation space, proposed two promising, but highly orthogonal, approaches etc.). b) Data compression is not tailored for multi-tiered to improve the capacity and utilization of the ITS. storage. Compression/decompression often benefits from bal- A. Multi-Tiered storage hierarchy ancing the time spent in compression with the achieved reduc- Latest supercomputer designs include new hardware tech- tion in I/O time. However, in multi-tiered environments, this nologies in an effort to mask the I/O gap between compute trade-off can be applied per-tier increasing the optimization nodes and the remote shared PFS. To handle the high data pro- opportunity of this technique. For the same overall time duction rate, compute nodes are now equipped with fast node- budget, one could apply heavier compression on RAM than local devices such as Non-Volatile Memories (NVM) [22] on NVMe SSD (as the medium is faster). For a given input, including Solid State Drives (SSDs), Phase-change Mem- this creates a matching of the performance characteristics of ory (PCM) [23], Resistive-RAM (ReRAM) [24], and High- different compression choices and the storage tiers. Bandwidth Memory (HBM) [25]. In addition, some system In this paper, we present HCompress, a new hierarchical designs include a flash-only shared burst buffer tier [26]. data compression engine for multi-tiered storage environments For example, National Energy Research Scientific Computing that maximizes the available ITS space while minimizing the Center (NERSC) Cori machine [27] uses CRAYs Datawarp overall time spent. It does so by using a multi-dimensional technology [28]. Trinity [29]

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us