SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    IPS Requirements discussion points



    Okay, I admit it, I also noticed a few things in the iSCSI (Internet SCSI)
    Requirements <draft-haagens-ips-iscsireqs-00.txt> that go beyond the realm
    of typos.
    
    Regarding the last sentence on page 4:
    
        At the current time, we do not seek a more generic requirements
        statement that would justify the choice of TCP (or another protocol)
        as transport, since the merits of using TCP are readily evident to the
        working group participants.
    
    To me this looks like a boilerplate statement to which the parenthetical
    phrase "(or another protocol)" was added with the result that it's just
    plain confusing.  If "the merits of using TCP are readily evident" then why
    would "another protocol" need any mention at all?
    
    Regarding the following in 3.3 near the top of page 8:
    
         [R] Support SCSI SAM-2 architecture model.
    
              [D] It would be helpful to produce a document discussing iSCSI
              with reference to SAM-2.  No promises.
    
    Both SPI-3 and FCP-2 contain an annex that relates the protocol to SAM-2.
    The FCP-2 version of this is undergoing reconstructive surgery as part
    of the preparations for first public review.  However, the finished FCP-2
    effort should give iSCSI a substantial leg-up toward meeting the described
    requirement.
    
    Regarding the following in 3.3 near the bottom of page 8:
    
         [R] Support for SCSI Task Queuing.
    
              [D] SAM-2 defines task queuing, and so strictly speaking, we
              don't need to call this out specifically.  However, task queu-
              ing is not widely implemented today; and it will increase in
              importance with WAN IP networks, given speed-of-light delays.
              We are particularly interested in supporting task queuing of
              pipelined remote backup and asynchronous disk mirroring
    
              [D] Just because iSCSI supports task queuing doesn't mean that
              the end SCSI node is required to do so also.  Task queuing is
              an optional feature of SCSI.
    
    Tapes do not widely implement task queuing (well okay, they practically
    don't implement it at all).  Disks on the other hand are almost universal
    in their support for task queuing.
    
    It is also worth noting that a bridging product that provides task queuing
    for underlying devices that do not support task queuing has cut itself a
    chore that is larger than just passing commands and data back and forth.
    
    Regarding the following in 3.3 at the bottom of page 8 and top of page 9:
    
         [R] Supports all SCSI-3 command sets [SPC-2, SBC, etc.].  There
         will be no requirement by T10 to modify the SCSI command documents.
         No modifications are required of the SCSI command layer implementa-
         tion, except possibly to lengthen task timers to accommodate wide-
         area delays due to speed-of-light and switching.
    
    T10 believes that commands such as EXTENDED COPY and the disk XOR commands
    require modifications to support target identifiers in the URL form and is
    working on these modifications.
    
    Regarding the following in 3.3 near the top of page 9:
    
         [R] Forward compatibility with future revisions of SCSI architec-
         ture and protocol.  Attention to clean layering of protocols.
    
              [D] This is a difficult requirement to achieve in practice,
              since we cannot predict how SCSI will evolve.  However, care-
              ful attention to protocol layering principles will help ensure
              this result.
    
    Actually the problem here is SCSI history.  SCSI was developed with an
    eye toward minimizing implementation costs with much less emphasis on good
    layering practices.  That baggage can be very difficult to shed.  For
    example, the use of mode pages (command layer constructs) to manage link
    layer features totally ignores layering, but the Disconnect-Reconnect mode
    page performs just such a function and recently two protocol-specific mode
    pages were added not so much as an affront to layering common sense but
    because no other practical mechanism could be found.  So there's one of my
    favorite layering rat holes, let's talk about what's giving you headaches.
    
    Regarding the following in 3.4 at the top of page 10:
    
              [D] SAM-2 seems to require this channel allegiance: "A task
              involving one initiator-target pair shall not specify a third
              SCSI device to participate in transmitting and receiving the
              remote procedure model elements for that task.  Thus, an SMU
              initiator [e.g., a host computer] shall not create a task
              using one service delivery port with the expectation that the
              data transfer or status return for that task would occur via a
              different service delivery port" [SAM-2, section  4.10.7,
              p.33].  Of course, interpretation of this clause depends on
              the definition of service delivery port.  If a service
              delivery port is a TCP connection, then channel allegiance is
              pretty clearly required.  But if a service delivery port is an
              iSCSI session or an abstract target device, then the interpre-
              tation of this clause is less clear.
    
    Please be aware that the SMU concept will be removed from SAM-2 within the
    next 6 to 9 months.  SMU was a proposal and it has fallen into disfavor
    with T10.  The following diagrams illustrate the conceptual transition that
    T10 is in the process of building/modifying definitions to support:
    
    Past:
    
        +------------+
        | Initiators |    +--------+    +----------+
        | A1, A2,... |----| Port A |----|          |
        +------------|    +--------+    |          |+-----------+
                                        |          ||           |
                                        | Target 0 ||   LUN 0   |
                                        |          ||           |
        +------------+    +--------+    |          |+-----------+
        | Initiators |----| Port B |----|          |
        | B1, B2,... |    +--------+    +----------+
        +------------+
    
    
    Probable future:
    
        +------------+
        | Initiators |    +--------+----------+
        | A1, A2,... |----| Port A | Target A |--+
        +------------+    +--------+----------+  |  +-----------+
                                                 |  |           |
                                                 +--|   LUN 0   |
                                                 |  |           |
        +------------+    +--------+----------+  |  +-----------+
        | Initiators |----| Port B | Target B |--+
        | B1, B2,... |    +--------+----------+
        +------------+
    
    Also, it looks to me like the multiple connections issue may be one that
    IPS can solve on its own using an internal T10 agreement as a guideline.
    >From the point of view of the SCSI Architecture Model, more than one
    connection may be used to implement a service delivery port provided the
    modeled capabilities of the port are maintained.  In Fibre Channel talk,
    the use of 'hunt groups' is permissible at or below FCP-2 and outside the
    scope of SAM.  Should IPS wish to revisit this perspective, please be aware
    that the internal T10 agreement is not cast in stone.
    
    Regarding the following in 3.4 at the bottom of page 10:
    
         [R] Command striping (load balancing) across multiple host and dev-
         ice interfaces.  It shall be possible to utilize multiple con-
         current paths between hosts and devices for the purpose of load
         balancing.
    
              [D] Load balancing refers to concurrent tasks from a single
              initiator.  There is no ordering constraint among these tasks.
              We aim to distribute these tasks (commands and their related
              data and status) across multiple host ports, links, switch
              ports and device ports, in order to achieve aggregate perfor-
              mance equal to a multiple of single link performance.
    
    The statement 'There is no ordering constraint among these tasks.'
    assumes that all tasks carry the SIMPLE queuing attribute.  While this is
    consistent with the normal case queuing mindset, it is a very restrictive
    assumption.
    
    In regards to this and a couple other statements related to multiple
    connections, it may be productive for IPS and T10 to discuss the
    architectural meaning of terms like initiator, target, and port
    realizing that the T10 definitions of these terms are in a state
    of flux at the moment because T10 is trying to develop an acceptable
    model for devices with multiple ports.
    
    Regarding the following in section 4 at the top of page 21:
    
         [CAM-3] ANSI NCITS.  Dallas, William D., editor.  Information Tech-
         nology - Common Access Method - 3 (CAM-3)).  X3T10 Project 990D.
         rev 3, 16 Mar 1998.
    
    T10 has withdrawn the CAM-3 project.  No further work will be done and no
    standard will be produced.  I think the closest equivalent IETF classification
    of the last CAM-3 draft would have to be 'Historic'.
    
    
    
    


Home

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