SCTP Discussions

Text archives Help


Re: [SCTP-Discussion] SCTP & ttcp


Chronological Thread 
  • From: Michael Tuexen <Michael.Tuexen AT micmac.franken.de>
  • To: discussion AT sctp.de
  • Subject: Re: [SCTP-Discussion] SCTP & ttcp
  • Date: Wed Nov 7 22:52:01 2001
  • List-id: SCTP Discussions <discussion.sctp.de>

Dear all,

see my comments below.

Best regards
Michael

On Wednesday, November 7, 2001, at 09:58 Uhr, Florence M Fowler wrote:

We have downloaded your implementation of SCTP and compiled it. My
assignment is to write a ttcp-like application to measure the
thruput of SCTP. I am using the code from ttcp to do the calculations but
obviously I must not know where to put the prep_timer() and read_timer()
functions. I placed the prep_timer()--to begin timing--in the
communicationUpNotif() function and the read_timer() to get the time
elapsed in the shutdownCompleteNotif() function for both transmitter and
receiver. I modeled the receiver after your discard_server and the
transmitter is something like your echo_tool.

The echo_tool does provide some sort of this functionality. Use the
-M option.
Following are the numbers using ttcp:
/ttcp -t -s 160.91.192.149
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp ->
160.91.192.149
ttcp-t: socket
ttcp-t: connect
ttcp-t: 16777216 bytes in 1.85 real seconds = 69.24 Mbit/sec +++
ttcp-t: 16777216 bytes in 0.05 CPU seconds = 2560.00 Mbit/cpu sec
ttcp-t: 2048 I/O calls, msec/call = 0.92, calls/sec = 1107.90
ttcp-t: 0.0user 0.0sys 0:01real 2% 0i+0d 0maxrss 0+2pf 0+0csw
ttcp-t: buffer address 0x8050000

./ttcp -r -s -b 200000
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001,
sockbufsize=200000 tcp
ttcp-r: socket
ttcp-r: rcvbuf
ttcp-r: accept from 160.91.192.165
ttcp-r: 16777216 bytes in 1.88 real seconds = 68.19 Mbit/sec +++
ttcp-r: 16777216 bytes in 0.80 CPU seconds = 160.00 Mbit/cpu sec
ttcp-r: 11210 I/O calls, msec/call = 0.17, calls/sec = 5971.92
ttcp-r: 0.0user 0.7sys 0:01real 42% 0i+0d 0maxrss 0+2pf 0+0csw
ttcp-r: buffer address 0x8050000

Following are the numbers using the SCTP implementation:
/scttcp -t -l 8192 -n 2048 -d 160.91.192.149 -s 160.91.192.165
sctp-t: 16777216 bytes in 44.03 real seconds = 2.91 Mbit/sec +++
sctp-t: 2048 I/O calls, msec/call = 22.01, calls/sec = 46.52

./scttcp -r -s 160.91.192.149
sctp-r: 16777216 bytes in 44.03 real seconds = 2.91 Mbit/sec +++
sctp-r: 2048 I/O calls, msec/call = 22.01, calls/sec = 46.52

Also, we were wondering how we might change/increase the socket buffer
sizes and the window sizes? I am not sure exactly how raw sockets act in
this regard. The SCTP implementation starts out fine but then more
than half-way thru it slows way down and begins to creep along. I just
want to make sure I am measuring things fairly and accurately.

In pre14 is a bug which results in this slowdown. It will be fixed in
pre15. In general, you should try to monitor the CPU usage and the link usage to see what the limiting resource is. Tests with the current code (which will be published as pre15) saturated a 100MBit link. If neither the CPU nor the link
is the limiting factor, you should inject more packets and/or increase the buffer
size for raw sockets. On FreeBSD you can do this using, for example
sysctl -w net.inet.raw.recvspace=16000
I do not know how you do this under Linux, but the sctplib will try to increase
it automatically for you.
But you should note that this is a prototype implementation which was never and is not optimized for speed. So you can use it to study the performance of the
protocol but is not fair to extrapolate measurements from this prototype to
kernel implementations of SCTP.

Best regards
Michael
Thank you.

Florence M Fowler


_______________________________________________
discussion mailing list
discussion AT sctp.de
http://www.sctp.de/mailman/listinfo/discussion

Michael.Tuexen AT micmac.franken.de





Archive powered by MHonArc 2.6.19+.

Top of page