Oasis: An Active Storage Framework for Object Storage Platform

Similar documents
EC-Bench: Benchmarking Onload and Offload Erasure Coders on Modern Hardware Architectures

Securing the Frisbee Multicast Disk Loader

Delegated Access for Hadoop Clusters in the Cloud

SR-IOV Support for Virtualization on InfiniBand Clusters: Early Experience

MATE-EC2: A Middleware for Processing Data with Amazon Web Services

Toward Energy-efficient and Fault-tolerant Consistent Hashing based Data Store. Wei Xie TTU CS Department Seminar, 3/7/2017

The Fusion Distributed File System

Accelerating Restore and Garbage Collection in Deduplication-based Backup Systems via Exploiting Historical Information

Was ist dran an einer spezialisierten Data Warehousing platform?

Broadcom Adapters for Dell PowerEdge 12G Servers

Reducing The De-linearization of Data Placement to Improve Deduplication Performance

A DEDUPLICATION-INSPIRED FAST DELTA COMPRESSION APPROACH W EN XIA, HONG JIANG, DA N FENG, LEI T I A N, M I N FU, YUKUN Z HOU

Managing Array of SSDs When the Storage Device is No Longer the Performance Bottleneck

Optimizing Out-of-Core Nearest Neighbor Problems on Multi-GPU Systems Using NVLink

Milestone Solution Partner IT Infrastructure Components Certification Report

Software-defined Storage: Fast, Safe and Efficient

CRFS: A Lightweight User-Level Filesystem for Generic Checkpoint/Restart

Diffusing Your Mobile Apps: Extending In-Network Function Virtualisation to Mobile Function Offloading

Comparing Performance of Solid State Devices and Mechanical Disks

Fast packet processing in the cloud. Dániel Géhberger Ericsson Research

PageVault: Securing Off-Chip Memory Using Page-Based Authen?ca?on. Blaise-Pascal Tine Sudhakar Yalamanchili

Functional Partitioning to Optimize End-to-End Performance on Many-core Architectures

Parallelizing Inline Data Reduction Operations for Primary Storage Systems

Lenovo RAID Introduction Reference Information

CloudSky: A Controllable Data Self-Destruction System for Untrusted Cloud Storage Networks

What s New in VMware vsphere 4.1 Performance. VMware vsphere 4.1

Building a High IOPS Flash Array: A Software-Defined Approach

MOHA: Many-Task Computing Framework on Hadoop

GPU ACCELERATED DATABASE MANAGEMENT SYSTEMS

LOAD BALANCING AND DEDUPLICATION

HTRC Data API Performance Study

Deploy a High-Performance Database Solution: Cisco UCS B420 M4 Blade Server with Fusion iomemory PX600 Using Oracle Database 12c

EMC DATA DOMAIN PRODUCT OvERvIEW

Reducing CPU and network overhead for small I/O requests in network storage protocols over raw Ethernet

Assignment 5. Georgia Koloniari

Giza: Erasure Coding Objects across Global Data Centers

Tales from cloud nine. Mihai Chiriac, BitDefender

InfiniBand Networked Flash Storage

SSD-based Information Retrieval Systems

Designing Optimized MPI Broadcast and Allreduce for Many Integrated Core (MIC) InfiniBand Clusters

On Data Parallelism of Erasure Coding in Distributed Storage Systems

Presented by: Nafiseh Mahmoudi Spring 2017

Virtual WAN Optimization Controllers

MultiLanes: Providing Virtualized Storage for OS-level Virtualization on Many Cores

Contents Overview of the Compression Server White Paper... 5 Business Problem... 7

Active Disks - Remote Execution

Advanced RDMA-based Admission Control for Modern Data-Centers

How to abstract hardware acceleration device in cloud environment. Maciej Grochowski Intel DCG Ireland

HPC Considerations for Scalable Multidiscipline CAE Applications on Conventional Linux Platforms. Author: Correspondence: ABSTRACT:

SSD-based Information Retrieval Systems

Overview of the Storage Systems Research Center Darrell Long & Ethan Miller Jack Baskin School of Engineering

Big and Fast. Anti-Caching in OLTP Systems. Justin DeBrabant

The Oracle Database Appliance I/O and Performance Architecture

Efficient Load Balancing and Disk Failure Avoidance Approach Using Restful Web Services

SEDA: An Architecture for Well-Conditioned, Scalable Internet Services

SMig: A Stream Migration Extension For HTTP/2

Andreas Dilger. Principal Lustre Engineer. High Performance Data Division

HP S1500 SSL Appliance. Product overview. Key features. Data sheet

Archive Solutions at the Center for High Performance Computing by Sam Liston (University of Utah)

RAIDIX Data Storage Solution. Clustered Data Storage Based on the RAIDIX Software and GPFS File System

RBF: A New Storage Structure for Space- Efficient Queries for Multidimensional Metadata in OSS

An Introduction to Big Data Formats

Single-Points of Performance

IBM B2B INTEGRATOR BENCHMARKING IN THE SOFTLAYER ENVIRONMENT

Fast Snippet Generation. Hybrid System

Strata: A Cross Media File System. Youngjin Kwon, Henrique Fingler, Tyler Hunt, Simon Peter, Emmett Witchel, Thomas Anderson

EaSync: A Transparent File Synchronization Service across Multiple Machines

Aerie: Flexible File-System Interfaces to Storage-Class Memory [Eurosys 2014] Operating System Design Yongju Song

Microsoft SQL Server 2014 on vsan 6.2 All-Flash December 15, 2017

XPU A Programmable FPGA Accelerator for Diverse Workloads

Towards Performance and Scalability Analysis of Distributed Memory Programs on Large-Scale Clusters

A Network-aware Scheduler in Data-parallel Clusters for High Performance

Milestone Solution Partner IT Infrastructure Components Certification Report

DELL EMC DATA DOMAIN SISL SCALING ARCHITECTURE

Accelerating Hadoop Applications with the MapR Distribution Using Flash Storage and High-Speed Ethernet

Technical factsheet Cloud Backup

NVMe over Universal RDMA Fabrics

Track Join. Distributed Joins with Minimal Network Traffic. Orestis Polychroniou! Rajkumar Sen! Kenneth A. Ross

The Power of Prediction: Cloud Bandwidth and Cost Reduction

Condusiv s V-locity VM Accelerates Exchange 2010 over 60% on Virtual Machines without Additional Hardware

An Experimental Study of Rapidly Alternating Bottleneck in n-tier Applications

ARISTA: Improving Application Performance While Reducing Complexity

A Rational software Whitepaper 05/25/03. IBM Rational Rapid Developer Scalability and Performance Benchmark

An Oracle White Paper February Optimizing Storage for Oracle PeopleSoft Applications

Microsoft SQL Server 2014 on VMware vsan 6.2 All-Flash October 31, 2017

Research in Middleware Systems For In-Situ Data Analytics and Instrument Data Analysis

General Purpose GPU Programming. Advanced Operating Systems Tutorial 9

SEER: LEVERAGING BIG DATA TO NAVIGATE THE COMPLEXITY OF PERFORMANCE DEBUGGING IN CLOUD MICROSERVICES

The Google File System

Baoping Wang School of software, Nanyang Normal University, Nanyang , Henan, China

AN 831: Intel FPGA SDK for OpenCL

LEEN: Locality/Fairness- Aware Key Partitioning for MapReduce in the Cloud

Enabling Cost-effective Data Processing with Smart SSD

An Architectural Approach to Improving the Availability of Parity-Based RAID Systems

Store, Forget & Check: Using Algebraic Signatures to Check Remotely Administered Storage

DDN. DDN Updates. Data DirectNeworks Japan, Inc Shuichi Ihara. DDN Storage 2017 DDN Storage

PROFILING BASED REDUCE MEMORY PROVISIONING FOR IMPROVING THE PERFORMANCE IN HADOOP

Accelerating Ceph with Flash and High Speed Networks

Abstract. The Challenges. ESG Lab Review InterSystems IRIS Data Platform: A Unified, Efficient Data Platform for Fast Business Insight

Parity Logging with Reserved Space: Towards Efficient Updates and Recovery in Erasure-coded Clustered Storage

Transcription:

Oasis: An Active Storage Framework for Object Storage Platform Yulai Xie 1, Dan Feng 1, Darrell D. E. Long 2, Yan Li 2 1 School of Computer, Huazhong University of Science and Technology Wuhan National Laboratory for Optoelectronics 2 University of California, Santa Cruz

Outline Background and Motivation Oasis Design and Implementation Evaluation Conclusions and Future Work

Background and Motivation Existing problem: Data center and clouds are networked architecture that is constructed via interconnecting a large number of servers, it s critical to avoid network bottleneck on the interconnect incurred by big data transfer so as to provide real-time service to users. Solutions: Active storage: offloading computation from host to storage device to reduce bandwidth requirement

Background and Motivation Faced Challenges Transparent and multi-granularity processing Security Resource contention An example: offload erasure coding to storage device How to automatically execute encoding and apply it on a vast amount of data? How to ensure the encoding authorized by the legal user? How to dynamically apply encoding on the client and storage device according to the workload status?

Our proposal and contributions Propose Oasis, An active storage framework for object storage platform that leverages the OSD s processing power to run data intensive applications Frees users from needing to remember the details of offloaded computation and use signature scheme and access control to ensure the security of execution. Monitor system resources and partition application computations between host and OSD dynamically Extensive experiments evaluate the performance, scalability and implementation overhead of Oasis on three typical real-world applications: database selection, blowfish decryption and edge detection.

Oasis Architecture Overview Object Command Handler Get and analyze OSD command Object Filesystem Manage various objects Association Check check whether any function objects are associated with an OSD object Function Scheduler schedule function object to execute Function Object Used to hold the offloaded application function (e.g., compression encryption encoding, etc) A piece of code that can be executed in OSD to perform operations on certain user objects

How we use this system? --------Example 1: Decryption If a user want to read an encrypted file from an OSD, what should he do? Create a function object that represent Decryption application in the OSD Associate this function object with an OSD object Send a READ command to the OSD object Then the associated function object that represents decryption will be scheduled to execute.

How we use this system? --------Example 2: Encoding If a user want to write a file into OSDs and then encode it using erasure coding technology, what should he do? Create a function object that represent erasure coding algorithm in the OSD Associate this function object with the OSD object (or file) to write Write the OSD object using a CREATE AND WRITE command Then the associated function object that represent erasure coding algorithm will be scheduled to execute. (e.g., the OSD object will be first splitted into multiple data chunks and encoded into parity chunks, then these chunks can be distributed into different OSDs)

File Data Chunks Client MDS Segment OSD OSD OSD OSD

Critical characteristics for practical use: -- Transparent and Multi-granularity processing Associate a function object with an OSD object The function object will be invoked to execute during the read or write process. We can flexibly apply different application function to different kinds of files. Support different processing granularity. Data OSD object Attribute Function object ID Function object

An association example

Critical characteristics for practical use: -- Flexible and efficient management We use a separate partition to store function object We use OSD commands that manage OSD objects to manage function objects by specifying the partition ID that holds the function objects. Download a function object to the storage device. ------ CREATE AND WRITE command Remove a function object from the storage device. ------ REMOVE command Conveniently view which function objects are there in the storage device. ------ LIST command A user can know which function objects are associated with an OSD object. ------ GET ATTRIBUTES command

Critical characteristics for practical use: -- Security consideration Function object should be developed by vendors The vendor has professional knowledge and tools to write and validate code. Administrator controls what function objects can run on the OSDs, and can allow a signed function object by installing the vendor or user s certificates. We add a permission bit called FUN_EXE into the capability to prevent unauthorized access Two users may both have authority to set the attributes of an OSD object, but only the user that downloaded function object into OSD can invoke the function object to execute.

Critical characteristics for practical use: -- Adaptive Computation Partition Partition the application computation workload according to the CPU and network status Cpu2<LOW? N N N Cpu2>HIGH? Cpu2>cpu1 && not congested OSD CPU utilization partition Y Y Y OSD Cpu2 approaches HIGH && congested? N Client Y OSD

Evaluation Experimental setup A host and 1, 2 or 4 OSDs, are connected via 1Gbps Ethernet. All machines run Redhat 2.4.20 to emulate the restricted execution environment of OSD. Oasis is developed based on Intel OSD reference implementation (REFv20). Workload Application size of dataset % of data filtering Database Selection Edge Detection Blowfish Decryption 1.77GB (33 million line records) 584MB(10000 images) 800MB(100 million line records) 87.4% 96.7% 0

Performance improvement TS: Traditional Storage (run application in client) AS: Active Storage (run application in OSD)

Scalability The performance of AS and TS are both consistent with the increase in the OSDs. TS and AS are comparable in the Blowfish Decryption as no data reduction exists in this application.

Impact of language of function objects A large number of I/O operations are required for the Edge Detection algorithm to generate the output image. Edge Detection algorithm implementation using the Java language is significantly slower than the implementation using the C language. Even such performance degradation with the Java implementation may compromise the benefits of data reduction in the Edge Detection application achieved by the active storage technology. Execution time (sec) 800 700 600 500 400 300 200 100 0 Database Selection TS AS(C) AS(Java) Edge Detection Blowfish Decryption I/O intensive application would incur a performance bottleneck with Java implementation.

Impact of multiple function objects TS AS(one) AS(two) For a hybrid application that is composed of multiple applications, only applications that can make data reduction across the I/O interconnect can really benefit system performance. Execution time (sec) 450 400 350 300 250 200 150 100 50 0 1 2 4 Number of OSDs AS(one): first decryption on OSD, then selection on host AS(two): process both decryption and selection applications on OSDs

Performance with Adaptive Computation Partition TS: AS: Traditional Storage Active Storage AAS: Adaptive Active Storage AAS has better performance than TS and AS.

Implementation overhead During every Read or Write, the system has to check whether there exists any function object associated with the OSD object that is being read or written. The overhead is small, 1.2%-5.9% for read and 0.6%-9.9% for write.

Integrating Oasis with Seagate Kinetic Object Storage Platform

Conclusions and Future work Oasis: an active storage framework for object storage platform Four kinds of critical characteristics in terms of user case 1) Transparent and multiple granularity processing, 2) flexible management, 3) preliminary security, 4) adaptive computation partition System demonstration on three real world applications in terms of performance, scalability, language, etc. Future work Concurrent execution of multiple function objects by employing sandbox technology Evaluation on big data center and cloud storage

Thanks!