[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20071122.115433.121501746.takano@axe-inc.co.jp>
Date: Thu, 22 Nov 2007 11:54:33 +0900 (JST)
From: Ryousei Takano <takano-ryousei@...t.go.jp>
To: hadi@...erus.ca
Cc: takano-ryousei@...t.go.jp, netdev@...r.kernel.org,
shemminger@...ux-foundation.org, t.kudoh@...t.go.jp
Subject: Re: [RFC][PATCH 1/3] NET_SCHED: PSPacer qdisc module
Hi jamal,
> Good stuff.
> I have not read your paper - There are NICs out there (chelsio comes to
> mind) which claim to do pacing and have shown impressive numbers with
> TCP. Is your approach similar? Are there patents involved by some of
> these hardware vendors? (It would not be suprising if they exist).
>
As far as I know, no. (I have not the details of chelsio NICs.)
Pacing is a general idea, but our approach of implementation is a unique.
PSPacer makes bursty traffic which is often generated by TCP smooth
without any special hardware.
> The advantage with NICs is they have very good control of the timing
> (clock granularity being extremely important in cases like this) - what
> were your measurements based on i.e what clock source did you use on
> Linux?
The key idea of PSPacer is to determine transmission timing of packets
by the number of bytes transferred. If packets are transferred back to
back, the timing a packet is sent can be determined by the number of
bytes sent before the packet. PSPacer fills the gaps between time
aligned "real packets" (the packets which are sent by user program) by
"gap packets". The real packets and gap packets are sent back to back,
and thus the timing of transmission of each real packet can be precisely
controlled by adjusting the gap packet size. As the gap packets, the IEEE
802.3x PAUSE frames are used. PAUSE frames are discarded at a switch
input port, and only real packets go through the switch keeping the
original intervals.
In the past, some software-based pacing schemes have been proposed.
These schemes use timer interrupt based packet transmission timing control.
Therefore, to achieve precise pacing, they require the operating system
to maintain a high resolution timer, which could incur a large overhead.
> Also, the idea of using a PAUSE frame to add gaps is interesting, but
> you should note that in linux a qdisc may be attached to any network
> device and this for example maybe a PPP device etc. What would you use
> for gaps in that case?
> I apologize if the answers are in your papers - i just glossed over.
>
> cheers,
> jamal
>
Best regards,
Ryousei Takano
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists