MPP 2018 Keynote
Vladimir Castro Alves, Jae Young Do · 2018
Programmable components are increasingly becoming the building blocks in today's webscale data centers. Software-defined control and management is a powerful trend that is already altering the data center infrastructure such as in software-defined networking or programmable GPGPUs and FPGAs leveraged by new generations of applications like deep learning. Currently the lack of such programmability in storage devices results in a disconnect in terms of innovation between applications, OS and storage infrastructure. Meanwhile, the advent of highperformance, high-capacity flash storage has changed the dynamics of the storage-compute relationship. Today, a handful of NVMe flash devices can easily saturate the PCIe bus complex of most servers. To address this mismatch, a new paradigm is required that moves computing capabilities closer to the data. This concept, known as computational storage, provides significant in-situ compute capabilities, reducing the computing demands on servers. This talk will introduce In-Situ Processing a technology that bring computing resources to the storage device while providing a seamless programming model to create smart SSDs. For applications manipulating large data sets and when parallelism can be extracted, In-Situ Processing offers scalability, higher performance and lower power consumption. Because computation capabilities scale linearly as storage is added into compute nodes, In-Situ Processing can enable new classes of applications for enterprises and cloud service providers. As a real use case, we will present our efforts of exploiting the use of smart SSDs for Approximate Nearest neighbor (ANN) search, where smart SSDs are leveraged to do fast, scalable searching of nearest neighbors for large image dataset. We will discuss how such approach affects system performance, energy efficiency and cost.