SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: Status summary on multiple connections



    David Robinson wrote:
    > 
    > > I am left with the following impression as to what was indicated here:
    > > - In general, command ordering is not relevant
    > > - If the initiator filesystem detects an ordering dependency, it will wait
    > > until outstanding commands are complete before issuing the dependant
    > > command.
    > >
    > > This may be a reasonable means of operation for the disk world. It is
    > > woefully inadequate for the tape world, as follows:
    > > - In general, command ordering is crucial - out of order command processing
    > > will lead to data corruption.
    > > - This would require the initiator backup application to block on completion
    > > of every single write command of a backup operation before issuing the next
    > > command.
    > >
    > > If this blocking were performed, both the throughput and capacity of a tape
    > > device/media would be negatively impacted by an order of magnitude or more.
    > > This would occur even assuming an instantaneous transport.
    > 
    > I am hearing different stories on the issue of ordering.  One side
    > is pushing hard for techniques that will allow out of order
    > execution using various RDMA techniques. This clearly states for
    > a certain class of devices (e.g. tapes) ordering is crucial.
    > I thought this problem was already solved at the SCSI layer
    > through the use of ordered commands which in general are not used
    > for disks but always used for tapes?  Since FC will reorder this
    > has to be a solved problem. Would not an initiator talking to
    > a tape target simply set the ordering flag?
    > 
    > Lastly, for a TCP based connection ordering can easily be made a
    > non-issue, simply don't try to process segments out of order.  I
    > will defer to a transport expert, but I believe processing
    > TCP segments by an application out of order might cause problems.
    > In particular since the out of order segment is not ACKed until
    > after the missing segments arrive, they can be retransmitted
    > multiple times.  SACK helps this but does not guarentee that
    > segments will not be retransmitted. So to process out of order
    > segments the application must maintain a list of which segments
    > have been processed as well, yuck!
    > 
    
    David:
    
    If a TCP stack were to allow delivery out of order... and I don't
    see how it could since by definition it is a stream of bytes
    sent in order... it would have to keep track of the segments
    it has received and prevent duplicates from being propagated up
    to the application above. As you state, SACK helps, but it can NOT
    eliminate the duplicates that MAY show up. I think the TCP stack
    itself would HAVE to track all of this not the application... 
    
    I really do NOT see how one can allow a TCP to deliver out of order
    though, oh
    I know technically how to do it, but it is a fundamental violation
    of what TCP is supposed to be delivering.... i.e. the bytes being
    transfered from 0 to N...
    
    R
    
    >         -David
    > 
    
    -- 
    Randall R. Stewart
    randall@stewart.chicago.il.us or rrs@cisco.com
    815-342-5222 (cell) 815-477-2127 (work)
    


Home

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