Fungible, a developer of Data Processing Unit (DPU) chips for offloading east-west networking operations including storage array access from server X86 CPUs, is testing computational storage applications on the DPUs to accelerate database operations.
Computational storage moves compute to a storage array or drive to do the compute faster because data doesn’t to have be read from the drive or array and sent to a host CPU (or GPU) for processing.
The DPU microprocessor has many multi-threaded cores and hardware accelerators for compression, cryptography, and other functions. It comes in F1 and S1 variants and they feature networking, storage, security, virtualization, and analytics functionality, controlled by the FunOS software.
The F1 DPU is used as the controller processor in the FS1600 array. CPU and GPU hosts have a Fungible Data Services Platform front end, powered by the S1 DPU, in Fungible’s architecture. This is a standard full-height, half-length PCIe card.
Sources told us that Fungible is testing compute functionality on its DPU and B&F asked one close to Fungible about this. We were told that by “allowing the DPU to do the computations with the accelerators that we have built into the DPU, and by having it close to the storage itself, we get good results.
“Using a single thread on the DPU, comparing a MySQL query on an x86 server with the DPU-based storage cluster, we’ve seen a 75x improvement in query time. Another test, using regular expression matching, and comparing a software implementation versus a DPU-accelerated operation, we saw a 27x improvement in throughput.
“Both of these examples are with a single thread on the DPU – with more threads and more DPUs, the potential for massive improvement is very real. Our DPU has 192 threads to work with, but I doubt we would dedicate all of them. Keep in mind these are prototype tests, so its still early days, but I think it has a lot of promise”
Our source added: “I think what we are doing with it has wide ranging applications, especially in the database space. We have seen good testing results with TPC6 and TPC3 in the lab.”
TPC6 means the TCP/IP version 6 protocol is used to connect to an external host. TPC3 is another remote connection protocol.
Fungible’s notion of computational storage is in beta, and our source said: “I think it will take some time to bring it to market, but it shows a lot of promise. We have teased it at OpenInfra Berlin and PEARC.”
PEARC stands for Practice and Experience in Advanced Research Computing and runs conferences for the research computing community. The OpenInfra Foundation supports the development and adoption of open infrastructure globally, across a community of over 110,000 individuals in 187 countries, by hosting open-source projects and communities. It evolved from the OpenStack Foundation.