Subject: [rddp] RDDP TCP mapping - constituent parts and the baseline solution

From: "Mukund, Shridhar" <[email-masked]>
Date: Tue, 14 Jan 2003 18:41:38 -0800

Dear colleagues,

To analyze the problem on hand, I want to attempt to separate
the variables and suggest relative value that each component
brings to the party. In particular, recognize 80-20's.

P1. Steering: 
    The 2-tuple <PKey,Offset>. If the PKey corresponds to 
    tagged model than PKey=STag and Offset=byte offset. If the    
    PKey is for untagged model than PKey=Stream# and 
    Offset=MSN. Also message/byte-stream delimiters.

    At this stage, we make no segmentation-and-reassembly (SAR) 
    assumptions. If a DDP message is a Java stream of 2GB than
    so be it. ULP/RDMAP may choose to segment for reasons 
    other than transport.

P2. Integrity:
    *Optional* Payload Digest. 

P3. Synchronization:
    *Optional and variable* forward pointing marker.   
    Granted, backward pointing marker also achieves 
    synchronization, but forward pointer is better when the 
    inter-marker spacing is larger than the packet size.

P4a. SAR & Alignment:
    I intend to show later that the *only compelling* reason to
    SAR is alignment, be it for MPA or SCTP.

P4b. An alternative to P4 that addresses "THE QUEST".

Comments:

1. P1+P2+P3 is iSCSI. iSCSI has built-in DDP today! On a side
   note, due to my ignorance, I have for a long time been under
   the impression that RDMAC was adopting this baseline
   solution :-(

2. P1 is of course essential and along with P2, it addresses
   several of RDDP needs. We will look at latency-sensitive
   data center scenario in particular.

3. The primary reason behind P3 is to make re-assembly buffer
   *feasible* in the LFN case (10Gbps @300ms, 0.375 GB). With
   some simplifying assumptions, the buffer size is a fn. of:
       a. Number of PDUs in a window.(BWxDelay), PDU size.
       b. Conditional probability of packet loss and that
          the lost packet contains the header.
   a and b compensate for each other -> helps assumptions
   Once the header is received, data segments do not need to 
   be buffered if 
	a. Data integrity is turned off or
  	b. Alg. to compute out-of-order CRC is used.
   P3 is compelling for bulk data over LFN. It adds some
   value to latency sensitive aps.

4. P4a is nice and useful. Lets look at the roadblocks and 
   cost though ...

-Shridhar Mukund

_______________________________________________
rddp mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rddp