Thursday, September 19, 2013

About Oracle IPC,busy waiting, RDS and RDMA

The following are my inferences from the presentation of Oracle's Sumanta Chatterjee & Richard Frank. It is mostly about the RDS protocol used by Oracle for event based messaging and cluster intercommunication.  In this presentation, they talk about exciting concept used by Oracle internally, like busy waiting, rds,rdma, rda model and etc.. There are good quotes ..
You can watch the presentation video from this link-> Exadata and the EDC


  • Oracle IPC Interface multiple different  Udp -> RDS -> RC and XRC 
  • RDS is a event based message system.
  • All of Oracle's communication based on messages. Even in Exadata..
  • The advantage of RDMA is bypassing the kernel and silently reaching the memory of Remote System, reading data out of it, pushing data into it.
  • In RDMA you can read data, or push data without any interaction with remote process. 
  • Delivering the messages -- bypassing the kernel, not generating those interrupts, using RDMA directly place them into memory..
  • Traditionally (without RDMA), jump into the kernel, send a message over the wire, take interrupt, push it into a socket, wake a process up, read the socket.
  • Oracle is a timesharing environment..
  • If you release the CPU, you dont know when you will get it back.. Context Switches and etc.. So we must not to release the CPU. Busy wait while you are waiting for a response.
  • Acceptable Busy wait less than 5 microseconds...
  • So we should wait busy and do the IO in less than 5 microsecond.. 
  • For busy waiting -> MPI style busy wait as opposed to event based messaging-> stalls the hardware executions, spins on cpu in user mode with for example Intel's pause instruction..
  • RDMA can be used beyond messaging.. 
  • Remote Memory Access Model -> RDMA -> Changes everything ->  Remote host can update local memory while remote reader is reading it -> Local Host can read data while remote host is updating it.
  • PGAS(Partition Global Access Space)-> All nodes can access shmem on all other nodes.
  • RMA provides -> Access data on different nodes, getting the picture of the data,  sending an update of the data..


No comments :

Post a Comment