Skip to content
bgoglin edited this page Feb 14, 2012 · 89 revisions

Welcome to the CCI Status page we will track progress weekly here.

UDP LAN

Working capabilities: RMA (both read and write), RNR on the recever side, short messages, connection management.

Working on:

  • RNR: Implementation finished, just need to double check with Scott that everything is fine.

  • mss < SOCK_MIN_MSS When the MSS specified during the connection handshake is inferior to the minimum MSS associated to the socket, reject the socket.

Code checking:

  • clang: last ran on 02/01/2012 (UDP branch)

UDP WAN

GNI

Supports cci_connect/cci_accept and associated events. Supports cci_send and associated events. cci_send performance leaves much to be desired. Not sure where problem is... This week will center on fixing the(se) performance issue(s).

OFA Verbs

Updated 2012/01/14

  • Working:

  • Connect, accept, reject

  • Connect full MSG payload

  • MSGs: RO (RU will be ordered since IB is ordered)

  • RMA: Write and Read with/without completion MSG

  • Run through valgrind - all verbs leaks fixed (still 6KB in the ltdl code)

  • Tests: pingpong and stream

  • Reviewed with clang static analyzer

  • ToDo:

  • MSGs: UU provide immediate completion, handle cleanup after transmission

  • MSGS: UU further investigate using UD rather than RC QP

  • Missing: set_opt, get_opt

  • Replace rdma_getaddrinfo to avoid recent lib dependency (maybe)

  • Test fence

  • Many-to-one tests/overrun issues?

  • Handle spurious disconnects, etc.

Ethernet

Should have MSGs by end of Jan. RMA in Feb.

See the HowTo if you want to use it.

Update 2012/02/13

  • NEW MSG reliability. Not optimized (+350ns for RU vs UU). Pingpong with resends looks ok (fault injection). Needs stream testing.

  • Driver works with kernels >= 2.6.32

  • Reliable connect/accept/reject (acks for all these) with timeout, and nacks if closed in the meantime

  • Basic event-delivery through syscalls (list of events in the kernel)

  • UU MSG

  • Interfaces can be removed/modified by the kernel without breaking everything if endpoints use them

TODO

  • TODO MSG send flags
  • TODO Selective ack when very strange MSG order, with immediate resend on remote side
  • TODO Ordering for RO, for both delivery and completion
  • TODO Update to connect event changes once applied to master
  • TODO Clarify what to do with nacks for connect requests
  • TODO Basic disconnect that just closes everything, discuss the semantics about pending MSGs later
  • TODO Can we generate events from user-space without breaking future shared-memory mapped ring?
  • At least send and accept events are good candidates
  • TODO More checks in connect messages (and MSG): at least req_seqnum
  • TODO RMA
  • TODO Proper event-delivery through mmapped shared buffer to allow syscalls
Clone this wiki locally