by, W. Daniel Hillis
Optimizing a design always means trading off the performance of different parts
to achieve a balance. The question is: What kind of balance? Two principles,
equal performance and equal cost, are widely used. A third, equally important
principle is equal effectiveness -matching the cost-performance ratios of all
modules in a design.
For a serial design-one in which modules are connected in a chain-equal performance
is the answer. A serial system can run no faster than its weakest link, so any
extra performance in the middle of a chain will be wasted. The money spent on
bringing each component to the required speed is essentially irrelevant; if
a serial design has any part that runs slower than desired, the system will
not do its job.
For a staged design-one in which system performance is proportional to the product
of the performance of each module-costs should be allocated equally among t
he modules. Since the total cost is equal to the sum of the module costs, this
principle will maximize the cost-performance ratio. For example, the optimal
design for a two-stage amplifier, where the cost of each stage is proportional
to its gain, will specify two amplifiers of equal gain.
Another application of this second principle of balance is found in computer
architecture. One computer architect, C. Gordon Bell of the U.S. National Science
Foundation, has commented that the power of a computer is essentially proportional
to the product of the processing speed and its memory size. A slow processor
with a large memory cannot make efficient use of its resources, while a fast
processor with a small memory has no place to put all its answers. It follows
that about half the cost of an optimal computer should be in processing and
the other half in memory.
The third principle of balance is more complex: it applies when module cost
is proportional to throughput rate, but the goal of optimization is to save
the total time required for an operation. For example, in a digital system with
many circuit boards, total communication time depends on the sum of the time
required to communicate between chips on a single board and the time to communicate
between boards. But the cost of speeding up interboard communication may be
10 times that of speeding intraboard communication-perhaps $1 for a megabit
per second on the board, and $10 for a megabit per second off the board. The
rule of equal performance would call for spending 10 times as much on interboard
communication. This might lead, for example, to a throughput of 1 megabit per
second for both parts of the path, and a total time of 2 microseconds to move
a single bit from its source to its destination, at a cost of $11.
The rule of equal cost would call for making the intraboard communication 10
times as fast. That hypothetical $11 would be split between the two modules
to yield 5.5 megabits per second on the board and 0.55 megabit between the boards.
Total time to transmit a bit: 2 microseconds.
The rule of equal effectiveness splits the cost according to the square root
of the cost-performance ratios-the square root of 10 in this case. With 3.16
times as much spent for off-board communications as for on-board, the hypothetical
$11 is split $8.36 to $2.64, On-board speed is 2.64 megabits per second and
off-board speed is 0.836 mega- bit per second, so it takes 1.57 microseconds
to transmit a single bit.
This third rule is a geometric mean of the allocations suggested by the equal-performance
and equal-cost- rules; it acknowledges the fact that, as one part of a system
is speeded up, it accounts for less of the total time to do a given operation,
making further increases in speed less and less useful. This rule is also the
answer to Amdahl's law, long known in computer science, which states that if
a computation has a slow part and a fast one, the performance of the slow part
will eventually dominate total performance. While Amdahl's law identifies the
problem, the rule of equal effectiveness specifies how engineers should allocate
resources to solve it optimally.
Hillis, W.D. "Balancing a Design," IEEE Spectrum, vol. 24, no. 5, May 1987.
To bookmark this page click here and then bookmark this unframed version.