Commodity computing (or Commodity cluster computing) is to use 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. 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 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.
The mid-1960s to early 1980s
The first computers were large, expensive and proprietary. The move towards commodity computing began when DEC introduced the PDP-8 in 1965. This was a computer that was relatively small and inexpensive enough that a department could purchase one without convening a meeting of the board of directors. The entire minicomputer industry sprang up to supply the demand for 'small' computers like the PDP-8. Unfortunately, each of the many different brands of minicomputers had to stand on its own because there was no software and very little hardware compatibility between the brands.
When the first general purpose microprocessor was introduced in 1974 it immediately began chipping away at the low end of the computer market, replacing embedded minicomputers in many industrial devices.
This process accelerated in 1977 with the introduction of the first commodity-like microcomputer, the Apple II. With the development of the VisiCalc application in 1979, microcomputers broke out of the factory and began entering office suites in large quantities, but still through the back door.
The 1980s to mid-1990s
The IBM PC was introduced in 1981 and immediately began displacing Apple II's in the corporate world, but commodity computing as we know it today truly began when Compaq developed the first true IBM PC compatible. More and more PC-compatible microcomputers began coming into big companies through the front door and commodity computing was well established.
During the 1980s microcomputers began displacing larger computers in a serious way. At first, price was the key justification but by the late 1980s and early 1990s, VLSI semiconductor technology had evolved to the point where microprocessor performance began to eclipse the performance of discrete logic designs. These traditional designs were limited by speed-of-light delay issues inherent in any CPU larger than a single chip, and performance alone began driving the success of microprocessor-based systems.
By the mid-1990s, every computer made were based on microprocessors, and the majority of general purpose microprocessors were implementations of the x86 instruction set architecture. Although there was a time when every traditional computer manufacturer had its own proprietary micro-based designs there are only a few manufacturers of non-commodity computer systems today.
Today, there are fewer and fewer general business computing requirements that cannot be met with off-the shelf commodity computers. It is likely that the low-end of the supermicrocomputer genre will continue to be pushed upward by increasingly powerful commodity microcomputers.
Characteristics of commodity computers
A large part of the current commodity computing marketplace is based on IBM PC compatibles. This typically means systems that are capable of running Microsoft Windows, Linux, or PC DOS/MS-DOS, without requiring special drivers.
Some of the general characteristics of a commodity computer are:
- Shares a base instruction set common to many different models.
- Shares an architecture (memory, I/O map and expansion capability) that is common to many different models.
- High degree of mechanical compatibility, internal components (CPU, RAM, motherboard, peripheral cards, drives) are interchangeable with other models.
- Software is widely available off-the-shelf.
- Compatible with most available peripherals, works with most right out of the box.
Other characteristics of today's commodity computers include:
- ATX motherboard form factor.
- Built-in interfaces for floppy drives, IDE CD-ROMs and hard drives.
- Industry-standard PCI slots for expansion.
Some characteristics that are becoming common to many commodity computers and may become part of the commodity computer definition:
- Built-in Ethernet interface.
- Built-in USB ports.
- Built-in video.
- Built in interfaces for SATA drives.
Standards such as SCSI, FireWire, and Fibre Channel help commodotize computer systems more powerful than typical PCs. Standards such as ATCA and Carrier Grade Linux are helping to commoditize telecommunications systems. Blade servers, server farms, and computer clusters are also computer architectures that exploit commodity hardware.
- Commercial off-the-shelf (COTS)
- John E. Dorband; Josephine Palencia Raytheon, Udaya Ranawake. "Commodity Computing Clusters at Goddard Space Flight Center". http://spacejournal.ohio.edu/: Goddard Space Flight Center. Retrieved 2010-03-07. "The purpose of commodity cluster computing is to utilize large numbers of readily available computing components for parallel computing to obtaining the greatest amount of useful computations for the least cost. The issue of the cost of a computational resource is key to computational science and data processing at GSFC as it is at most other places, the difference being that the need at GSFC far exceeds any expectation of meeting that need."