SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


    [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

    Re: iSCSI: Flow Control



    
    > As was discussed earlier, TCP may need to buffer 16MB or more of
    > data in order to work at gigabit speeds and 100+ms of latency.  With
    > this much data being buffered in the initiator's transmit buffer,
    > how does this affect the initiator's ability to send task management
    > functions?  
    
    The transmit buffer, I think, is an artifact of current designs
    rather than a fundamental feature of TCP. TCP only requires a 
    retransmit buffer;  I don't think it needs a transmit buffer.
    
    A suggestion from Randy Haagens and some others: The initiator could
    treat the TCP connection as a link and schedule iSCSI PDUs on that
    link as room becomes available on the link.  If a task management
    command appears in the initiator queue, it could be scheduled first to
    go out on the link when there is room.
    
    To allow maximum availability of the link, the iSCSI PDUs sent should
    never exceed the capacity available, i.e. the remote window. This
    means, don't send 1 gigabyte data PDU into a 64k remote window.
    
    Then, the secret then is to keep the TCP stream smoothly flowing at
    the target. CmdRNs keeps the TCP connection from stalling due to
    excess commands. The ability to drop immediate data can be used
    to keep the connection flowing at the target.
    
    Because of the FIFO nature of TCP, of course, you'll have to wait on
    everything that was sent prior to the task management command
    to be received. This might take a while, esp. in the presence of
    retransmits. But I think it's a small price to pay for the 
    conceptual simplicity of the TCP virtual circuit.
    
    No doubt when we go to SCTP, there will be special modes where we
    can send task management commands out-of-band.
    
    -Costa
    


Home

Last updated: Tue Sep 04 01:06:48 2001
6315 messages in chronological order