Recommended hardware setup
Overview
This topic provides recommendations about your hardware setup, depending on your needs.
"Small group" setup
Server OS: See the System Requirements for supported Server OS versions
Client OS: See the System Requirements for supported Client OS versions
CPU: 4-core Intel Xeon
RAM: 16GB +
Disk for persistent storage: SAN, RAID, or NAS
Disk for temp space: 2-3 independent rotating disks or 1-2 SSD
"Mid group" setup
Server OS: See the System Requirements for supported Server OS versions
Client OS: See the System Requirements for supported Client OS versions
CPU: dual 4-core or 6-core Intel Xeon, latest generation
RAM: 32GB - 64GB
Disk for persistent storage: SAN, RAID, or NAS
Disk for temp space: 3-4 independent rotating disks or 2 SSD
"Large group" setup
Server OS: See the System Requirements for supported Server OS versions
Client OS: See the System Requirements for supported Client OS versions
CPU: dual 8-core or 8-core Intel Xeon, latest generation
RAM: 64GB - 128GB
Disk for persistent storage: SAN, RAID, or NAS
Disk for temp space: 4-8 independent rotating disks or 3-4 SSD
General Notes
CPU performance
We prefer Intel over AMD, because we find the performance to be better; we've not benchmarked the relative performance, of say, a 12-core Opteron vs. a 6-core Xeon.
Regarding disk for temporary space
Use SSD if possible. As of this date we recommend the following SSDs for temporary disk:
Intel 520 series
Samsung 830 series
Corsair Neutron series
"Enterprise-class SSDs" are overkill for the purpose of temporary storage and are much more expensive. You may combine SSDs with larger/cheaper rotating media. If you do so, specify an "access" value of 4 for the SSD and 1 for the rotating media; this will preferentially use the SSD until it starts to fill.
Using rotating media for temp space
More volumes are better.
Multiple "dumb" disks are preferred over fewer redundant volumes.
Configure each disk as a separate drive letter (on Windows) or mount point (on Linux).
7200rpm SATA drives perform OK, but 15k SAS is faster.
If temp spaces are allocated as SAN volumes, they should not share any physical disk spindles.
We find that RPDM runs well on two-socket (8-to-12 core) systems, and recommend adding hardware in those increments, as it is a good price/performance ratio.
We also have customers using RPDM under VMware on virtualized systems, which gives them flexibility to easily upgrade CPU core and RAM allocation, and that also works well.
Because RPDM is networked, you can add additional Execution Servers to the same Site Server, and all Execution Servers will share metadata.
Performance tips and memory settings
For CPU-intensive tasks like CASS, more and faster CPU cores will improve throughput.
CASS and Geocoding need at least 2GB per running project, in addition to memory normally used for sorting, joining, etc.
For disk-intensive tasks like ETL, sorting, joining, summarizing, etc., more/faster temporary disk spaces will improve throughput, especially using SSD for temp space.
For record-matching and other "hybrid" tasks, both CPU and temporary disks are important.
Usually, set your projects to use as many "tool threads" as there are CPU cores.
Recommended memory per simultaneous project to be run:
Without CASS or Geocoding: 2GB minimum
With CASS or Geocoding: 3GB minimum.
For 100MM+ records in batch: add 2GB.
For multiple instances of CASS, Geocoder, SERP, etc.: add 1GB.
More/larger data sets and complex projects will benefit from additional memory