SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: iSCSI: need for new data SNACK code?



    [ Catching up on my email after a weekend site power shutdown....]
    
    Randy,
    
    Please refer to my old email to Eddy:
    
      http://www.pdl.cmu.edu/mailinglists/ips/mail/msg10674.html
    
    It required the following -
        a) target must always send MaxRecvDataSegmentLegth sized data-in 
            PDUs except possibly for the last PDU.
        b) *if* a PDU size change happens during the life of  a task, target
             notes the DataSN (let's say "size_changed_from") when that happens.
        c) connection (*not* the task) maintains the current and previous 
            MaxRecvDataSegmentLength (let's say "PDU_size_history", an array of size 2).
        d) if "n" PDU size changes are to be designed for, during the life of a task,
            make the "size_changed_from" into an array of size n, and make the
            "PDU_size_history" an array of size (n+1).
    
    I believe one doesn't need to maintain exhaustive DataSN-to-PDU_size tuples
    for all PDUs for all active tasks as David's revised description implied.  IOW,
    what I am suggesting is that a target can translate a DataSN to a buffer offset
    (even with PDU size changes) with *much* less metadata, *if* it always sends 
    MaxRecvDataSegmentLegth sized data-in PDUs except possibly for the last PDU.
    Any retransmission request would have to take the aforementioned size_changed_from
    and PDU_size_history arrays into consideration, and calculate the buffer offset 
    accordingly.
    
    Agreed, this is additional CPU cycles where a simple (and memory-consuming)
    tuple table could be faster - but it's exception processing, speed is not much of
    a consideration here.
    
    Hope that explains my earlier response.
    --
    Mallikarjun
    
    Mallikarjun Chadalapaka
    Networked Storage Architecture
    Network Storage Solutions
    Hewlett-Packard MS 5668 
    Roseville CA 95747
    cbm@rose.hp.com
    
    
    ----- Original Message ----- 
    From: "Randy Jennings" <randyj@data-transit.com>
    To: "Mallikarjun C." <cbm@rose.hp.com>; <Black_David@emc.com>
    Cc: <ips@ece.cmu.edu>
    Sent: Friday, July 12, 2002 5:06 PM
    Subject: RE: iSCSI: need for new data SNACK code?
    
    
    > > > The flag per task is not needed - I'd expect the Target to look
    > > > at the Data PDUs it would have to resend, check them against the max
    > > > Data PDU size for this connection and fail the regular SNACK if any
    > > > PDU is too large
    > >
    > > I am afraid there's no free lunch here.  In this description, you're now
    > > expecting targets to maintain the PDU size of every PDU that it shipped
    > > for each of the tasks, which causes a metadata explosion.  This
    > > was discussed
    > > by Eddy Quicksall and myself in an earlier thread - "changing
    > > MaxPDUDataLength".
    > 
    > I did not check the thread, but I remember your conversation with Eddy
    > Quicksall.
    > 
    > However, I do not remember what was said about knowing the length of the
    > PDU.  From this isolated discussion, though, it seems like you would at
    > least be able to recalculate the length of the PDU at all times or you could
    > never send it again.  (Unless you redid all the steps that got to that point
    > in the first place, and I do not think that is possible based off a PDU id
    > number...)
    > 
    > Am I missing something?
    > 
    > Sincerely,
    > Randy
    > Data Transit
    > 
    > 
    
    


Home

Last updated: Mon Jul 15 18:18:51 2002
11328 messages in chronological order