Design of an Intelligent Object-based Storage device

Intelligent storage systems were an active area of research in later half of last decade. The idea was to improve the throughput of data intensive applications from database and image processing domains by offloading computation onto the active storage elements and hopefully reducing unnecessary data traffic between data sources and compute nodes. With the advent of Object-based Storage Devices (OSD) we feel that the time is appropriate to have a relook at notion of intelligent storage. OSDs provide a higher level object abstraction that makes it easier to describe the computation to the devices. OSDs provide the right platform to ask several questions in the context of intelligent storage devices. This is a working document capturing our experience in desiging an intelligent OSD (iOSD) and using it to build scalable systems. In this preliminary document we describe the design goals for an intelligent OSD. We explain the implementation details of iOSD and challenges faced in integrating the offload engine into OSD ecosystem. We describe how offloaded computation is expressed, executed and managed in an storage system made up of iOSDs. Finally we quantify the performance and overhead of iOSD.

[1]  David J. DeWitt,et al.  A Performance Evaluation of Data Base Machine Architectures (Invited Paper) , 1981, VLDB.

[2]  Guido Rossum,et al.  Extending and embedding the python interpreter , 1995 .

[3]  David Wetherall,et al.  Towards an active network architecture , 1996, CCRV.

[4]  Chia-Hoang Lee,et al.  針對 Java Applets 的簽名系統 , 1997 .

[5]  David A. Patterson,et al.  A case for intelligent disks (IDISKs) , 1998, SGMD.

[6]  Seth Copen Goldstein,et al.  Active messages: a mechanism for integrating communication and computation , 1998, ISCA '98.

[7]  Christos Faloutsos,et al.  Active Storage for Large-Scale Data Mining and Multimedia , 1998, VLDB.

[8]  Joel H. Saltz,et al.  Active disks: programming model, algorithms and evaluation , 1998, ASPLOS VIII.

[9]  Margo I. Seltzer,et al.  Berkeley DB , 1999, USENIX Annual Technical Conference, FREENIX Track.

[10]  Willy Zwaenepoel,et al.  Flash: An efficient and portable Web server , 1999, USENIX Annual Technical Conference, General Track.

[11]  Rodney Van Meter,et al.  Network attached storage architecture , 2000, CACM.

[12]  Robert B. Ross,et al.  PVFS: A Parallel File System for Linux Clusters , 2000, Annual Linux Showcase & Conference.

[13]  P. Wyckoff,et al.  EMP: Zero-Copy OS-Bypass NIC-Driven Gigabit Ethernet Message Passing , 2001, ACM/IEEE SC 2001 Conference (SC'01).

[14]  David E. Culler,et al.  SEDA: an architecture for well-conditioned, scalable internet services , 2001, SOSP.

[15]  Andrea C. Arpaci-Dusseau,et al.  Evolving RPC for active storage , 2002, ASPLOS X.

[16]  Jim Gray Storage Bricks Have Arrived , 2002 .

[17]  A. L. Narasimha Reddy,et al.  Implementation and Evaluation of an Active Storage System Prototype , 2002 .

[18]  Andrea C. Arpaci-Dusseau,et al.  Semantically-Smart Disk Systems , 2003, FAST.

[19]  Lustre : A Scalable , High-Performance File System Cluster , 2003 .

[20]  GhemawatSanjay,et al.  The Google file system , 2003 .

[21]  Arif Merchant,et al.  FAB: building distributed enterprise disk arrays from commodity components , 2004, ASPLOS XI.

[22]  Tao Yang,et al.  The Panasas ActiveScale Storage Cluster - Delivering Scalable High Bandwidth Storage , 2004, Proceedings of the ACM/IEEE SC2004 Conference.

[23]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[24]  Mahadev Satyanarayanan,et al.  Diamond: A Storage Architecture for Early Discard in Interactive Search , 2004, FAST.

[25]  David J. Lilja,et al.  Communicating quality of service requirements to an object-based storage device , 2005, 22nd IEEE / 13th NASA Goddard Conference on Mass Storage Systems and Technologies (MSST'05).

[26]  Andrea C. Arpaci-Dusseau,et al.  IRON file systems , 2005, SOSP '05.

[27]  Winfried W. Wilcke,et al.  IBM Intelligent Bricks project - Petabytes and beyond , 2006, IBM J. Res. Dev..

[28]  Erez Zadok,et al.  Type-safe disks , 2006, OSDI '06.

[29]  Pete Wyckoff,et al.  Attribute Storage Design for Object-based Storage Devices , 2007, 24th IEEE Conference on Mass Storage Systems and Technologies (MSST 2007).

[30]  Pete Wyckoff,et al.  Integrating parallel file systems with object-based storage devices , 2007, Proceedings of the 2007 ACM/IEEE Conference on Supercomputing (SC '07).

[31]  Guido van Rossum,et al.  Python Programming Language , 2007, USENIX Annual Technical Conference.

[32]  P. Wyckoff,et al.  iSER Storage Target for Object-Based Storage Devices , 2007, Fourth International Workshop on Storage Network Architecture and Parallel I/Os (SNAPI 2007).

[33]  Pete Wyckoff,et al.  Non-Contiguous I/O Support for Object-Based Storage , 2008, 2008 International Conference on Parallel Processing - Workshops.

[34]  P. Wyckoff,et al.  Data Structure Consistency Using Atomic Operations in Storage Devices , 2008, 2008 Fifth IEEE International Workshop on Storage Network Architecture and Parallel I/Os.

[35]  Sudhanva Gurumurthi,et al.  Active storage revisited: the case for power and performance benefits for unstructured data processing applications , 2008, CF '08.

[36]  T. Fujita tgt: Framework for Storage Target Drivers , 2010 .