3. More about RDMA
Memory semantics vs. Channel semantics
One-sided: READ/WRITE
Two-sided: SEND/RECV
Queue pair
Send/Receive queue
Completion queue
Transport types
Reliable Connection (RC)
Unreliable Connection (UC)
Unreliable Datagrams (UD)
4. Asymmetric system model
Server is the bottleneck
Not at maximum performance possible
Current state-of-the-art
Aim for low CPU use (Pilaf)
Use RDMA reads as a building block (Pilaf, FaRM)
Channel verbs are thought to be slower
What’s NOT the goal
Fault-tolerance
5. Approach
Scalable (~200) and consistency
Build on MICA (NSDI ‘14, to be presented)
High-performance
Be critical about conventional thoughts
READ-based?
Identify the bottleneck and workaround
Comprehensive experiments
CPU-interrupts
RTT
13. Limitations
Processes pinned to cores
Asymmetric system model
Lack of generality
More like an engineering effort?
14. Conclusions
Some design principles
Experiment and analyze
Bypass the bottleneck
Optimize for the common case
Challenge the convention thoughts
Holistic architectural design of single data-center
Distributed storage, CPUs, I/O path
May be good to take CIS 501!
15. Future work
“There is no best design. Name your goals. ”
Recipes for various combinations of goals
Examine bottlenecks