The Most Complicated Machine
From crispyneurons
Do you know what the most complicated machine ever created is? It's not exactly easy to tell. First, we have to start with some definition of engineering complexity.
[edit] Definition
Here is my definition:
The most complicated machine ever created is the one containing the largest number of discrete, functional, human-engineered components.
This gets a bit tricky. Note that this definition excludes things like bioengineered mice, in which the bulk of the system's complexity was created by nature, not the human mind. Yet even something as apparently simple as a teeter-totter has nightmarish complexity at the quantum mechanical scale, complexity we only dimly comprehend, and we simply leverage it--and take it for granted. There is no system that human ingenuity can take full credit for... so we need to be pragmatic.
Another thorny problem: what about something like the Internet--is that a 'machine'? Or what about the telephone system, or the electric grid? Plumbing? It seems we have to be judicial about system boundaries. Wikipedia may help a bit:
I don't offer an definitive answer to this problem, but to help clarify systems from subsystems and networks, here's a paraphrased functionalist argument by Hillary Putnam:
No system possesses a decomposition into subcomponents which separately perform the same function as the system as a whole.
So phone/computer networks are excluded, since they have many functionally equivalent subcomponents (that is, phones and computers!) but phones and computers themselves count. Identical subcomponents within a system, such as RAM chips, are excluded as well for the same reason.
[edit] BlueGene/L
My research suggests that according to my definition, the supercomputer known as BlueGene/L is the most complex machine yet created by humans.
This may be broken down by component type:
- Processing: This machine has 65,000 nodes. Each node contains a 5 million-transistor ASIC that includes 2 PowerPC 440 processors.
- Input/Output: The I/O subsystem is based on 1,024 additional PowerPC 440 processors. I haven't been able to determine how many transistors are in a PowerPC 440, but I know there are two of these on each of those ASICs, so they have to contain less than 2.5 million transistors. Let's assume that it's only 2 million per processor.
- Data Storage: On top of THAT, BlueGene/L has a 400-terabyte remote file system. Unfortunately I don't know anything about this, other than it exists. We can treat each read/write bit as a discrete component, since each bit is stored physically (on a very tiny speck of magnetic material) and has a function (to store a magnetic state interpretable as a 0 or 1). A terabyte is 1,099,511,627,776 bytes, so 400 terabytes comes to 439,804,651,110,400 bytes, and there are 8 bits in each byte. (Yikes!)
- Other: Keyboards, monitors, cables, cases, power supplies, etc. I have no way to estimate how many components are in this category, so it gets excluded from consideration.
[edit] Complexity Estimate
Given what is known, we can make some simple calculations:
- Processing: 65,000 (ASICs) x 5,000,000 (transistors) = 325,000,000,000 (processing components)
- I/O: 1024 (processors) x 2,000,000 (transistors) = 2,048,000,000 (I/O components)
- Storage: 439,804,651,110,400 (bytes) x 8 (bits) = 3,518,437,208,883,200 (storage components)
- 325,000,000,000 (processing components) + 2,048,000,000 (I/O components) + 3,518,437,208,883,200 (storage components) = 3,518,764,256,883,200 (total components)
Thus, BlueGene/L contains well more than three quadrillion, five hundred eighteen trillion, seven hundred sixty-four billion, two hundred fifty-six million, eight hundred eighty-three thousand, two hundred components. Damn, that's complicated!
