|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] IPS Requirements discussion pointsOkay, 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 |