Graduate Seminar: Pratik Mishra

When

April 5, 2017    
1:10 pm - 2:00 pm

Where

3043 ECpE Building Addition
Coover Hall, Ames, Iowa, 50011

Event Type

Speaker: Pratik Mishra, ECpE Graduate Student

Advisor: Arun Somani

Title: Host Managed Contention Avoidance Storage Solutions for Big Data

Abstract: The performance gap between Compute and Storage is fairly considerable. With multi-core computing capabilities, CPUs have scaled with the proliferation of Big Data but storage still remains the bottleneck. The physical media characteristics are mostly blamed for  storage being slow, but this is partially true. The full potential of storage device cannot be harnessed till all layers of I/O hierarchy function efficiently. Despite advanced optimizations applied across various layers along the odyssey of data access, the I/O stack still remains volatile. The problems associated due to the inefficiencies in data management  get amplified in multi-tasking Big Data shared resource environments. The Linux OS (Host) block layer is the most critical part of the I/O hierarchy as it orchestrates the I/O requests from different applications to the underlying storage. The key to the performance of the block layer is the Block I/O scheduler, which is responsible for dividing the I/O bandwidth amongst the contending processes as well as determines the order and size of  requests sent to storage device driver. Irrespective of the data center storage architecture (SAN, NAS, DAS), the final interaction with the physical media is in blocks (sectors in HDD, page in SSD) and the functioning of the block I/O scheduler is highly critical for system performance. Unfortunately, despite it’s significance, the block layer, essentially the block I/O scheduler hasn’t evolved much to meet the needs of Big Data. We have designed and developed Contention Avoidance Storage solutions in the Linux block layer specifically to suit multi-tenant, multi-tasking shared Big Data Environments. Due to contention amongst different processes submitting I/O to a storage device and the working of the current I/O schedulers, the inherent sequentiality of MapReduce tasks is lost. This contention causes unwanted phenomenon such as interleaving, multiplexing thereby adversely affecting system performance (CPU wait times, etc.) and increasing latency in disk based (Hard Disk Drive HDDs) storage devices. In the first part, we propose a Block I/O scheduling scheme “BID: Bulk I/O Dispatch”, which tries to maintain the sequentiality in I/O access in order to provide performance isolation to each I/O submitting process. With recent developments in NVMe (Non-Volatile Memory) devices and supporting infrastructure, a hybrid approach of using heterogeneous tiers of storage together such as those having HDDs and SSDs (Solid State Drive) coupled with workload-aware tiering to balance cost, performance and capacity have become increasingly popular. In the second part, we propose a hybrid scheme, BID-Hybrid to exploit SSDs random performance to further avoiding contention at disk based storage (using BID). The existing literature, which defines randomness in I/O to be mere deviation of LBA (logical block addresses), which thereby causes unnecessary deportations to SSD in skewed workload characteristics. In our work, we define randomness for blocks based on profiling the processes and provide decision metrics based on anticipation and I/O size, in-order to define the correct candidate for tiering. Those blocks are offloaded to SSD which belong to a process causing interruptions and, therefore giving BID-Hybrid the dynamic adaptability based on changing I/O patterns. Through trace driven simulation based experiments with MapReduce benchmarks, we show effectiveness of BID which results in about 33% to 54% lesser time for all I/O requests than the currently available schedulers. This research would aid Data Centers to achieve their Service Level Agreements (SLAs) as well keeping Total-Cost of Ownership (TCO) low.

Loading...