SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    RE: TCP Framing (considered helpful?)



    I think if the framing solution finds favor with the TCP "gods",
    it is a much better alternative than the markers (which I was
    a proponent of - but only because I did not believe that
    a framing mechanism would be approved).
    
    Even if the framing mechanism is not approved, an alternate
    mechanism which provides for alignment of iSCSI headers at
    regular intervals (at negotiate progression in TCP sequence
    #s e.g. 0x12345, 0x22345, 0x32345 and so on) in the TCP stream
    is a much better solution. Unfortunately this would require
    some change to the header format (for padding) which probably
    no one would like to change at this time.
    
    The assumption that people will implement some change as big
    as iSCSI will be to the OS (in an integrated way - not as
    a kludgy add-on for demos) without being able to make the
    relatively minor change required to the API seems to be not
    a very convincing argument.
    
    Furthermore, at least in the Unix environment, iSCSI will be
    implemented in the kernel, and the accomodation for framing
    won't require an external API change. And as Steph says,
    the framing proposal has Microsoft participation.
    
    The insertion and deletion of markers seems to be painful
    accomodation for software based iSCSI solutions. The Unix
    folks might want to speak to this, but the markers will
    probably require more of a kludge in the kernel (to make
    it efficient) as compared to the changes required for framing.
    
    Somesh
    
    > -----Original Message-----
    > From: owner-ips@ece.cmu.edu [mailto:owner-ips@ece.cmu.edu]On Behalf Of
    > Stephen Bailey
    > Sent: Monday, May 21, 2001 6:51 AM
    > To: ips@ece.cmu.edu
    > Subject: Re: TCP Framing (considered helpful?)
    > 
    > 
    > John,
    > 
    > > I think we must depend on Markers to insure that everything can 
    > operate at
    > > top speed, and at the lowest cost.
    > 
    > A key question is whether markers actually ensure that everything
    > operates at `top speed, and at the lowest cost'.
    > 
    > Matt thinks so.  I (and, presumably those who wrote the framing
    > document) think not.
    > 
    > My issue is not even with `lowest cost'.  I don't believe markers will
    > allow you to run at top speed.  Specifically:
    >   1) I doubt the feasibility of implementing the control required for
    >      an eddy buffer (where you store data you can't place) at 10G.
    >      Admittedly, the validity of this claim can't really be assessed
    >      without actually working the implementation, so for 99% of the
    >      list participants (myself included) this is a `yes it is, no it
    >      isn't' point.
    >   2) an eddy buffer solution requires some substantial speed-up in
    >      both the NIC data path, and MOST IMPORTANTLY: the host bus.  In
    >      order to unload the eddy buffer while still handling incoming
    >      traffic at line rate, clearly the host bus bandwidth must be >
    >      line rate.  
    > 
    > I know of at least one general purpose framed solution operating at
    > 10G which has been available for >3 years (SGI's GSN/ST/XIO NIC).  I'm
    > sure there are others.
    > 
    > I can't imagine there's any argument that a framed solution would be
    > voted `most likely to run fast and be cheap'.  Every storage network
    > and cluster interconnect has been designed that way since antiquity.
    > 
    > The key tradeoff involves the OS vendors, and I'm wondering why we're
    > speaking for them.  The question IS, how much more work is it to
    > introduce TCP framing over and above what is required to insert iSCSI
    > into their network framework.  My experience from writing NIC and
    > storage drivers for many commercial UNIX-family OSes is:
    >   1) it's an easy and well defined process to insert a new SCSI
    >      transport driver into the SCSI stack.
    >   2) it's hard and poorly defined process to insert ANYTHING into the
    >      network stack.
    > 
    > Networking has historically been a user-mode activity.  Architected
    > services are only provided to user mode programs.  Kernel clients have
    > been few and far between and so are handled on a case-by-case basis.
    > For example NFS.  Every OS has hacks to make NFS run fast, but they
    > are not stable interfaces for general purpose use.
    > 
    > Even Solaris' SysV-derived STREAMS stack, which is intended precisely
    > to provide flexible, crisp interfaces for kernel network clients, does
    > not document the relevant (IP stack) intermodule interfaces.
    > 
    > I know that there are more and more kernel network clients, but they
    > are coming either on fluid platforms (e.g. linux), in which case the
    > argument of `it'll take too long to get OS support' doesn't apply, or
    > they are vendor-supplied, in which case a performance iSCSI solution
    > in ANY form may take a while, and the choice of framing or markers
    > isn't going to make a difference.
    > 
    > I can't say squat about the architecture of Winsock, but the fact that
    > there is a Microsoft author of the framing proposal who seems very
    > serious about supporting framing and RDMA as quickly as possible
    > suggests that framing support should be available on Windows very
    > soon.
    > 
    > Steph
    
    _________________________________________________________
    Do You Yahoo!?
    Get your free @yahoo.com address at http://mail.yahoo.com
    
    


Home

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