Measuring TCP bandwidth on top of a Gigabit and Myrinet network
Juan José Costa Prats, Javier Bueno Hedo, Xavier Martorell, Toni Cortés · 2009
In this article we measure the bandwidth achieved by the TCP protocol on top of a Gigabit and Myrinet network. We have created a synthetic benchmark, consisting on a server and a client that both produce and consume data, to measure bandwidth. Four different versions of this benchmark are evaluated: (a) a simple one-threaded version; (b) a version that can consume data if the producer is unable to produce data; (c) a version with the Nagle algorithm disabled; and (d) a version where producers and consumers are threads on their owns. The results shows that on both networks: (1) it is necessary to drain the network to avoid deadlocks; (2) the Nagle algorithm is useful and gets smaller variation in results; and (3) adding an extra thread for reading reduces the maximum bandwidth achievable and it gets better bandwidth for bigger messages and worse for smaller ones when a great number of messages are sent.