Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

A T R A N D O M

Complexity
If the designer knows what she’s
doing, the design incorporates existing
lore—only the desperate or suicidally
naive would attempt a product with no

in Design
familiar or known-trustworthy com-
ponents—but it can’t be based only on
known components.
The nature of engineering is to never
design exactly the same thing twice.
Bob Colwell
Every new design pushes the envelope
somewhere: performance, cost, relia-
bility, features, capacity. Inevitably,
some aspects of the new design will be
t its most basic, what engi- outside the existing experience base.

A
neers do is pit their intel- That’s the part of engineering you
lect, training, experience, don’t learn in school. And assuming
and intuition—and that of two competing design teams are tech-
their design teams—against nically proficient and reasonably well
an implacable, relentless adversary: led, it’s what these teams decide to do
nature itself. I don’t mean that an actual in these unknown areas that will
battle is going on; after all, only one of largely determine which design ulti-
the would-be combatants even knows mately triumphs.
(or cares) that there is any contest. How well you So how do you handle the wilder-
When nature is the adversary, all that ness areas of your design, those places
stands between the engineered product handle your beyond your comfort zone and the
and disaster is the product designers’ design comes safety of your tools and direct experi-
foresight, wisdom, and skill. Nature ence? I think the answer comes down
may not have maliciously chosen just
down to how to how well you handle complexity.
the right wind pattern to demolish the well you handle
Verrazano Narrows Bridge, but bridges complexity. WHAT IS COMPLEXITY?
must not fall down no matter how the People who study chaos theory speak
wind is blowing. It may not literally be of a related complexity theory. They’re
true that nature is conspiring against trying to figure out why certain pat-
you, but it’s a very good way to view terns seem to appear at many different
the general engineering challenge. much. The real art of engineering, its levels of abstraction in natural phe-
Forewarned is forearmed. sine qua non, is in evaluating a pro- nomena; fractals are an example.
Students of engineering are first posed design from every angle and Scientists and engineers learn early
taught to “follow the rules”—guide- vantage point to make sure a design that patterns often mean something
lines for design that have proven over will achieve its goals and prove reliable important, so when the chaos theorists
time to result in systems that behave as over its intended lifespan. see the same pattern appear in seem-
intended. Civil engineers learn about When a simulation says a design is ingly unrelated places, they sense that
traffic patterns and human driving working, ask whether the simulation is there is something here worth investi-
behaviors so they can design better correct and complete. If a formal proof gating. However, I don’t know if the
roads. They study strengths of materi- asserts that some aspect of the design way they use the word “complexity”
als so that their bridges will be eco- is correct, ask whether the proof itself is what I mean by that word. They
nomical and reliable. When a bridge is trustworthy. What makes you so sure adopted the term before I did, but I
collapses, the rules are changed to the implementation technology will don’t know of a better one, so for the
incorporate the hard-won learning. work as needed? What if the product sake of discussion, let’s assume the
specification itself has holes or blind chaos folks are chasing a different
THE ART OF ENGINEERING spots? What if your product’s buyers chimera than I am.
But that’s not all there is to it. If engi- like it so much that they begin using it Even though you can’t tell it by look-
neers only had to follow a set of direc- in ways you hadn’t intended—can you ing at the math they use, physicists
tions, we wouldn’t need engineers; anticipate that so the product will strongly prefer simplicity in their mod-
computers and robots can do that gracefully accommodate its new uses? els. Dissatisfaction with the “particle

10 Computer Published by the IEEE Computer Society


zoo” that had accumulated over time clear cornea, nothing else matters. But is a way to salvage them, let alone what
led Murray Gell-Mann to look for a if all you had was a cornea, without that way might be.
simpler underlying structure, which he the light-sensitive rods and cones, you
named quarks. still couldn’t see. And if you have a Complexity factors
Physicists know well the pattern by cornea plus light-detecting facilities, There are some hallmarks to com-
which an imperfect understanding of you still need a neural pathway to plexity that I’ve noticed over the years.
what nature is exhibiting often leads to carry the information and some I believe design complexity is a func-
a complicated, unsatisfying scientific amount of mental processing with tion of the
model that a simpler, more fundamen- which to interpret it.
tal model will eventually replace. The The intelligent design community • number of ideas you must hold in
tendency for better knowledge to lead uses such arguments to attack evolu- your head simultaneously;
away from complexity and toward tion, expressing incredulity that some- • duration of each of those ideas;
simplicity is a useful signpost for their how all the necessary pieces could and
intuitions (www.santafe.edu/sfi/People/ develop together when none of them • cross product of those two things,
mgm/complexity.html). are useful until the whole mechanism is times the severity of interactions
Another group that adopted the complete. It’s an interesting argument, between them.
word “complexity” is wine connois- and there are reasonably compelling
seurs. When they say a wine is com- counterarguments, but it’s not my For instance, all else being equal, a
plex, they mean they think it tastes intention to take on this debate here. I deep microarchitecture pipeline carries
good, and it strikes a good balance mention it only because I want to bor- more intrinsic complexity than a shorter
between all the different ways a wine row the idea of “irreducible complex- one. Different activities occur at each
can be measured. (Rich and deep, oaky ity,” and attribution must be given. pipe stage (otherwise why does that
with a hint of fresh bougainvillea blos- pipestage exist?), and each activity can
soms after a rainstorm on a Tuesday. take more than one clock cycle. If a
… Okay, I admit it—I don’t know any- An engineer’s pipestage doesn’t exist, it can’t interact
thing about wines, and I made that up. implacable, relentless with any others; conversely, if the
But they may as well say that as what adversary is nature pipestage does exist, you must consider
they do say about wines, for all it helps itself. those interactions and make sure they’re
me in selecting one. “Dry” wines still all congruent with the project’s goals.
stain the rug.) I doubt that the wine For nominal pipeline operation, this
experts have much to offer design engi- kind of analysis is difficult but doable.
neers in terms of identifying and prop- Quantifying complexity But for exceptional conditions, such as
erly handling complexity, other than in You can’t quantify complexity, but reset, fault, interrupts, test scan, per-
much-appreciated liquid form. you can feel it. In fact, during a lead- formance counter interactions, power-
A fourth group that I mention with ing-edge design, if anything, complex- downs to lower thermals, breakpoints,
considerable trepidation are the “intel- ity feels more real than many of the and stalls, the degree of intellectual dif-
ligent design” proponents. I do think design’s more quantifiable aspects. ficulty can reach nightmarish propor-
there are ideas here that can inform a Your simulation tools can tell you a tions.
design team’s choices, if only we can microprocessor’s projected die size, but
distinguish the essence of the irre- there’s still time before the tapeout. Project unknowns
ducible complexity argument from the Things happen, and as long as you This definition of design complexity
emotional tar pit from which it comes. believe that aspect of the design is on makes it a little clearer why project suc-
track, then for today it’s mainly a the- cess is so sensitive to unknowns. The
Irreducible complexity oretical concern. very fact that these unknowns are, well,
The basic notion of irreducible com- Performance and power dissipation unknown, means that they could inject
plexity is that, to achieve some end, feel that same way. But complexity is a wide range of behavior into the
certain physical systems must have a a monster you can hear breathing right design. That uncertainty range increases
minimum amount of complexity. No outside your cubicle. It whispers your the number of ideas you must simulta-
isolated pieces of that system are very name during planning meetings, but if neously consider, and it might also
useful in and of themselves, but taken you’re not paying attention you may increase the predicted time durations
as a whole, they could achieve some- not hear it. Later on, you find yourself needed.
thing very useful indeed. at the moment of truth in a project, It doesn’t take much uncertainty to
I’ve heard human eyesight described suddenly realizing that things aren’t make the complexity-derived behavior
in this way, for example: Without a right and it’s by no means clear if there range too big to mentally handle. And

October 2005 11
At Random

this is perhaps the most insidious issue have a practical grasp of the project’s that complexity is well justified.
of all: When faced with a complex sit- complexities, with enough margin to It’s also true that what initially looks
uation, you generally know that you handle the usual surprises down- impossibly complicated may seem
aren’t yet in command of all the neces- stream, great. Today will be a good day quite reasonable after a period of study
sary details. This in itself isn’t alarm- and you won’t have to think about this and experience. In part, you just get
ing; it takes time to understand what again until next week, when you must used to it; you find that you can
hundreds of people are doing or intend confront the same issue again. But remember the various pieces, their
to do. But you can’t leave it like that. what if you decide that things seem to roles, and how they interact. You also
One option is to insist that all of the have gotten a bit too close to the edge? find ways of thinking about what those
unknowns be researched and quantified What do you do then? pieces do, mental models that you
so that your spreadsheet can tell you internalize—thus they constitute no
what to do. But this scheme doesn’t tax on your cognition.
work. Your project doesn’t have enough It’s always possible to I remember how thunderstruck I
time or idle engineers to do this much design something so was in college after struggling with
new work; besides, not everything you complicated that you some formidable mathematical con-
want to know about your project is can never get it right. cept only to have a fellow student
knowable, much less quantifiable. point out how simple it was when
Complexity exacts a toll in many viewed in the right way. This familiar-
ways. In my January 2004 At Random ization effect must also be considered
column (“Design Fragility,” pp. 13-16), WHY NOT JUST SIMPLIFY when you’re judging how much com-
I argued that complex designs are more EVERYTHING? plexity a design project should include.
fragile and lead to more surprises Why not just make everything sim-
(which are always bad). Complexity ple? As Einstein said, everything
leads to longer development schedules; should be as simple as possible, but no design’s complexity must serve
it directly causes design errata; it fos-
ters suboptimal tradeoffs between com-
peting goals; it makes follow-on designs
simpler.
Have you ever taken a close look at
an acoustic grand piano? The compli-
A a project’s major goals. If your
design is complicated but coher-
ent, challenging but understandable,
much more difficult; and it’s cumula- cated mechanism in which the player’s you may have struck a good balance
tive, with new designs inheriting all of fingers cause hammers to fall on between irreducible complexity and
the complexity of the old and with new strings, which are damped to varying the project’s goals.
complications layered on top. degrees and at varying times, is exquis- Strive to avoid creeping complexity,
Increased project complexity also itely subtle and quite involved. Perhaps the kind that arises from unintended
shrinks the available pool of engineers there’s a way to simplify that mecha- interactions among multiple unrelated
who can help when things go awry. nism without sacrificing the combina- design decisions. Eschew complicated
Any competent designer can make easy, tion of tone and playability that has machinery that isn’t clearly and prov-
straightforward choices, but for truly selectively evolved over hundreds of ably necessary to attain one or more of
gnarly situations, only wizards will do. years. But it seems likely that most of the major project goals. If you aren’t
And there are never enough wizards. a piano’s complexity is necessary sure you need some logic in your
Stanford’s John Hennessy once said because of how our fingers, feet, and design, keep asking questions until
that it’s always possible to design some- ears work. A skilled performer can someone either justifies it or agrees to
thing so complicated that you can never coax thunderous waves of sound or toss it overboard.
get it right. As a project leader, are you delicate susurrations; the mechanics of Entropy always drags a project in
smart enough to mentally absorb the the keys have the requisite dynamic the direction of increasing complexity;
remaining project unknowns on top of range. This complexity works. things never get simpler on their own.
what you already know to the extent A simple bow and arrow can be eas- Except for bad wine. On Tuesdays. ■
necessary to make good decisions on ily made; if the materials and work-
any remaining tradeoffs (some of which manship are good, a serviceable
haven’t even surfaced yet)? weapon can be achieved. But there are Bob Colwell, the 2005 recipient of the
To some extent, everyone on the other variations on that theme that IEEE Computer Society/ACM Eckert-
design team has this same problem. In work better—a compound bow using Mauchly Award,, was Intel’s chief IA32
considering a design’s overall com- pulleys achieves much higher arrow architect through the Pentium II, III,
plexity, you’re making the “smart speed at less draw weight, but at the and 4 microprocessors. He is now an
enough” choice on their behalf as well. cost of considerably higher complex- independent consultant. Contact him
If, after deep reflection, you believe you ity in its design. For what it achieves, at bob.colwell@comcast.net.

12 Computer

You might also like