Recently there has been a lot of interest or hope that Graphics processing units or GPUs would be able to transparently accelerate database workloads. So, I thought it was worth investigating what Oracle is up to regarding getting transparent performance gains from both CPUs and GPUs, as the Oracle Database has a long history of adopting new technologies as they become available.
Let’s start with GPUs.
It is important to understand the basic architectural benefits and tradeoffs of GPUs in order to determine whether they will provide value for database workloads.
GPUs are dedicated highly parallel hardware accelerators that sit on the PCI bus. The huge number of parallel computation engines provided by these devices accelerate tasks that require large numbers of computations on small amounts of data. For example, GPUs are extremely effective for Blockchain applications because these require billions of computations on a few megabytes of data. GPUs are also good for deep learning algorithms since these perform repeated computational loops on megabytes to gigabytes of data and of course GPUs are great for graphics because three-dimensional imaging requires millions of computations on every image. The workload patterns here are all the same – lots of computation on modest amounts of data.
So, can GPUs improve database workloads?