Bug 762245 (GLUSTER-513) - Introduce 0 copy rdma
Summary: Introduce 0 copy rdma
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: GLUSTER-513
Product: GlusterFS
Classification: Community
Component: ib-verbs
Version: mainline
Hardware: All
OS: Linux
low
high
Target Milestone: ---
Assignee: Raghavendra G
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-12-30 19:46 UTC by Raghavendra G
Modified: 2015-12-01 16:45 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Regression: ---
Mount Type: ---
Documentation: DP
CRM:
Verified Versions:


Attachments (Terms of Use)

Description Raghavendra G 2009-12-30 19:46:22 UTC
ib-verbs as of now uses fixed number of send/recv buffers for transporting data using send/recv. This requires copying of data from/to send/recv buffers to/from buffers of translators invoking transport_submit. With introduction of 0-copy rdma we can have a hybrid approach where short messages are sent using send/recv and large buffers (in fops like read/write etc) can be sent using rdma. This also helps in scalability since it reduces dependence on a fixed number of buffers. For rdma, buffers are dynamically allocated. With existing implementation for a setup having thousands of clients, server side should have large number of buffers.

As a prerequisite to this, we need variable sized iobufs.

Comment 1 Amar Tumballi 2010-03-09 08:21:31 UTC
There are some disruptive changes to bring in this change in release-3.0. Its better to bring all the disruptive changes in next 3.1 release.

Raghu, finish this feature asap so it can go with alpha release of NFS xlator next week.. Let us know what you think.

Comment 2 Anand Avati 2010-08-23 04:23:50 UTC
PATCH: http://patches.gluster.com/patch/4250 in master (rpcsvc: allow creation of both rdma and socket for a single server transport.)

Comment 3 Anand Avati 2010-08-26 04:09:24 UTC
PATCH: http://patches.gluster.com/patch/4311 in master (rpcsvc: handle the return value of rpcsvc_create_listeners properly.)

Comment 4 Anand Avati 2010-08-26 11:31:20 UTC
PATCH: http://patches.gluster.com/patch/4322 in master (rpcsvc: fix double free happening when listener creation fails.)

Comment 5 Vijay Bellur 2010-08-30 10:54:15 UTC
PATCH: http://patches.gluster.com/patch/4395 in master (Bring in new transport rdma.)

Comment 6 Vijay Bellur 2010-08-30 10:54:20 UTC
PATCH: http://patches.gluster.com/patch/4396 in master (changes to client to make use of the rdma functionality.)

Comment 7 Vijay Bellur 2010-08-30 10:54:24 UTC
PATCH: http://patches.gluster.com/patch/4397 in master (Add rdma as valid transport type for client and server protocol.)

Comment 8 Vijay Bellur 2010-08-31 08:33:35 UTC
PATCH: http://patches.gluster.com/patch/4408 in master (rpc-transport/rdma: free ioq entry even when churning of message fails.)

Comment 9 Vijay Bellur 2010-08-31 08:33:39 UTC
PATCH: http://patches.gluster.com/patch/4409 in master (rpc-transport/rdma: By default, enable building of rdma only if libibverbs is installed.)

Comment 10 Vijay Bellur 2010-09-03 12:08:17 UTC
PATCH: http://patches.gluster.com/patch/4525 in master (rpc-transport/rdma: notify rpc when pollerr happens, so that client side can try to reconnect.)

Comment 11 Vijay Bellur 2010-09-08 06:36:20 UTC
PATCH: http://patches.gluster.com/patch/4646 in master (rpc-transport/rdma: change the default listening port to 6968.)

Comment 12 Vijay Bellur 2010-09-09 16:19:50 UTC
PATCH: http://patches.gluster.com/patch/4713 in master (rpc/rpcsvc: fix invalid free in rpcsvc_create_listeners.)

Comment 13 Vijay Bellur 2010-10-02 11:04:22 UTC
PATCH: http://patches.gluster.com/patch/5192 in master (rpc-transport/rdma: send disconnect event only if the transport is already connected.)

Comment 14 Vijay Bellur 2010-10-12 05:39:48 UTC
PATCH: http://patches.gluster.com/patch/5467 in master (rpc-transport/rdma: by default use infiniband port 1)

Comment 15 Anand Avati 2010-10-25 06:06:22 UTC
PATCH: http://patches.gluster.com/patch/5480 in master (rpc-transport/rdma: associate mem-pools with device instead of transport.)

Comment 16 Anand Avati 2010-11-08 01:15:11 UTC
PATCH: http://patches.gluster.com/patch/5637 in master (rpc-transport/rdma: Fix 2KB as threshold size for msgs that can be transferred inline.)

Comment 17 Amar Tumballi 2011-02-15 04:43:04 UTC
We should mention that RDMA complete support is available in 3.1.2 (upto 3.1.1 we had some issues).

If added, can mark it DA


Note You need to log in before you can comment on or make changes to this bug.