Many technology inflection points are temporary in nature. They occur because one technology leapfrogs another related technology in capabilities. This has happened several times over the past twenty years; examples include the emergence of 10 gigabyte Ethernet (GbE), massive increases in hard disk drive capacity during the 1990s, and the introduction of hypervisors in the early 2000s. All of these changes resulted in disruption of the ecosystems around these devices, but other technologies eventually caught up with the disruptive technology. Other changes have been more permanent in nature; general purpose graphical processing units (GPGPUs) and flash storage are but two such changes.
Like the use of GPGPUs for scientific processing in the HPC environment, the emergence of computational storage is due to what is likely a long-term gap – the gap between the capacity and bandwidth internal to SSDs, and the bandwidth of the PCIe bus that connects SSDs to servers. As we pointed out in our previous blog, even though the PCIe bus will double in speed roughly every 3-4 years, the same is true of the CFI bus that is internal to SSDs. Moreover, the capacity of SSDs will grow even faster than that, as multi-bit encoding, shrinking die features, and multi-die packaging technologies push flash chip density even higher. Even changes in system architecture won’t solve this issue – the interface into the CPU itself is bound by the maximum width of the PCIe bus entering the CPU complex.
As this gap continues to grow, we can expect that the rest of the IT ecosystem will adjust itself to this new dynamic. As with the emergence of GPGPUs, we will start to see applications begin to be ported to computational storage devices. Not all applications will be ported; most likely they will be storage-intensive applications that are also highly parallel in nature (this differs from GPGPU applications, which generally are compute-intensive). Examples of these applications include petabyte-scale parallel search applications (vector similarity search; image, audio, and signal recognition applications), real-time analytics, and the storage of large data sets with changing indexing schemes. For these applications, computational storage promises significant application acceleration, while reducing the cost and the footprint of these solutions.