SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    RE: A Transport Protocol Without ACK



    > From: owner-ips@ece.cmu.edu [mailto:owner-ips@ece.cmu.edu]On Behalf Of
    > julian_satran@il.ibm.com
    > Sent: Thursday, September 28, 2000 2:53 AM
    >
    > Dear Mr. Cheng,
    > I am baffled by your taxonomy. VI and I2O are basically interface (API)
    > definitions and each of them has a different purpose. VI
    > was ment to be a User-Space-to-User-Space communication interface and
    > I2O well...a panacea for drivers.
    > We are trying to build a protocol (to which an API is assumed but not
    > mandated).
    > Could you be a bit more specific in what you criticize or propose?
    
    I misused the term "transport protocol" for VI and I2O.  I meant that VI and
    I2O could be the API to pass an iSCSI request to an iSCSI service provider,
    i.e. either an iSCSI driver above the TCP/IP layer or an adapter that
    performs proper TCP/IP transport.  VI further defines connection-oriented or
    connectionless for delivery of different QoS.  I2O has nothing to do with
    transport.  My apology.
    
    What I tried to point out was that this iSCSI working group is trying to
    solve problems of using TCP/IP reads and writes to send PDUs that encounters
    deadlock and head-of-queue problems.  If the WG can assume the use of VI-
    and I2O-like API to send an iSCSI request and allow an iSCSI service
    provider taking responsibility of delivery of PDUs in proper order, then,
    the deadlock and head-of-queue problems are non-issues.  An iSCSI service
    provider WILL send proper TCP/IP packets as well as follow the RFC2581 for
    congestion avoidance.  For people who choose to implement an iSCSI provider
    using TCP reads and writes, they do have an implementation problem.  But,
    should the WG address the problems of every possible implementation?  We
    certainly could suggest a method of using TCP/IP stack.  But, the asymmetric
    model with multiple connections is not my top choice, because synchronizing
    among connections is non-trivial.  I will specify an exchange table like
    that in a fibre channel adapter.  We could use the initiator and target task
    tags to index into the exchange table.
    
    I am changing a fibre channel adapter to an iSCSI service provider that can
    handle thousands of iSCSI requests without any queuing or resource
    allocation problem.  The adapter CAN correctly interpret the iSCSI PDUs and
    follow TCP/IP delivery rules including congestion control.  It also confirms
    the SAM-2.  All the discussions on asymmetric-multiple-connections and
    lack-of-resource problems do not apply to the implementation of this
    adapter.  (I described in another posting on how the fibre channel adapters
    handle thousands of requests concurrently.)
    
    IMHO, the important discussions for iSCSI is to have a transport mechanism
    that allows the service provider to stream data to the other side of the
    world 10,000 miles away with 80 msec latency and 160 msec roundtrip time.
    At 1Gb speed, there are 8MB of data on route to a destination in 80 msec
    before the destination even has a chance to send its very first ACK back.
    The originator needs to stream 16MB of data before seeing the first ACK.  We
    need a lot of buffers if we implements iSCSI in TCP stack.  What if 10 Gb
    InfiniBand, Ethernet, and Fibre are introduced in the next 12 months?
    Obviously we can use flow control to ensure no overrun.  But, isn't it more
    important to have a mechanism to move data at 10 Gb speed on an iSCSI
    connection?
    
    The WG assumes RFC2581 will handle indefinite transfer size with indefinite
    delay.  I am not sure.  On a busy network, the isochronous traffic like
    voice-over-IP using UDP has no ACKs for congestion control.  Hence, the
    TCP/IP implementing RFC2581 will have unfair disadvantage on the Big
    I-nternet.  To ensure iSCSI being a viable proposal beyond its application
    to MAN where delay is small there should be discussions on the fairness on
    the Big I-nternet.  Virtual circuits with paid services could be a solution.
    I don't know SCTP enough to say it is the right solution.  I do understand
    that the WG's charter is not to question the TCP congestion control.
    Therefore, I can not raise this issue.
    
    We have entered an era where a fibre channel adapter is capable of 30,000
    IO's today and going to 50,000 and 100,000 shortly.  I don't believe the
    current discussions appreciate the nature of having only 10 usec to process
    an IO request.  Is it even possible to deliver 50,000 IOs using iSCSI
    without discussing of mechanism of streaming 160MB of data at 10 Gb speed to
    a destination 10,000 miles away?  I do believe it is possible if we can keep
    the outgoing/incoming PDUs streaming with a sensible recovery of lost
    packets.  But, to do this we have to have a good mechanism handling the ACK
    traffic.  Introducing ACK-0 of fibre channel to deal with dropped ACK is
    critical, IMHO.  However, TCP/IP is sacred and not be questioned at this
    time.
    
    Y.P. Cheng, CTO, ConnectCom Solutions Corp.
    
    
    


Home

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