Both individual and clustered workstations/servers are suitable
for running high performance, technical computing programs. These
workstations or servers can have one or more CPUs. In general, workstations
are not configured with more than two CPUs. Conversely, servers
are often configured for up to 64 CPUs. Clustered systems can include
a few systems (nodes) or as many as 1000+ systems. These nodes can
be linked by Ethernet or by some high-speed interconnect which has
low latency and very high bandwidth.
With either individual or clustered systems, the goal is to
use the multiple processors in parallel to execute an application “n” times
faster, where “n” represents the number of processors.
Achieving the desired performance can be difficult, especially as
the number of processors grows larger. Performance typically depends
on the scalability of a program—and how scalable a program
is depends on many things, including algorithm(s) used, size of
the problem being solved, physical performance characteristics of
the system, and how well optimized the program is for the platform
pair it is running.