Enabling cost-effective data processing with smart SSD

This paper explores the benefits and limitations of in-storage processing on current Solid-State Disk (SSD) architectures. While disk-based in-storage processing has not been widely adopted, due to the characteristics of hard disks, modern SSDs provide high performance on concurrent random writes, and have powerful processors, memory, and multiple I/O channels to flash memory, enabling in-storage processing with almost no hardware changes. In addition, offloading I/O tasks allows a host system to fully utilize devices' internal parallelism without knowing the details of their hardware configurations. To leverage the enhanced data processing capabilities of modern SSDs, we introduce the Smart SSD model, which pairs in-device processing with a powerful host system capable of handling data-oriented tasks without modifying operating system code. By isolating the data traffic within the device, this model promises low energy consumption, high parallelism, low host memory footprint and better performance. To demonstrate these capabilities, we constructed a prototype implementing this model on a real SATA-based SSD. Our system uses an object-based protocol for low-level communication with the host, and extends the Hadoop MapReduce framework to support a Smart SSD. Our experiments show that total energy consumption is reduced by 50% due to the low-power processing inside a Smart SSD. Moreover, a system with a Smart SSD can outperform host-side processing by a factor of two or three by efficiently utilizing internal parallelism when applications have light trafic to the device DRAM under the current architecture.

[1]  Sang-Won Lee,et al.  Fast, Energy Efficient Scan inside Flash Memory , 2011, ADMS@VLDB.

[2]  Christos Faloutsos,et al.  Active Disks for Large-Scale Data Processing , 2001, Computer.

[3]  Hai Jin,et al.  Active Disks: Programming Model, Algorithms and Evaluation , 2002 .

[4]  Kenneth C. Smith,et al.  RAP: an associative processor for data base management , 1975, AFIPS '75.

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

[6]  Jens Teubner,et al.  Data Processing on FPGAs , 2013, Proc. VLDB Endow..

[7]  Peter Desnoyers,et al.  Active Flash: Out-of-core data analytics on flash storage , 2012, 012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST).

[8]  Amar Phanishayee,et al.  FAWN: a fast array of wimpy nodes , 2009, SOSP '09.

[9]  Frank Hady,et al.  When poll is better than interrupt , 2012, FAST.

[10]  Jens Teubner,et al.  FPGA: what's in it for a database? , 2009, SIGMOD Conference.

[11]  G. Jack Lipovski,et al.  CASSM: a cellular system for very large data bases , 1975, VLDB '75.

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

[13]  Kevin Skadron,et al.  Scalable parallel programming , 2008, 2008 IEEE Hot Chips 20 Symposium (HCS).

[14]  Ethan L. Miller,et al.  Object-based SCM: An efficient interface for Storage Class Memories , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).