On Wed, Mar 23, 2022, 9:54 AM Templin (US), Fred L <
fred.l.temp...@boeing.com> wrote:

> Hi Tom,
>
> > -----Original Message-----
> > From: Tom Herbert [mailto:t...@herbertland.com]
> > Sent: Wednesday, March 23, 2022 6:19 AM
> > To: Templin (US), Fred L <fred.l.temp...@boeing.com>
> > Cc: Eggert, Lars <l...@netapp.com>; int-area@ietf.org; l...@eggert.org
> > Subject: Re: [Int-area] IP Parcels improves performance for end systems
> >
> > On Tue, Mar 22, 2022 at 10:38 AM Templin (US), Fred L
> > <fred.l.temp...@boeing.com> wrote:
> > >
> > > Tom, see below:
> > >
> > > > -----Original Message-----
> > > > From: Tom Herbert [mailto:t...@herbertland.com]
> > > > Sent: Tuesday, March 22, 2022 10:00 AM
> > > > To: Templin (US), Fred L <fred.l.temp...@boeing.com>
> > > > Cc: Eggert, Lars <l...@netapp.com>; int-area@ietf.org
> > > > Subject: Re: [Int-area] IP Parcels improves performance for end
> systems
> > > >
> > > > On Tue, Mar 22, 2022 at 7:42 AM Templin (US), Fred L
> > > > <fred.l.temp...@boeing.com> wrote:
> > > > >
> > > > > Lars, I did a poor job of answering your question. One of the most
> important aspects of
> > > > >
> > > > > IP Parcels in relation to TSO and GSO/GRO is that transports get
> to use a full 4MB buffer
> > > > >
> > > > > instead of the 64KB limit in current practices. This is possible
> due to the IP Parcel jumbo
> > > > >
> > > > > payload option encapsulation which provides a 32-bit length field
> instead of just a 16-bit.
> > > > >
> > > > > By allowing the transport to present the IP layer with a buffer of
> up to 4MB, it reduces
> > > > >
> > > > > the overhead, minimizes system calls and interrupts, etc.
> > > > >
> > > > >
> > > > >
> > > > > So, yes, IP Parcels is very much about improving the performance
> for end systems in
> > > > >
> > > > > comparison with current practice (GSO/GRO and TSO).
> > > >
> > > > Hi Fred,
> > > >
> > > > The nice thing about TSO/GSO/GRO is that they don't require any
> > > > changes to the protocol as just implementation techniques, also
> > > > they're one sided opitmizations meaning for instance that TSO can be
> > > > used at the sender without requiring GRO to be used at the receiver.
> > > > My understanding is that IP parcels requires new protocol that would
> > > > need to be implemented on both endpoints and possibly in some
> routers.
> > >
> > > It is not entirely true that the protocol needs to be implemented on
> both
> > > endpoints . Sources that send IP Parcels send them into a
> Parcel-capable path
> > > which ends at either the final destination or a router for which the
> next hop is
> > > not Parcel-capable. If the Parcel-capable path extends all the way to
> the final
> > > destination, then the Parcel is delivered to the destination which
> knows how
> > > to deal with it. If the Parcel-capable path ends at a router somewhere
> in the
> > > middle, the router opens the Parcel and sends each enclosed segment as
> an
> > > independent IP packet. The final destination is then free to apply GRO
> to the
> > > incoming IP packets even if it does not understand Parcels.
> > >
> > > IP Parcels is about efficient shipping and handling just like the
> major online
> > > retailer service model I described during the talk. The goal is to
> deliver the
> > > fewest and largest possible parcels to the final destination rather
> than
> > > delivering lots of small IP packets. It is good for the network and
> good for
> > > the end systems both. If this were not true, then Amazon would send the
> > > consumer 50 small boxes with 1 item each instead of 1 larger box with
> all
> > > 50 items inside. And, we all know what they would choose to do.
> > >
> > > > Do you have data that shows the benefits of IP Parcels in light of
> > > > these requirements?
> > >
> > > I have data that shows that GSO/GRO is good for packaging sizes up to
> 64KB
> > > even if the enclosed segments will require IP fragmentation upon
> transmission.
> > > The data implies that even larger packaging sizes (up to a maximum of
> 4MB)
> > > would be better still.
> > >
> >
> > Fred,
> >
> > You seem to be only looking at the problem from a per packet cost
> > point of view. There is also per byte cost, particularly in the
> > computation of the TCP/UDP checksum. The cost is hidden in modern
> > implementations by checksum offload, and for segmentation offload we
> > have methods to preserve the utility of checksum offload. IP parcels
> > will have to also leverage checksum offload, because if the checksum
> > is not offloaded then the cost of computing the payload checksum in
> > CPU would dwarf any benefits we'd get by using segments larger than
> > 64K.
>
> There is plenty of opportunity to apply hardware checksum offload since
> the structure of a Parcel will be very standard. My experiments have been
> with a protocol called LTP which is layered over UDP/IP as some other
> upper layer protocols are. LTP includes a segment-by-segment checksum
> that is used at its level in the absence of lower layer integrity checks,
> so
> for larger Parcels LTP would use that and turn off UDP checksums
> altogether.


You can't turn it off UDP checksums for IPv6 (except for narrow case of
encapsulation).

As far as I am aware, there are currently no hardware
> checksum offload implementations available for calculating the
> LTP checksums.
>

If it's a standard per packet Internet checksum then a lot of HW could do
it. If it's something like CRC32 then probably not.

LTP is a nice experiment, but I'm more interested as to the interaction
between IP parcels and TCP or QUIC.


> Speaking of standard, AFAICT GSO/GRO are doing something very
> non-standard. GSO seems to be coding the IP ID field in the IPv4
> headers of packets with DF=1 which goes against RFC 6864. When
> DF=1, GSO cannot simply claim the IP ID and code it as if there were
> some sort of protocol. Or, if it does, there would be no way to
> standardize it.
>

There was quite a bit of work and discussion on this in Linux. I believe
the deviation from the standard was motivated by some deployed devices
required the IPID be set on receive, and setting IPID with DF equals to 1
is thought to be innocuous. You may want to look at Alex Duyck's papers on
UDP GSO, he wrote a lot of code in this area.

Tom


> Fred
>
> >
> > Tom
> >
> > > Fred
> > >
> > > > Thanks,
> > > > Tom
> > > >
> > > > >
> > > > >
> > > > >
> > > > > Thanks - Fred
> > > > >
> > > > > _______________________________________________
> > > > > Int-area mailing list
> > > > > Int-area@ietf.org
> > > > > https://www.ietf.org/mailman/listinfo/int-area
>
_______________________________________________
Int-area mailing list
Int-area@ietf.org
https://www.ietf.org/mailman/listinfo/int-area

Reply via email to