SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    RE: iSCSI Requirements Draft - Informal WG Last Call



    Julian,
    
    I agree that without serialization of commands and then mandating a
    sequential delivery scheme, there is no means of ensuring sequential
    delivery or allowing atomicity of command groups.  This sequential delivery
    also allows rejection of stray commands that may have become trapped within
    the network.  A problem of duplicating serialization for iSCSI "immediate"
    is that now the receive window can be closed by a "non-immediate" command
    carrying the same value.  You will need to adopt connection allegiance for
    repeated sequences to avoid a closed window on "immediate" commands.  (It
    would also be an improvement if this iSCSI "immediate" term did not overload
    the meaning used in SCSI.)
    
    Also, there would appear to be no succession limit imposed on "immediate"
    commands.  Santosh will take this freedom to imply all commands can be
    treated in this fashion.  If so, terminology that will impose First In First
    Out treatment on multiple "immediate" commands that carrying the same
    serialization will be needed and connection allegiance seems to provide this
    feature.  For succession, perhaps unique serialization re-applies on
    subsequent "immediate" commands to allow multiple "immediate" commands to be
    serialized across multiple connections and to re-enable iSCSI flow control.
    The problem this creates results in apparent skips for the sequencer
    tracking only "non-immediate" commands.  (Rejecting commands bypassed is one
    method to handle this problem.)  There would not need to be a
    "non-immediate" command to cause this increment in the case of no
    "non-immediate" commands ever presented.  This implies however two
    sequencers are operating.  One for "immediate" and another for
    "non-immediate."  In essence, not using "immediate" would be the same as
    only using "immediate."  The "Casual" ordering sought by Santosh does not
    seem possible within these constraints without an additional flag to
    explicitly allow such treatment.  There would then need to be warnings about
    SCSI Task Full flow control used in lieu of the iSCSI scheme.  How do you
    envision the use of "immediate"?  The proposal does not provide much
    clarification about potential limits on successive use.
    
    The ability to flag these commands by the driver is left in doubt by this
    proposal and termed out of scope.  Would it be prudent to adopt a scheme
    where either Head of Queue or ACA tasks are marked for this treatment?
    Depending on the implementation size of the buffers feeding the SCSI layer
    on the target side, those commands bypassed can be problematic.  If the
    definition of SCSI layer is to imply yet another queue where all commands
    are held in sequence regardless of this iSCSI "immediate" flag, then
    solutions are limited but then the function of the "immediate" flag is then
    severely reduced as well.  If the "immediate" flag is still used within the
    SCSI layer, then the definition of SCSI layer is a bit odd and should be
    clarified.
    
    You may wish to elaborate what you expect to be done in the case where tasks
    to be acted upon are bypassed.  In my opinion, rejecting these commands back
    to the initiator is the corrective action.  This rejection scheme also
    allows "immediate" commands to carry their own serialization to benefit from
    iSCSI flow control remaining valid, connection allegiance not a concern for
    the initiator, the command window immediately opening, and "immediate"
    commands then receive acknowledgement.  The only provision for rejection
    would be that prior "immediate" commands would not be rejected back to the
    initiator.
    
    Ver 5-91, Pg 11,
       "If immediate delivery is used with task management commands, these
       commands may reach the SCSI target task management before the tasks
       they are supposed to act upon.  However, their CmdSN is a good
       reference for what commands the immediate command was supposed to act
       upon."
    
       "The target MUST NOT transmit a MaxCmdSN that is more than 2**31 - 1
       above the last ExpCmdSN.  For non-immediate commands, the CmdSN field
       can take any value from ExpCmdSN to MaxCmdSN. For immediate commands,
       the CmdSN field can take any value from ExpCmdSN to MaxCmdSN+1. The
       target MUST silently ignore any command outside this range or
       duplicates within the range that have not been flagged with the retry
       bit (the X bit in the opcode)."
    
    
    Doug
    
    > Ordered delivery of commands to ANY TYPE of devices will increase in
    > importance as network speeds increase and the need to hide latency
    > increases.
    >
    > Today databases don't use queuing and rely and trickle the commands to
    > devices 1 by 1 to ensure atomicity and order.
    > As latency will become the determining factor in performance this is bound
    > to change.
    >
    > SCSI has done an excellent job in defining the queueing mechanism. We have
    > to make it work with good performance in our environment.
    >
    >
    >
    > Julo
    >
    > Santosh Rao <santoshr@cup.hp.com> on 13/04/2001 04:33:45
    >
    > Please respond to Santosh Rao <santoshr@cup.hp.com>
    >
    > To:   ips@ece.cmu.edu
    > cc:   Black_David@emc.com
    > Subject:  Re: iSCSI Requirements Draft - Informal WG Last Call
    >
    >
    >
    >
    > David & All,
    >
    > I object to the following requirement :
    >
    > " MUST support ordered delivery of SCSI commands from the initiator to
    > the
    >   target, to support SCSI Task Queuing. "
    >
    > Ordered delivery is not a requirement for disk based applications and
    > non tagged queueing tape applications, which form the majority of
    > today's data traffic.
    >
    > To impose strict ordering (even in the presence of errors ?) as a MUST
    > is penalizing the majority of today's data traffic that does not expect
    > ordering from the SCSI subsystem.
    >
    > I am particularly concerned about the effect of the above requirement in
    > the presence of errors. Does iSCSI expect strict ordering to be
    > maintained even when individual I/O errors like ULP timeout occur ?
    >
    > On a ULP timeout (caused by, say, a hole in CmdSN), the initiator may
    > choose not to retry the command, but instead, error it back to the ULP.
    > In such a case, it can plug the hole in CmdSN with a NOP-OUT.
    >
    > The above requirement is not feasible to be met under such circumstances
    > and others similar to this. Mandating strict ordering on ULP timeouts
    > implies a session level error recovery on any individual I/O being
    > failed back from iSCSI to SCSI ULP. This is a very heavy hammer to use
    > as error recovery and should not be imposed.
    >
    > The above requirement must be changed to :
    > " SHOULD support ordered delivery of SCSI commands from the initiator to
    > the
    >   target, to support SCSI Task Queuing. "
    >
    > - Santosh
    >
    >
    >
    > Black_David@emc.com wrote:
    > >
    > > It is intended to submit draft-ietf-ips-iscsi-reqmts-02.txt
    > > as an Informational RFC. There is no formal requirement for
    > > a WG Last Call, but if you have any further substantive comments
    > > on the document please raise them on this list within the next
    > > two weeks, i.e. by April 27th at the latest.
    > >
    > > If you have typographical/editorial comments please send them
    > > direct to the document's author, Marjorie Krueger
    > > <marjorie_krueger@hp.com>.
    > >
    > > Thanks,
    > > --David and Elizabeth, IPS WG co-chairs
    >  - santoshr.vcf
    >
    >
    >
    >
    
    


Home

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