Argonne is connected to ESnet, an OC-3 speed network connecting various Energy Research Laboratories. This page describes some of the performance figures we've obtained between ANL and Lawrence Berkeley Laboratory in California over ESnet. The hosts at ESnet which we used in these tests was an8 processor UltraSPARCs, connected to ESnet through a fast ethernet port. The machine on the ANL side was a 6 processor UltraSPARC, connected to ESnet through an OC-3 ATM port. Both machines were running Solaris 2.5.1. The ANL machine was configured to have 64KB TCP send/receive windows. The LBNL machine was configured with Solaris 2.5.1 default of 8KB TCP windows. The default TCP buffer size was used for the experiments unless otherwise noted.
One attempt to improve throughput over the high-latency, high-bandwidth network was to multiplex TCP streams over multiple TCP sockets, using POSIX threads to enable TCP writes to be done concurrently. A C++ class was written which does this, and TTCP was adapted to use this instead of regular socket operations. TCP writes were replaced with multiple socket TCP writes, with the data evenly distributed over the different sockets. Each socket was written to or read from by a single thread, and the data was buffered until the complete message was received. This version of ttcp was run over the ESnet network, with the following results:
