SCL Cluster Cookbook

·   Technology   ·   Non-Parity, Parity, or ECC?   ·   Vendors   ·
·   Cluster Cookbook Home   ·   Scalable Computing Lab   ·

The amount of memory needed by the cluster's target application will likely determine how much RAM to purchase for the cluster. Programs that are parallelized should be divided such that the memory, as well as the processing, is divided between processors for scalability. Thus it shouldn't be necessary to buy enough RAM to hold the entire problem in memory on each system, but neither should the amount of RAM on each system be too small because swapping memory blocks to disk is a performance killer.

The RAM currently used for most commodity PCs is a small board with 72 tin or gold tabs (a.k.a. pins) called SIMMs for "Single Inline Memory Modules". Newer systems may use 168-pin DIMMs (Dual Inline Memory Modules). The PCGuide has an excellent section on memory packaging. When buying memory, you must be sure to buy the correct package, technology (FPM, EDO, SDRAM, etc.) and type (non-parity, parity, or ECC) to match the system's motherboard and chipset. Also try to match the connector type, gold socket to gold tabs or tin socket to tin tabs, to avoid corrosion and resulting memory errors.


FPM (Fast Page Mode) RAM is the old standard for memory which has been used since the Intel 80386 became popular. FPM allows faster access to successive columns in the same row of memory, resulting in a fastest access of 5 CPU clock cycles for the first column and 3 CPU clock cycles for successive columns in the row. (Inside the actual memory chips, individual bits are arranged in rows and columns.)

EDO (Extended Data Out) RAM changes the timing for FPM slightly so that successive columns of a row may be accessed in 2 CPU clock cycles. It is claimed that EDO RAM will not work for bus speeds higher than 66MHz. As of this writing, EDO RAM is the most popular RAM technology.

BEDO (Burst Extended Out) RAM further improves on EDO RAM to reduce clock time for successive columns of a row to 1 CPU clock cycle. Like EDO RAM, though, it is claimed that BEDO RAM will not work for bus speeds higher than 66MHz.

SDRAM (Synchronous Dynamic RAM) uses signaling synchronized to the system clock, so it is able to provide the same access timing as BEDO RAM but it will handle bus speeds up to 100MHz. Some Intel chipsets (430VX, 430TX, 440LX) support SDRAM, as do a few non-Intel chipsets.

Non-Parity, Parity, or ECC?

Some chipsets support only non-parity RAM. Parity-checking RAM, which detects single bit errors, seems to be a minimal requirement since one would not want a computation to continue if bad data is obtained from the memory. ECC RAM, which corrects single bit errors and detects double bit errors, seems like a good choice for larger clusters since there are so many individual memory components that provide opportunities for failure.

Beware "logic parity" RAM, which spoofs the parity bit and allows cheaper parity-lacking RAM modules to be used on systems that expect parity-checked RAM. Because the module does not keep the parity bit but generates it based on the current data read from RAM, it does not provide any actual parity verification capability.


Always check the instructions for a system's motherboard to identify exactly the type of memory module to purchase. Restocking fees could be expensive (if the supplier will take the memory back at all) if the wrong modules are purchased and end up not working in your system. Appearance of any vendor in this list does not constitute endorsement of that vendor by Ames Laboratory.

Questions or comments? Send mail to
Copyright © 1997, 1998 All Rights Reserved by Scalable Computing Laboratory.
Disclaimer Notice
Maintained by ghelmer / Last updated on 06/10/98