Skip to Main Content

Oracle DB, Persistent memory(Pmem), and RDMA.

User_LJZX5Nov 29 2022 — edited Nov 29 2022

I have a question about Oracle DB, Persistent memory(Pmem), and RDMA.
Do you have a plan to use new operations, which are flush and atomic write, of RDMA for remote Persistent memory in Oracle DB?
I heard Oracle DB 21c already supports persistent memory (filesystem-DAX), but current Optane Pmem and CXL 3.0 specification does not have mirroring feature. As a result, any software which uses persistent memory needs to copy its data to remote server to make redundancy.
Actually, Oracle Data Guard is required in Oracle DB to make the redundancy.
IIRC, Oracle Data Guard passes DB data to remote server via any transfer ways like Ethernet/TCP/IP, but its transfer speed is relatively slower than Pmem performance. I think it may be bottleneck.

I suppose that RDMA is desirable to make fast remote access as much as possible.It must help making redundancy of Persistent memory.
Actually, Yahoo Japan has good example, they are developing their storage engine whose name is LEO for mySQL with persistent memory, and they uses RDMA to make redundancy.
In addition, IBTA defines new RDMA operations to make more optimized data access for persistent memory.
flush: guarantee to make persistency for transferred data
atomic write: write 8 byte after flush completion. It is useful for transaction status update.
They will help making guarantee of persistency of remote data and update its transaction.

Since Oracle Exadata uses RoCE already, I guess Oracle already know these movement.
So, if Oracle DB has a plan to use these operation. please let me know.

To tell the truth, I'm a team leader of Fujitsu Linux kernel development team. My team are developing Filesystem-DAX and RDMA new operations on SoftRoCE. So, if Oracle DB uses it, it will become good solution for our Fujitsu Server and Linux business with Oracle DB.

If here is not suitable for my question, please tell me the better place.

Post Details
Added on Nov 29 2022