Hi Mohammed / Dave,

How  would you measure the latency of packet ? for e.g clocks &
vector/call  for each node, can we measure it ?

Thanks,
Regards,
Venu

On Tue, 21 Apr 2020 at 16:54, Mohammed Hawari <moham...@hawari.fr> wrote:

> Hi Chris,
>
> Evaluating packet processing time in software is a very challenging issue,
> as mentioned by Dave, it is likely to impact the performance we are trying
> to evaluate. I worked on that issue and have an unpublished, under review,
> academic paper proposing a solution using the NetFPGA-SUME platform.
> Basically, I built a custom FPGA design, mimicking a NIC capable of
> timestamping every packets at the ingress and the egress (immediately after
> packets arrivals from the wire, and immediately before the packets
> departures on the wire). I also wrote a DPDK driver for that NIC, and made
> it work with VPP, so that the latency introduced by (VPP+PCI-based DMA) can
> be evaluated. I played with this design and VPP in various configurations
> (l2-patch l2 crossconnect and l3 forward) and I think it could be an
> interesting tool to diagnose latency issues on a “per-packet” basis.
> Downside is, of course, from the perspective of VPP, this is a custom NIC,
> with a custom driver (not necessarily super-optimised), and the evaluated
> packet forwarding latency takes the driver’s performance into account.
>
> If you are interested in discussing this work, I can give you more details
> and resources in unicast, don’t hesitate to contact me :)
>
> Cheers,
>
> Mohammed Hawari
> Software Engineer & PhD student
> Cisco Systems
>
>
> On 18 Apr 2020, at 22:14, Dave Barach via lists.fd.io <
> dbarach=cisco....@lists.fd.io> wrote:
>
> If you turn on the main loop dispatch event logs and look at the results
> in the g2 viewer [or dump them in ascii] you can make pretty accurate lap
> time estimates for any workload. Roughly speaking, packets take 1 lap time
> to arrive and then leave.
>
> The “circuit-node <node-name>” game produces one elog event per frame, so
> you can look at several million frame circuit times.
>
> Individually timestamping packets would be more precise, but calling
> clib_cpu_time_now(...) (rdtsc instrs on x86_64) twice per packet would
> almost certainly affect forwarding performance.
>
> See
> https://fd.io/docs/vpp/master/gettingstarted/developers/eventviewer.html
>
> /*?
> * Control event logging of api, cli, and thread barrier events
> * With no arguments, displays the current trace status.
> * Name the event groups you wish to trace or stop tracing.
> *
> * @cliexpar
> * @clistart
> * elog trace api cli barrier
> * elog trace api cli barrier disable
> * elog trace dispatch
> * elog trace circuit-node ethernet-input
> * elog trace
> * @cliend
> * @cliexcmd{elog trace [api][cli][barrier][disable]}
> ?*/
> /* *INDENT-OFF* */
>
> *From:* vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> *On Behalf Of *Christian
> Hopps
> *Sent:* Saturday, April 18, 2020 3:14 PM
> *To:* vpp-dev <vpp-dev@lists.fd.io>
> *Cc:* Christian Hopps <cho...@chopps.org>
> *Subject:* [vpp-dev] Packet processing time.
>
>
> The recent discussion on reference counting and barrier timing has got me
> interested in packet processing time. I realize there's a way to use "show
> runtime" along with knowledge of the arc a packet follows, but I'm curious
> if something more straight-forward has been attempted where packets are
> timestamped on ingress (or creation) and stats are collected on egress
> (transmission)?
>
> I also have an unrelated interest in hooking into the graph
> immediate-post-transmission -- I'd like to adjust an input queue size only
> when the packet that enqueued on it is actually transmitted on the wire,
> and not just handed off downstream on the arc -- this would be a likely the
> same place packet stat collection might occur. :)
>
> Thanks,
> Chris.
>
>
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#20021): https://lists.fd.io/g/vpp-dev/message/20021
Mute This Topic: https://lists.fd.io/mt/73114130/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to