Linux and Memory

Memory historically is a hot topic for most computer enthusiasts. You simply could not have enough memory. That used to be true for me as well until I bought an old HP XW8400 workstation from Ebay with 16 GByte of memory. That machine replaced my old computer that only had 1 GByte of memory which happened to be too little some times.

The machine with 16 GByte however never reached the limits in normal operation. I was even surprised to find, that you rarely need more than 2 GByte when running a desktop with KDE. Even when using a lot of programs, something like 4 GByte is well enough.  I’d say for a normal desktop machine, 4 GByte is enough and 8 GByte should serve you for some more years.

More interesting than the amount of memory nowadays is the speed with which you can access the memory. Some years ago, I experimented with a little tool named memxfer (it exists at least in two incarnations, one from IBM, one from JJ, a former colleague of mine. Find his page at http://www.jjj.de/memxfer/. I have done some tests with more current machines, and wanted to write down selected results. I wonder a little bit, why phoronix never did such a test, maybe they did not find it yet…..

To be comparable to the results on the above page with old computers, I iterated over the different tests using 32MB size. Note, that this has not been done in “clean” conditions, commonly I just run the test during normal operation with a desktop on the machine:

1. HP XW8400, DDR2 667 ECC (2 GByte modules):

xw8400:avg:   33554432  [ 0]"memcpy"                   2112.373 MB/s
xw8400:avg:   33554432  [ 1]"char *"                   1142.416 MB/s
xw8400:avg:   33554432  [ 2]"short *"                  1177.033 MB/s
xw8400:avg:   33554432  [ 3]"int *"                    1250.023 MB/s
xw8400:avg:   33554432  [ 4]"long *"                   1299.971 MB/s
xw8400:avg:   33554432  [ 5]"long * (4x unrolled)"     1312.055 MB/s
xw8400:avg:   33554432  [ 6]"int64 *"                  1308.824 MB/s
xw8400:avg:   33554432  [ 7]"double *"                 1298.865 MB/s
xw8400:avg:   33554432  [ 8]"double * (4x unrolled)"   1308.527 MB/s

2. Zotac Zbox ND22, DDR3 1066 CL5 (Kingston SO-DImm, quite hard to get at the moment; to use them correctly, manual BIOS adoption is required):

zbox_nd22:avg:   33554432  [ 0]"memcpy"                   1897.534 MB/s
zbox_nd22:avg:   33554432  [ 1]"char *"                    868.184 MB/s
zbox_nd22:avg:   33554432  [ 2]"short *"                  1193.466 MB/s
zbox_nd22:avg:   33554432  [ 3]"int *"                    1281.442 MB/s
zbox_nd22:avg:   33554432  [ 4]"long *"                   1309.471 MB/s
zbox_nd22:avg:   33554432  [ 5]"long * (4x unrolled)"     1320.355 MB/s
zbox_nd22:avg:   33554432  [ 6]"int64 *"                  1322.582 MB/s
zbox_nd22:avg:   33554432  [ 7]"double *"                 1317.783 MB/s
zbox_nd22:avg:   33554432  [ 8]"double * (4x unrolled)"   1315.258 MB/s

3. Intel Sandybridge 5600, DDR3 1333:

5600:avg:   33554432  [ 0]"memcpy"                   8242.705 MB/s
5600:avg:   33554432  [ 1]"char *"                   2732.688 MB/s
5600:avg:   33554432  [ 2]"short *"                  4532.122 MB/s
5600:avg:   33554432  [ 3]"int *"                    5509.035 MB/s
5600:avg:   33554432  [ 4]"long *"                   5647.185 MB/s
5600:avg:   33554432  [ 5]"long * (4x unrolled)"     5646.078 MB/s
5600:avg:   33554432  [ 6]"int64 *"                  5638.458 MB/s
5600:avg:   33554432  [ 7]"double *"                 5629.352 MB/s
5600:avg:   33554432  [ 8]"double * (4x unrolled)"   5644.028 MB/s

Surprisingly, the old XW8400 is quite close to the relatively new ND22. Obviously, it is not only the memory type that is important, but also the chipset and the build of the mainboard. In the end, double the data lines give you double the throughput, regardless of the used memory. When comparing to old results from JJ, it is obvious that there has been a great development of memory speeds in the last 10 years. However, the amount of memory used by the operating systems has also increased dramatically. One good thing remains: all the old programs that still can cope with little and slow memory greatly benefit from todays big and fast RAMs.

Advertisements
This entry was posted in Hardware, Memory, openSUSE. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s