[ewg] python-rdma v0.1 Release Announcement
Jason Gunthorpe
jgunthorpe at obsidianresearch.com
Tue Mar 15 11:02:03 PDT 2011
I am pleased to announce the initial release of `python-rdma` a
package to provide a Python API for the Linux RDMA stack. This initial
release is mainly focused on IB specific management APIs, but the
package also covers ibverbs.
A new API was developed for this library that is designed to take
advantage of Python features and provides a very uniform, integrated
design across all the different aspects of IB and RDMA programming. It
has a particular focus on ease of use and correct operation of the IB
and RDMA protocol stacks.
Included is a re-implementation of a substantial portion of the
`infinband-diags` package. This re-implementation is functionally very
similar to `infiniband-diags` but also gains a number of new features:
- Uniform end port addressing. All commands support GID, port GUID,
LID and DR path, even commands that are GMP based (like perfquery).
- Support for collecting information entirely from the SA via the
`--sa` option.
- Consistently fetches path records for GMP communication (eg in
perfquery) to support topologies with special requirements.
- Extensive MAD parallelization provides very good performance.
- All commands support a discovery cache file, which stores
information in an efficient binary format.
- Much better debugging, including packet tracing down to full field decode.
- Minor new features to many tools, review section 8 of the manual for
details.
The library itself is intended mainly for applications where quick
development is more important that the highest performance, such as:
- IB manamagent software development
- RDMA test development
- Training and problem exploration
Although already quite complete there are a few obvious areas that I
hope to have finished in the future:
- Integration of IB and RDMA CMs
- Support for RMPP when using verbs to issue GMPs - this will enable
all diags to function in `--sa` mode without access to /dev/umad.
- Completion of missing `infinband-diags` commands
It is my hope this work will be of use to the wider InfiniBand community.
Extensive prebuilt documentation for the module can be reviewed online
<http://www.obsidianresearch.com/python-rdma/doc/index.html>, and the
source code is available on GitHub <http://github.com/jgunthorpe/python-rdma>.
I'm planning to give a short presentation on this library at the
forthcoming Monterey workshop, see you all there!
Jason
More information about the ewg
mailing list