[ewg] [PATCH] librdmacm: release notes
Hefty, Sean
sean.hefty at intel.com
Fri Jul 2 15:58:41 PDT 2010
Signed-off-by: Sean Hefty <sean.hefty at intel.com>
---
rdma_cm_release_notes.txt | 117 +++++++++++++++++++++++++++++----------------
1 files changed, 75 insertions(+), 42 deletions(-)
diff --git a/rdma_cm_release_notes.txt b/rdma_cm_release_notes.txt
index 977ebfa..07e4cab 100644
--- a/rdma_cm_release_notes.txt
+++ b/rdma_cm_release_notes.txt
@@ -1,7 +1,7 @@
Open Fabrics Enterprise Distribution (OFED)
RDMA CM in OFED 1.5 Release Notes
- December 2009
+ July 2010
===============================================================================
@@ -10,8 +10,6 @@ Table of Contents
1. Overview
2. New Features
3. Known Issues
-4. Fixed bugs since OFED 1.3
-5. Fixed bugs since OFED 1.4.2
===============================================================================
1. Overview
@@ -30,32 +28,80 @@ API for data transfers.
===============================================================================
2. New Features
===============================================================================
-for OFED 1.3:
-Added support for valgrind checks.
-
-Added quality of service support. Quality of service (QoS) is automatically
-enabled through the use of the kernel rdma_cm, if the local subnet is
-configured for QoS. Additionally, the librdmacm allows users to request
-a specific type of service to use when connecting through a new API.
-Support for QoS is fabric dependent, and usually configured by an
-administrator. Details of QoS are outside the scope of this document;
-additional information may be found in subnet management (SM) documentation.
-
-Added sanity checks and fixes for maximum outstanding RDMA operations in an
-effort to detect application errors earlier in the connection process.
-
-Various documentation updates.
-
-for OFED 1.2:
-The RDMA CM now supports connected, datagram, and multicast data transfers.
-
-When used over Infiniband, the RDMA CM will make use of a local path record
-cache, if it is enabled. On large fabrics, use of the local cache can greatly
-reduce connection time. Use of a cache is not necessary for iWarp.
-
-Man pages have been created to describe the various interfaces and test
-programs available. For a full list, users should refer to the rdma_cm.7 man
-page.
+for OFED 1.5.2:
+
+Several enhancements were added to librdmacm release 1.0.12 that
+are intended to simplify using RDMA devices and address scalability issues.
+These changes were in response to long standing requests to make
+connection establishment 'more like sockets'. For full details,
+users should refer to the appropriate man pages. Major changes include:
+
+* Support synchronous operation for library calls. Users can control
+ whether an rdma_cm_id operates asynchronously or synchronously based on
+ the rdma_event_channel parameter. Use of synchronous operations
+ reduces the amount of application code required to use the librdmacm
+ by eliminating the need for event processing code.
+
+ An rdma_cm_id will be marked for synchronous operation if the
+ rdma_event_channel parameter is NULL for rdma_create_id or
+ rdma_migrate_id. Users can toggle between synchronous and
+ asynchronous operation through the rdma_migrate_id call.
+
+ Calls that operate synchronously include rdma_resolve_addr,
+ rdma_resolve_route, rdma_connect, rdma_accept, and rdma_get_request.
+ Synchronous event data is returned to the user through the
+ rdma_cm_id.
+
+* The addition of a new API: rdma_getaddrinfo. This call is modeled
+ after getaddrinfo, but for RDMA devices and connections. It has the
+ following notable deviations from getaddrinfo:
+
+ A source address is returned as part of the call to allow the
+ user to allocate necessary local HW resources for connections.
+
+ Optional routing information may be returned to support
+ Infiniband fabrics. IB routing information includes necessary
+ path record data. rdma_getaddrinfo will obtain this information
+ if IB ACM support (see below) is enabled. The use of IB ACM
+ is not required for rdma_getaddrinfo.
+
+ rdma_getaddrinfo provides future extensions to support
+ more complex address and route resolution mechanisms, such as
+ multiple path support and failover.
+
+* Support for a new APIs: rdma_get_request, rdma_create_ep, and
+ rdma_destroy_ep. rdma_get_request simplifies the passive side
+ implementation by adding synchronous support for accepting new
+ connections. rdma_create_ep combines the functionality of
+ rdma_create_id, rdma_create_qp, rdma_resolve_addr, and rdma_resolve_route
+ in a single API that uses the output of rdma_getaddrinfo as its input.
+
+* Support for optional parameters. To simplify support for casual RDMA
+ developers and researchers, the librdmacm can allocate protection
+ domains, completion queues, and queue pairs on a user's behalf.
+ This simplifies the amount of information that a developer
+ must learn in order to use RDMA, plus allows the user to take
+ advantage of higher-level completion processing abstractions.
+
+ In addition to optional parameters, a user can also specify that the
+ librdmacm should automatically select usable values for RDMA read
+ operations.
+
+* Add support for IB ACM. IB ACM (InfiniBand Assistant for Communication
+ Management) defines a socket based protocol to an IB address and route
+ resolution service. One implementation of that service is provided
+ separately by the ibacm package, but anyone can implement the service
+ provided that they adhere to the IB ACM socket protocol. IB ACM is an
+ experimental service targeted at increasing the scalability of applications
+ running on a large cluster.
+
+ Use of IB ACM is not required and is controlled through the build option
+ '--with-ib_acm'. If the librdmacm fails to contact the IB ACM service, it
+ reverts to using kernel services to resolve address and routing data.
+
+* Add RDMA helper routines. The librdmacm provide a set of simpler verbs
+ calls for posting work requests, registering memory, and checking for
+ completions. These calls are wrappers around libibverbs routines.
===============================================================================
3. Known Issues
@@ -85,16 +131,3 @@ following:
configure the IP routing tables to route multicast traffic over an RDMA
device's IP address.
-
-===============================================================================
-4. Fixed bugs since OFED 1.3
-===============================================================================
-- The reject status fix has been inserted for DAPL.
-
-===============================================================================
-5. Fixed bugs since OFED 1.4.2
-===============================================================================
-- examples: print errno on failures
-- return errors from the library consistently
-- initialize correct pthread condition
-- fix race initializing library
More information about the ewg
mailing list