Commodity computing, or
commodity cluster computing, is the use of large numbers of already-available computing components for
parallel computing, to get the greatest amount of useful computation at low cost. It is computing done in commodity computers as opposed to high-cost supermicrocomputers or boutique computers. Commodity computers are
computer systems manufactured by multiple vendors, incorporating components based on
open standards. Such systems are said to be based on
commodity components, since the standardization process promotes lower costs and less differentiation among vendors' products. Standardization and decreased differentiation lower the switching or exit cost from any given vendor, increasing purchaser's leverage and preventing lock-in. A governing principle of commodity computing is that it is preferable to have more low-performance, low-cost hardware working in parallel (scalar computing) (e.g.
AMD x86
CISC) than to have fewer high-performance, high-cost hardware (e.g. IBM
POWER7 or Sun-Oracle's
Sparc RISC). At some point, the number of discrete systems in a cluster will be greater than the
mean time between failures (MTBF) for any hardware platform, no matter how reliable, so
fault tolerance must be built into the controlling software. Purchases should be optimized on cost-per-unit-of-performance, not just absolute performance-per-CPU at any cost.