Tuesday October 11, 2005
Ted H. Kim's WeblogMusings of a Random Dude It's long overdue for me to talk about RNICPI (pronounced ARE-NICK-PIE). So let's start from the begining. RNICPI is a working group in ICSC (Interconnect Software Consortium) in OpenGroup. People know OpenGroup mostly for UNIX related standards. OpenGroup also hosts consortium activity to do other standards work. ICSC was formed to deal with software standards arising out of InfiniBand. But the charter includes fast interconnect software standards in general and is not restricted to just InfiniBand. RNICPI (RDMA-Capable NIC Programming Interface) is a working group under the ICSC. I am currently the co-chair of this group. Essentially, RNICPI was tasked with writing a standard verb level programming interface for RDMA transports. RNICPI 1.0 was released on 21 September 2005. RNICPI is designed to work with both InfiniBand and iWARP, but tries to be as independent of the specific differences of the transports as much as possible. In principle, other future RDMA transports could be added later to RNICPI without disturbing the existing transports. Further, RNICPI is also aiming at being OS-independent and hardware vendor independent. And RNICPI covers both kernel level and user level (typically OS bypass) programming interfaces. The value of having such a standard means that the same RDMA software stack can exist in multiple OSes, using different transports or different adapters for any particular transport. At the OS/IHV interface, the same interface can be used through out the industry. At least that is the vision. Just so you get some idea of the participation in RNICPI, we had IBM, HP, Sun and 7 other companies (primarily iWARP IHVs) involved in RNICPI. Now, what is the reality? Well, RNICPI is primarily applicable to non-Microsoft OSes. Microsoft typically retains control of their APIs, so they will probably have their own API. At least Sun and HP officially endorse RNICPI 1.0 as per the presentation at the RAIT 2005 conference. Here at Sun, Solaris uses RNICPI 1.0 as the interface to IHV code for iWARP implementations. We developed a stable InfiniBand interface years ago and probably won't change that anytime soon. On the other hand, RNICPI does give us an option to use for InfiniBand in the future. In the Linux world, the picture is not clear. First of all, the Linux community has its own independent process to decide what they are going to use. Second, sometime after we started the RNICPI effort, OpenIB announced that they would try to extend their OpenIB InfiniBand programming interfaces to cover iWARP. OpenRDMA is another Linux oriented community which has declared that they will use RNICPI. So it would seem two different groups are potentially trying to be the standard Linux iWARP framework. In my own personal opinion, RNICPI is the superior technical approach. But OpenIB has already been accepted into the Linux kernel, so their follow-on work is likely to get in much easier than OpenRDMA. The two groups have talked. There has been some talk about convergence using the best features of both. But for now the outcome is still not clear in the Linux world. Technorati Tags: iWARP (2005-10-11 14:14:25.0) Permalink Comments:
Post a Comment: Comments are closed for this entry. |
Calendar
RSS Feeds
All /Boardgames /Books /General /InfiniBand /IO /iWARP SearchLinksNavigation |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||