Skip to content

Using link type CSMA seems to significantly limit throughput when you increase the link delay #19

@jafingerhut

Description

@jafingerhut

I was experimeting with varying the parameters of the following example command given for using P4sim with the p4lang/tutorials repository:

./ns3 run p4-v1model-ipv4-forwarding -- \
  --pktSize=1000 --appDataRate=100Mbps --linkRate=1000Mbps \
  --switchRate=100000 --linkDelay=0.01ms --simDuration=20 --pcap=true

I noticed that the throughput was near 1000 Mbps with those parameters, but it went down significantly when increasing the linkDelay parameter, e.g. to 1ms.

Looking further, it appears that perhaps a behavior of the CSMA link type is that after it transmits a packet on the link, the link transitions to a TRANSMITTING state for the duration of the link delay, which prevents anyone from transmitting on the link until that link delay has elapsed.

That might be how some CSMA links behave, but CSMA Ethernet links are uncommon in data centers these days. Most Ethernet links are point-to-point, and senders can send a subsequent packet immediately after completing the transmission of the previous packet.

This issue is just to point out this property of the current example code for P4sim, and to ask whether because of this, you might want to consider changing the csma links to point-to-point links, which are also available in the ns-3 set of available link types?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions