SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: ISCSI: Why the use of the Urgent Pointer



    
    
    
    Matt Wakeley Wrote:-
    
    >It sounds to me that you think my "TOE" requires the urgent pointer.  My "TOE",
    >just like all other "TOE"s, does not require framing.
    
    >It is the "iSCSI" engine sitting on top of the "TOE" that requires the framing.
    >This is because in the storage world, received data is placed into
    pre-allocated
    >buffers that were supplied specifically for the I/O. iSCSI needs the framing in
    >order to place the data where it belongs when it comes off the link, thus
    avoiding
    >buffering and copying.
    
    I understand that the TOE function does not require the framing function but
    your iSCSI needs the
    framing function BECAUSE your TOE does not have much memory to buffer up streams
    when
    data is lost. (The reason for having framing is to reduce memory requirements on
    the TOE).
    
    Thus some other application - non iSCSI - using the TOE is using a TOE without
    much memory.
    That application has no explicit framing information - hence if its TCP
    connection loses a segment
    the application cannot process succeeding segments until the missing one is
    found. All the data between
    the missing segment and the end of the window, or until the resend happens
    should ideally be buffered.
    Your TOE with very little memory on board, cannot buffer much - so follow on
    segments  might be thrown away.
    This is because you have designed a TOE function with small amount of memory to
    service an
    application like iSCSI which can use out of order TCP segments. Most
    applications cannot.
    
    Thus I think the TOE designed like you suggest is not a general purpose TOE
    function and may not be
    suitable for efficient movement of data on networks where there is some loss and
    apps with big windows
     which rely on in sequence delivery. One lost segment would result in many lost
    segments.
    
    
    On another point
    You present  your arguments based on having 1Gps connection dedicated to an
    iSCSI session over
    one TCP connection (effectively). This implies a large window and if one segment
    is lost then a large buffer
    on the TOE adapter may be required. To use gigabit effectively this is not
    always required.
    If you have 10 TCP connections in the session then each connection could have
    0.1 the window
    of the dedicated solution. If 1 segment is lost you only have to buffer up
    1/10th of the data since
    the other 9 connections should still work satisfactorily.
    
    Now  I admit I could have missed something here, especially if an initiator is
    talking with a single target. However if an
    initiator is talking to 10 seperate targets then the above should be ok. The
    Gigabit line gets used and
    the buffering can be kept smaller (even on higher delay links) and nothing gets
    thrown away when a segment is lost.
    
    Another case is if you design your TOE adapter to work only in a LAN
    environment. Short delay means a small
    window size can keep the Gps line saturated for 1 TCP connection. If a customer
    wants to buy more memory to make
    the TOE work better in a high speed WAN environment thats there choice. And this
    may be the Gps adaptor used
    to backup storage to a remote site for disaster recovery. But all adaptors do
    not need this much memory (whatever
    it is).
    
    So I'm still not convinced that your solution is a thing good overall.
    
    Dick Gahan
    3Com
    
    
    
    PLANET PROJECT will connect millions of people worldwide through the combined
    technology of 3Com and the Internet. Find out more and register now at
    http://www.planetproject.com
    
    
    


Home

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