SGI Network Performance


Last Update: Tue Jun 11 09:45:23 1996 by Von Welch

Improving Performance

TCP Window Size
Buffer Alignment
  • Use valloc() to allocate all buffers. This will ensure the buffer starts at a page-aligned boundary.
  • Consider making all buffers a multiple of the page size (use getpagesize() to determine) in length. It is much more efficient to send full pages and discard unused data then send smaller buffers.
Write Size


Throughput verus TCP Window Size

Power Challenge to Power Challenge over HIPPI
Window SizeThroughput
64 KB130 Mb/s
128 KB210 Mb/s
256 KB460 Mb/s
384 KB600 Mb/s
512 KB670 Mb/s
640 KB670 Mb/s
768 KB700 Mb/s
896 KB700 Mb/s
1024 KB700 Mb/s
A 48 KB buffer was transferred from one Power Challenge to another. The total transfer was timed and the throughput recorded.

One megabyte is the maximum allowed buffer size on a standard Power Challenge.


Throughput verus Write Size

Power Challenge to Power Challenge over HIPPI
Buffer Size# WritesThroughput
48 MB1280 Mb/s
24 MB2330 Mb/s
12 MB4380 Mb/s
6 MB8400 Mb/s
3 MB16410 Mb/s
1 MB48415 Mb/s
512 KB96430 Mb/s
256 KB198435 Mb/s
128 KB384400 Mb/s
64 KB768330 Mb/s
48 KB1024360 Mb/s
A single 48 megabyte buffer was sent in one or more write()s of fixed size. The time taken to send the whole buffer was recorded and the average throughput calculated.

A 1 megabyte TCP window was used.

This data is not very well understood. It indicates that the SGI networking code seems to have some problem handling large buffers efficiently and performance can be improved by "breaking up" large buffers for the system.


Hardware and Software Used for Testing


Von Welch <Email: vwelch@ncsa.uiuc.edu> <My Home Page>