Menu ▾ ▴

#263 Set independant request and reply sizes for BounceBack.

1.0
pending
None
2023-05-12
2023-05-11
No

Two patches to be able to configure the sizes for the BounceBack requests and replies independently of each other. Just in case the link is asymmetrical, or to emulate some RPC or HTTP transactions. I may have fixed some buffer overruns on the server in the process, I apologise for that.
Regards,
Jean

2 Attachments

Discussion

  • Robert McMahon

    Robert McMahon - 2023-05-11
    • status: open --> accepted
    • assigned_to: Robert McMahon
     
  • Robert McMahon

    Robert McMahon - 2023-05-11

    Curious to some use cases here? (PS. Fixing buffer overruns is a good thing - thanks for that.)

     
    • Jean Tourrilhes

      Jean Tourrilhes - 2023-05-11

      I'm not going to tell you all my secrets ;-)

      Netperf RR allows to configure the request and reply independently of each other, and I've been using it extensively in the past. But Netperf does not have support for setting MSS, and does not have one of my favourite maintainers ;-)

      As I said, this change makes it easier to emulate RPC or HTTP transactions. Basically, you can emulate some transactions from iperf and see how different perform. This is similar to how people are troubleshooting performance issues with wget, and allow to get the web server out of the equation.

      My initial testing of BounceBack on idel links is that it's quite variable/noisy due to software scheduling and interrupt coalescence. If that's what you want to measure, that's fine. I think bigger request and replies may be needed to tease out the actual contribution from the network.

      I'm comparing AQMs (CoDel, PI2) with schedulers (DRR, such as the one in fq). The scheduler implementation in fq is smart, a new flow jump the queue. That will give very low ping in bufferbloat situations. I want to use bigger requests spanning multiple MSS to get a more realistic situation where actual scheduling need to happen to process the full request.
      On the other hand, I want to minimise congestion on the return channel so that it does not impact the results, so I want to make the reply as small as possible.

       
  • Robert McMahon

    Robert McMahon - 2023-05-11

    Ok, most of the code is here. I still need to do some cosmetic fixes to outputs.

     
    • Jean Tourrilhes

      Jean Tourrilhes - 2023-05-12

      Thanks, that was quick !

       
      • Jean Tourrilhes

        Jean Tourrilhes - 2023-05-12

        I realised that I left a bug in my code that seems to have confused you. I took that opportunity to reorganise a bit, and expand your great idea of auto-adjusting mBufLen. I also added --bounceback-request to the man page.

         
        • Robert McMahon

          Robert McMahon - 2023-05-12

          Nice - thanks for this. I did a few more error messages and didn't allow for auto-adjust if -l is set.

           
  • Robert McMahon

    Robert McMahon - 2023-05-11
    • status: accepted --> pending
     
  • Robert McMahon

    Robert McMahon - 2023-05-12
     
  • Robert McMahon

    Robert McMahon - 2023-05-12

    Still need to fix server/listener side setting of mBufLen when reply is larger than -l

     
    • Jean Tourrilhes

      Jean Tourrilhes - 2023-05-12

      I quickly tested. It seems to do its job. Great work !

       
  • Robert McMahon

    Robert McMahon - 2023-05-12

    FYI, I posted the latest man page. I really appreciate your help with this.

     

Log in to post a comment.