Is Anyone Making a Data Processing Unit (DPU)?

8 points by xiaodai 5 years ago

For computer games we have the Graphics Processing Unit (GPU) which is great for doing lots of tasks in parallel, and now GPU has found uses in machine learning and bit-coin mining. Google has developed the Tensor Processing Unit (TPU) for neural network type computations.

Is anyone developing a Data Processsing Unit (DPU) designed for data manipulation tasks such as group-by, joins, and sorting? There's some effort to code GPU to do some data processing, but I feel like data manipulation is specialised enough to warrant its own hardware. There is definitely a market for it.

CyberFonic 5 years ago

TerraData used to have something along the lines that you describe for DB2.

The major bottleneck with databases is the storage media, i.e. disk drive arrays. Since these are always orders of magnitude slower than CPU bound operations, databases would only minimally, if at all, benefit from a DPU.

Even if you consider memory-resident only databases, once you go beyond cache memory access times become a big concern. Naturally still faster than disk, but compared to cache access times still a significant issue.

It might be possible to program FPGAs for some of the most critical operations. However, the CPU to FPGA interconnect could then become a problem.