> I have few questions.
> 1. Is netperf or perf requried before installing flent?
> Though I have install flent on my both systems and ping with flent works
> fine.

Netperf is not strictly required (as you mention, you can run the ping
tests just fine without it). However, most of the bandwidth tests use
netperf to generate the traffic, so you're not going to be able to run
any of those without having netperf installed.

> 2. How can measure the following quantities:
>     A. Latency between peer to peer communication.(one side and other side)

Depends on what you mean by 'latency'. Most of Flent's tests will run
either a normal ICMP ping, or a UDP-based roundtrip-time test along with
bandwidth tests. These measure RTT. If you need to measure one-way
delay, there is some support for this in the VoIP tests; you'll need to
setup D-ITG on the hosts, though, and you'll need synchronised clocks.

>     B. Packet processing time on host nodes running linux OS.
>     C. Memory requirement to process packets
>     D. Energy consumption during the communication
>     E. Energy consumption per single packet processing.

Flent currently has no mechanism to measure any of these. However, if
you have a tool that will get the information you need from the
operating system, you can add a parser to Flent to collect and plot the
data. Not sure how you would get these values from the OS in the first
place, though (especially the last one). And I would be worried about
the measurement overhead being higher than the actual resource

>     F. Bandwidth requirement between two peers for specific protocol
> communication.

Not sure what you mean by that. If the application can output its
bandwidth usage, you could parse and plot that in Flent. But I suspect
you mean on-the-wire bandwidth consumed by the encapsulated traffic.
Flent currently has no way to do that, but I can think of a few ways to
add it, depending on your requirements.

> 3. How can I edit or add python or other code to measure custom created
> parameter?

Data sets in Flent are collected by different runners, which either
collect information directly from the operating system or (in most
cases) spawns an external program and parses its output. You'll probably
need to add new runner types for each of the data types you wish to
capture. The runners live in runners.py.

> 4. Any document or tutorial that helps in understanding how flent at
> architecture level work?

I'm afraid not; have never gotten around to writing any. But for the
purpose of adding new data series, the main thing to know is that a
runner is what produces data (as I said above). And a test config
specifies which runners to compose when running a test. There's a layer
in between that aggregates multiple runners into a single data file
(which lives in aggregators.py), but that is fairly generic, so I don't
think you'll need to touch that to add more runners.

If you want to start hacking, I'll suggest you look at existing runners
and test configurations and work from there; I'll be happy to answer
questions if you get stuck. And if you want to upstream your work, feel
free to send patches to this mailing list, or create a pull request on
github for review :)

Good luck, and happy hacking!


Flent-users mailing list

Reply via email to