|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Connection Consensus Progress
> I understand that some folks want to have many TCP connections to a
storage
> entity, including at least one TCP/IP connection per LUNs. I think it has
> been agreed by Julian that iSCSI will support that, with some extensions
> which he suggested. Even though most folks will not implement their
> Storage Controllers in that manor, I think that issue is perhaps settled.
> Julian could perhaps restate the change that would make the TCP per LUN
> folks (if more then one) happy. This may permit us to really move off of
> point "A" (specified by David Black as "Should iSCSI require a TCP
> connection per LUN?"). If that is so, then I also submit that we have not
> been focusing enough time on point "B" ("Should iSCSI have a session
> abstraction that binds multiple TCP connections into one iSCSI
connection?").
If I weren't on vacation and dealing with email sporadically,
I'd have sent email along the lines of what John Hufferd
wrote above. I think that the discussion of (A) has lead
to the rough consensus that iSCSI will not REQUIRE a TCP
connection per LUN. It is still possible to build systems
that use a connection per LUN (e.g., a collection of targets,
each of which only implements LUN 0, although initiators
will be REQUIRED to support multiple LUNs/target). The
consensus is a bit rough, but I think it is consensus. If
anyone disagrees (i.e., thinks that things are too rough
to be called consensus), please send me email directly.
The session discussion (B) has been widening the scope
of possibilities. We need to start narrowing it. In
looking over the emails on this topic, there are a bunch
of intertwined issues. The original issue (B) was:
(B) Should iSCSI have a session abstraction that
binds multiple TCP connections into one
iSCSI connection?
For a "yes" answer to (B) we need a clear grasp of the
requirements that motivate multiple connections (i.e.,
what problems does they address). So far, I think
I've seen:
R1) Parallel transfers to/from and failover support for
tape devices. In contrast to disks, multiple SCSI
connections to the same tape do not work (e.g.,
blocks can be written in the wrong order).
R2) Obtaining parallelism for a single SCSI command
across multiple transport connections using
different physical links.
R3) Obtaining parallelism for a single SCSI command
across multiple transport connections using the
same physical links.
R4) Optimize failure handling, so that a single TCP
connection loss doesn't immediately translate
into a SCSI error visible to higher level
(time-consuming) recovery logic.
R1) and R2) are beyond the capabilities of existing SCSI-
based systems (note that a parallel bus is a single link).
R3) and R4) are related to the use of TCP as a transport.
R3) needs more explanation, as TCP is known to be able
to saturate Gigabit Ethernet, given enough data to
transfer. Is the argument for R3) that for the
transfer sizes likely to be seen in iSCSI, TCP
spends enough of its time in slow start and the
like that multiple TCP connections gain performance?
I should also note that the error handling procedures
for multiple connections will need to be specified
in complete detail -- I expect to see state machine
descriptions in the final version of the spec if
multiple connections are supported.
Beyond this are the issues of what sort of multiple
connection model(s) to adopt if we decide to go that
route. I've seen at least three models proposed:
- All connections are equivalent, but all traffic
for a single SCSI command uses one connection.
- Single control connection, but data traffic can
be striped across multiple connections.
- LUNs are assigned to specific connections.
The third model is to some extent orthogonal to the
first two, and leads to another approach to building
systems with a single LUN/connection.
Can I ask people to focus on the requirements issues
for (B)? For those in favor of multiple connections,
please indicate which of the requirements (R1-R4)
are important, or what additional requirements I've
left out. Those against should check that none of
R1-R4 are important enough to be requirements.
I'm looking not only for Yes/No consensus on (B),
but also the corresponding discussion of R1-R4, which
I would expect to see reflected in a future version of
the iSCSI requirements draft. Consensus of this sort
is hard to take on the mailing list, so I'd like to
see more discussion focussed on the requirements
before I figure out how to go about establishing
consensus.
Thanks,
--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:47 2001 6315 messages in chronological order |