SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    RE: iSCSI: "Wedge" drivers



    
    
    David,
    
    I am aware of the complexity related to recovery and load balancing (as I
    had to design it
    in several systems). There are several  points to be made:
    
    - the view used by all the I/O software above channel in the mainframe
    world is extremely simple (no wedge driver) as all they see is one
    connection
    
    - recovery is also simple as the commands are restarted (no need to track
    data transfers)
    
    - load balancing is also simple - it is based on a naive greedy scheme -
    take the first
     available channel with some randomness inserted at search start
    
    I attempted this approach in the 00 draft (Adelaide) and we changed it to
    the current
    draft (with symmetric connections) as most of my colleagues felt that
    asymmetric connections will be hard to understand and implement properly.
    
    While many of you keep telling me that wedge drivers won't go away nobody
    gave one good example to support that assertion.
    
    I think that as SCSI moves to a level of complexity that goes beyond what
    was
    available on mainframes (with the standardization of 3rd party commands and
    the object
    model) it would be a mistake not to attempt to simplify SCSIs view of the
    transport and
    remove recovery and transport load balancing from it.
    
    Julo
    
    Black_David@emc.com on 28/08/2000 19:24:06
    
    Please respond to Black_David@emc.com
    
    To:   ips@ece.cmu.edu
    cc:    (bcc: Julian Satran/Haifa/IBM)
    Subject:  RE: iSCSI: "Wedge" drivers
    
    
    
    
    Still with my co-chair hat off, let me try to summarize,
    rather than quoting and responding:
    
    If one assumes that an iSCSI session spans multiple
    interface processors on the storage side, then those
    interface processors have to share SCSI state (e.g.,
    ranges of data for each I/O on which Ready to Transfer
    has been vs. needs to be issued) in some fashion so
    that the other processor has it when failure causes
    it to become involved.  Use of a load balancing switch
    does not change this situation.
    
    Julian (IIRC) has observed that the corresponding state
    sharing is done for mainframe storage (e.g., I/O completion
    can come back on a different link than the one used for
    initiation), but it is not done by any SCSI implementation
    I'm aware of.  If nothing else, that's proof by example
    that any box (EMC, IBM, etc.) that supports mainframe
    storage is in principle capable of spreading a SCSI
    connection across more than one interface processor.
    This is additional implementation complexity and effort,
    as state sharing across failure domains is not easy to
    get right, and this is a new form of sharing that SCSI
    implementers have little experience with.
    
    A similar issue occurs on the host side.  If the system
    is equipped with NICs so that iSCSI above TCP/IP is entirely
    in software, then spreading a SCSI connection across multiple
    NICs should work fine.  OTOH, if the system has HBAs that
    implement much of iSCSI in hardware in addition to TCP/IP,
    then not sharing iSCSI state across HBAs is again easier
    to build (and entails a wedge driver).
    
    I'm trying not to take a position for or against iSCSI
    sessions (e.g., I can see a strong rationale for using
    them with tape, where wedge drivers don't work and the
    fault tolerance requirements aren't as stringent).  The
    point I wanted to make is that engineering and implementation
    concerns make it highly unlikely that iSCSI sessions would
    remove the need for wedge drivers for disk.  My goal
    is to contribute to a clear understanding of the technical
    rationale behind sessions, for the requirements document
    if nothing else.
    
    Several minor issues ...
    
    John described a model in which an initiator discovers
    that multiple TCP/IP connections are part of the same
    session.  That seems awkward by comparison to having
    each participant tell the other what the alternate
    transport addresses are (or how to find them) as the
    latter avoids having to splice a new connection into
    one that's already actively doing I/O.  SCTP sets up
    multiple addresses in this fashion, FWIW.
    
    EMC error retry does not always require an EMC-written wedge
    driver.  For example, Symmetrix works with the Veritas DMP
    wedge driver.
    
    There's no free lunch on configuration -- since wedge
    drivers are not going to go away, iSCSI sessions become
    something configured "in addition to" wedge driver
    configuration rather than "instead of".
    
    --David
    
    ---------------------------------------------------
    David L. Black, Senior Technologist
    EMC Corporation, 42 South St., Hopkinton, MA  01748
    +1 (508) 435-1000 x75140, FAX: +1 (508) 497-6909
    black_david@emc.com  Cellular: +1 (978) 394-7754
    ---------------------------------------------------
    
    
    
    
    


Home

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