iSER is a RDMA capable application (RCaP) that supports RDMA hardware, in order to run iSER one should have a Network Interface Card that supports RDMA (ConnectX4 for example).
For those who aren't familiar with RDMA hardware technology, Remote Direct Memory Access hardware enables data transfer between two servers or between server and a storage node with minimal involvement of CPUs across the data path. RDMA relies on that each host will export the exact place in memory (address and offset) he wants other host to place the required data. RDMA gives one the possibility to over-head the operating system in data transferring operations, by that reducing the latency and improving the general performances.
The new transport abstraction includes a new structure of function pointers for each of the transport options, in order to use one of the transport dependent functions one should
use iscsi->t->{name_of_the_function}.
Initial results versus tgt user-space iSCSI target shows excellent performances when running Flexible I/O benchmark with libaio engine:
IO Depth | IOPS |
1 | 13270 |
2 | 24907 |
4 | 49982 |
8 | 83195 |
16 | 113928 |
32 | 136641 |
64 | 151519 |
128 | 158232 |