Comments (19)
Check this reply
#3 (comment)
Sorry, I didn't explain it in the readme.
from ns3-rdma.
The trace should have everything you need.
For latency, you can enable tracing for source and destination nodes, and calculate the timestamp difference for the same packet
For throughput, you can trace the source node, and count the number of packets during a given time period (in fact, just check the first and last sequence number in that period)
For goodput, trace the destination node
from ns3-rdma.
Thank you.
I also want to test the latency and throughput of the network.
How/where can I get these information or do I need to modify any codes?
from ns3-rdma.
Thank you very much! I will try it out.
from ns3-rdma.
Hi, can you help me with the following questions? Thank you.
(1) I traced all the three nodes in the sample topology file. But it seems that it only traced the packets destined to the node, not the packets originated from it. Therefore, I can't get the time stamp of the packet when it's sent. And also I think different kinds of packets are traced in the source (node #2?) and destination (node #1?) nodes, which are not comparable.
For example, in the trace file, for node 1, it's udp packets:
2.000204 /1 1.3>1.1 u 34029 495 3
for node 2 (maybe it's corrupted packets or CNP?):
2.000204 /2 1.1>1.2 qFb=47/122
2.000214 /2 1.1>1.2 qbb:pg=3,seq=513
(2) Maybe I used the wrong tool to open the trace file. Which tool should I use?
from ns3-rdma.
Packets are only traced at the ingress. But you can still calculate the packet's departure time by minus link propagation delay (in topology.txt) from the next hop's arrival time, right? It's a simulation, so the time is precise..
The example is a 2:1 incast (in flow.txt). Node 0 is the switch, node 1 is the receiver, node 2 and 3 are senders. You may want to enable tracing node 0, and use the timestamp on node 0 to calculate the network latency -- in the end, you only care about the queuing delay at node 0. Propagation latency is what it is.
CNP packets may be traced, too. It's generated by the receiver and sent back to the sender. As you said, only arriving packets get traced. Since you didn't trace node 0 (the switch), only senders will record these packets.
When you analyze the throughput, focus on UDP packets. It's specified by "u", the fourth column.
from ns3-rdma.
Hi, besides udp packets, what are these packets with type of:
qFb=1/15
qbb:pg=3,seq=10241
My guess is they are PFC related (PAUSE/RESUME) packets?
from ns3-rdma.
These are CNP packets
from ns3-rdma.
Both of them? why are they different?
Do you track PFC frames?
Thank you.
from ns3-rdma.
I don't think I tracked PFC frames.
I checked the code. qFb packet is the CNP (the value is the ratio of ECN marked packet vs. total number of packets).
qbb:... packet is ACK or NACK.
from ns3-rdma.
Thank you.
Can I configure the buffer threshold for PFC trigger somewhere?
from ns3-rdma.
https://github.com/bobzhuyb/ns3-rdma/blob/master/src/network/model/broadcom-node.cc
But I can't say too much about the broadcom MMU because it's from confidential documents. You can read GetPauseClasses and try to understand what logic is implemented
from ns3-rdma.
Hi, can I monitor the change of output queue lengths? Where and at which point should I get the information? Somewhere in the "broadcom-egress-queue" or "qbb-net-device"?
Thank you.
from ns3-rdma.
This is an example you can find in the code. Search,
BroadcomNode::ShouldSendCN(uint32_t indev, uint32_t ifindex, uint32_t qIndex)
{
// in this function you can see how m_usedEgressQSharedBytes[ifindex][qIndex] is used
}
from ns3-rdma.
indev is flowID, and qIndex is the queueID?
What about ifindex?
from ns3-rdma.
indev is the ingress port, ifindex is the egress port, qIndex is the queue (priority)
from ns3-rdma.
May I ask in which header you print the "time' and "node" value in the out put trace "2.000002 /1 1.2>1.1 u 29348 0 3"? I could find them, not in ip, udp or seqts headers.
And how do you define the flow-id in the tag? do the flows from one source node have the same id?
Thank you!
from ns3-rdma.
https://github.com/bobzhuyb/ns3-rdma/blob/master/src/network/helper/trace-helper.cc#L419
I don't remember flow-id. What's it used for? I thought I just differentiated flows based on 5-tuple
from ns3-rdma.
there's a flow-id in "flow-id-tag.h/cc"
from ns3-rdma.
Related Issues (20)
- In incast 20:1, when the flow is finished, the queue size is not zero?
- What does the hops in qbb-net-device mean? HOT 1
- How to run with visual studio 2015? HOT 7
- Some questions about the output HOT 14
- Run time error "cannot add the same kind of tag twice"
- WARNING: Drop because egress Q buffer full HOT 8
- How to adjust the sending rate? HOT 8
- How to compile and run with WAF under Ubuntu? HOT 14
- No output in the cmd HOT 2
- Missing of build file HOT 6
- some questions to kmin translate to m_pg_qcn_threshold. HOT 1
- questions about Timely HOT 6
- hello can you teach me how to choose open DCQCN or not , i don't find that options HOT 2
- Build Errors with visual studio 2015 community.
- Output interpretation HOT 1
- How to implement RSVP protocol?
- Other version of ns3
- a specific derivation process for R_AI HOT 3
- M1 MacBook installation
- time run error
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ns3-rdma.