contributed articles
THERE IS A major disconnect today in cloud datacenters
concerning the speed of innovation between
application/operating system (OS) and storage
infrastructures. Application/OS software is patched
with new/improved functionality every few weeks at
“cloud speed,” while storage devices are off-limits
for such sustained innovation during their hardware
life cycle of three to five years in datacenters. Since
the software inside the storage device is written by
storage vendors as proprietary firmware not open
for general application developers to modify, the
developers are stuck with a device whose functionality
and capabilities are frozen in time, even as many of
them are modifiable in software. A period of five years is
almost eternal in the cloud computing industry where
new features, platforms, and application program
interfaces (APIs) are evolving every couple of
months and application-demanded
requirements from the storage sys-
tem grow quickly over time. This
notable lag in the adaptability and
velocity of movement of the storage
infrastructure may ultimately affect
the ability to innovate throughout the
cloud world.
In this article, we advocate creating
a software-defined storage substrate of
solid-state drives (SSDs) that are as programmable, agile, and flexible as the
applications/OS accessing from servers in cloud datacenters. A fully programmable storage substrate promises opportunities to better bridge the
gap between application/OS needs and
storage capabilities/limitations, while
allowing application developers to innovate in-house at cloud speed.
The move toward software-defined
control for IO devices and co-proces-sors has played out before in the datacenter. Both GPUs and network interface cards (NICs) started as black-box
devices that provide acceleration for
CPU-intensive operations (such as
graphics and packet processing). Internally, they implemented acceleration features with a combination of
specialized hardware and proprietary
firmware. As customers demanded
greater flexibility, vendors slowly exposed programmability to the rest of
the system, unleashing the vast processing power available from GPUs
and a new level of agility in how systems can manage networks for enhanced functionality like more granular traffic management, security, and
Programmable
Solid-State
Storage in
Future Cloud
Datacenters
DOI: 10.1145/3286588
Programmable software-defined
solid-state drives can move computing
functions closer to storage.
BY JAEYOUNG DO, SUDIPTA SENGUPTA, AND STEVEN SWANSON
key insights
˽ A fully programmable storage substrate
in cloud datacenters opens up new
opportunities to innovate the storage
infrastructure at cloud speed.
˽ In-storage programming is becoming
increasingly easier with powerful
processing capabilities and highly flexible
development environments.
˽ New value propositions with the
programmable storage substrate can be
realized, such as customizing the storage
interface, moving compute close to data,
and performing secure computations.