netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: rapier <rapier@psc.edu>
To: Yuchung Cheng <ycheng@google.com>, Blake Matheny <bmatheny@fb.com>
Cc: Eric Dumazet <eric.dumazet@gmail.com>,
	Alexei Starovoitov <alexei.starovoitov@gmail.com>,
	Laurent Chavey <chavey@google.com>, Martin Lau <kafai@fb.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	Hannes Frederic Sowa <hannes@stressinduktion.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Lawrence Brakmo <brakmo@fb.com>, Josef Bacik <jbacik@fb.com>,
	Kernel Team <Kernel-team@fb.com>
Subject: Re: [RFC PATCH net-next 0/5] tcp: TCP tracer
Date: Wed, 17 Dec 2014 15:45:49 -0500	[thread overview]
Message-ID: <5491EB7D.7020909@psc.edu> (raw)
In-Reply-To: <CAK6E8=fsKNcVBBewDw89cLLFuQb1a0parZ7hmvuRfherqjXTng@mail.gmail.com>


On 12/15/14 2:56 PM, Yuchung Cheng wrote:
> On Mon, Dec 15, 2014 at 8:08 AM, Blake Matheny <bmatheny@fb.com> wrote:
>>
>> We have an additional set of patches for web10g that builds on these
>> tracepoints. It can be made to work either way, but I agree the idea of
>> something like a sockopt would be really nice.
>
> I'd like to compare these patches  with tools that parse pcap files to
> generate per-flow counters to collect RTTs, #dupacks, etc. What
> additional values or insights do they provide to improve/debug TCP
> performance? maybe an example?

So this is our use scenario:

If the stack were instrumented on a per flow basis we can gather metrics 
proactively. This data can likely be processed in a near real time basis 
to at least get some general idea about the health of the flow (dupack, 
cong events, spurious rto, etc). It's possible we can use this data to 
provisionally flag flows during the lifespan of the transfer. If we 
store the collected metrics NOC engineers can access this to make a 
final determination about performance. They may then start the 
resolution process immediately using data collected in situ. With the 
web10g data we do collect stack data but we are also collecting 
information about the path and the interaction between the application 
and the stack.

This scenario is particularly appealing in the realm of big data 
science. We're currently working with datasets that are hundreds of TBs 
in size and will soon be dealing with multiple PBs as a matter of 
course. In many cases we're aware of the path characteristics in advance 
via SDN so we can apply the macroscopic model and see when we're 
dropping below thresholds for that path. Since we're doing most of 
transfers between loosely federated sets of distantly located transfer 
nodes we don't generally have access to the far end of the connection 
which might be the right place to collect the pcap data.

> IMO these stats provide a general pictures of how TCP works of a
> specific network, but not enough to really nail specific bugs in TCP
> protocol or implementation. Then SNMP stats or sampling with pcap
> traces with offline analysis can achieve the same purpose.

I'd agree with that but in the scenario we are most interested in 
protocol/implementation issues are secondary concerns. They are 
important but we've mostly be focused on what we can do to make the 
scientific workflow easier when dealing with the transfer of large data 
sets.

  reply	other threads:[~2014-12-17 20:45 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-15  6:55 [RFC PATCH net-next 0/5] tcp: TCP tracer Alexei Starovoitov
2014-12-15 16:03 ` Eric Dumazet
2014-12-15 16:08   ` Blake Matheny
2014-12-15 19:56     ` Yuchung Cheng
2014-12-17 20:45       ` rapier [this message]
2014-12-16 18:28     ` Martin Lau
2014-12-15 16:42   ` Josef Bacik
2014-12-15 22:01     ` Tom Herbert
2014-12-15 22:17       ` rapier
2014-12-15 22:29       ` Steven Rostedt
2014-12-15 23:28       ` Jamal Hadi Salim
2014-12-15 23:40         ` Eric Dumazet
2014-12-16 22:40     ` Jason Baron
2014-12-16 22:45       ` David Miller
2014-12-16 22:50         ` Hannes Frederic Sowa
2014-12-17 15:07 ` Arnaldo Carvalho de Melo
  -- strict thread matches above, loose matches on Subject: below --
2014-12-17 20:42 Alexei Starovoitov
2014-12-17 20:56 ` David Ahern
2014-12-17 21:24   ` Arnaldo Carvalho de Melo
2014-12-17 21:19 ` Arnaldo Carvalho de Melo
2014-12-17 17:14 Alexei Starovoitov
2014-12-17 19:51 ` Arnaldo Carvalho de Melo
2014-12-17  3:06 Alexei Starovoitov
2014-12-17 21:42 ` Josef Bacik
2014-12-18 23:43   ` Lawrence Brakmo
2014-12-19  1:42     ` Yuchung Cheng
2014-12-17  0:15 Alexei Starovoitov
2014-12-17  1:30 ` Martin Lau
2014-12-15  1:56 Martin KaFai Lau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5491EB7D.7020909@psc.edu \
    --to=rapier@psc.edu \
    --cc=Kernel-team@fb.com \
    --cc=alexei.starovoitov@gmail.com \
    --cc=bmatheny@fb.com \
    --cc=brakmo@fb.com \
    --cc=chavey@google.com \
    --cc=davem@davemloft.net \
    --cc=eric.dumazet@gmail.com \
    --cc=hannes@stressinduktion.org \
    --cc=jbacik@fb.com \
    --cc=kafai@fb.com \
    --cc=netdev@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=ycheng@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).