Overview of Exadata Reverse Offloading

Reverse offloading is one the least know feature of Exadata machine and once I described it to you, you will understand why. Remember one of the best feature of Exadata Machine is Offloading, where Exadata offload work to storage nodes. And we all worked very hard to make sure that offloading is enable and happening in our Exadata machine. But now things are different in term of CPU cores, Exadata Database servers comes with heavy cores. Each Exadata Storage Server has two 10- core x86 processors that are used to offload database processing. X6-2 database server has a substantial amount of compute capacity with two 22-core x86 processors (44 cores in total).

What if you offload to much work to storage servers and storage cell CPU’s are saturated?  Now you have Database server CPU’s sitting idle waiting for storage nodes to complete their work. To aviod this situation Oracle introduced reverse offloading feature, reverse offload feature enables a storage cell to push some offloaded work back to the database node when the storage cell’s CPU is saturated.

Reverse offloading to database servers provides uniform performance and make sure process are not waiting at storage nodes for CPU’s while database nodes are sitting idle. Different queries running at the same time need different rates of reverse offload to perform optimally with regard to elapsed time. Even the same query running in different instances may need different rates of reverse offload. With latest release, Oracle has made number of heuristic improvements for elapsed time improvement of up to 15% for multiple database instances and different queries running in parallel. Minimum software required: BP11