IHOPE READERS will forgive me for plagiarizing Vannevar Bush's famous essay titlea that appeared 70 years ago in the pages of Atlantic Monthly. The title is so apt, however, that I dare to use it. Two items arrived in my inbox recently, one is the Winter 2015 edition of the Journal of the American Academy of Arts and Sciences, called Daedalus, and the other is the recent book by Peter J. Denning, a former president of ACM and editor of Communications, and Craig H. Martell titled Great Principles of Computingb and together, they provoked this essay.
The Daedalus issue is focused on
neuroscience and spans topics from
perception, the role of sleep, con-
sciousness and much else in addition.
The Great Principles book digs deeply
into fundamental principles underly-
ing what we call computer science. Not
surprisingly, they deal with some over-
lapping notions. The one that caught
my immediate attention in Daedalus is
titled "Working Memory Capacity: Lim-
its on the Bandwidth of Cognition."
As I read this, I immediately thought
of Denning's early work on the Work-
ing Set concept: programs had a natu-
ral span of memory requirement that
had to be met in real memory to avoid
thrashing in the implementation of
virtual memory space. Apparently the
human brain has a working set limita-
tion. In vision, it appears to be roughly
two objects in visual space per brain
hemisphere. That is, four total, but
limited to two supported by the visual
cortex in each hemisphere. More than
that, and our human ability to recall
and process questions about what we
have seen diminishes, rather like the
thrashing that happens when we do not
have sufficient real memory to support
the working set needed in virtual space.
Denning and Martell address this under
their "Principle of Locality."
a Vannevar Bush, "As We May Think;"
http://theatln.tc/1ahQVW2
b P.J. Denning and C.H. Martell. Great Principles of Computing. MIT Press, Cambridge, MA,
USA, 2015, ISBN 978-0-262-52712-5
Despite the wonders of the human brain, which we are far from understanding, it does not appear to have a convenient way to grow processing capacity while we can achieve that objective with our artificial computers by adding memory or adding processors. This is not to say that adding more conventional computing devices necessarily produces an increase in effective computing, for particular computing tasks. One has only to remember Fred Brooks' Mythical Man Monthc to recall this also applies to programming and the rate at which "finished" code can be produced. Adding more programmers does not necessarily produce more or better code. It might even produce worse code for lack of coordination and Brooks actually draws attention to this phenomenon.
Still, there appears to be a grow-
ing sense that computing may in fact
benefit from adopting unconven-
tional computational paradigms. The
so-called neural chips, such as IBM's
TrueNorth,d are indicative of this inter-
esting trend as is the rapidly evolving ex-
ploration of quantum computing. Add-
ing more state by adding more neural
nodes and interconnections seems to
improve the scope and accuracy of pat-
tern recognition for example. One then
begins to wonder whether there might
be utility in combining neural comput-
ing with conventional computing to
achieve something that neither might
be very good at alone. This reminds
me of work done by my thesis advisor,
Gerald Estrin, in the mid-1950s and
early 1960s on what he called "Fixed
plus Variable" computing.e In these
designs, a general-purpose computer
was combined with a variable structure
computer that, like today's Field Pro-
grammable Gate Arrays (FPGAs), could
be adapted to special purpose compu-
tations. As I understood Estrin's work,
this idea also extended to combining
analog and digital computation in
c http://en.wikipedia.org/wiki/The_Mythical_
Man-Month
d http://www.research.ibm.com/articles/brain-
chip.shtml
which the former achieved approxi-
mate solutions that could be refined
further by digital methods.
These ideas lead me to wonder whether, in the context of today's very flexible and scalable cloud computing environment, one might find ways to harness a variety of computing methods, including neural networks, conventional scalar and vector processing, graphical processors and perhaps even analog or quantum processing to solve various special sorts of problems. Assuming for a moment that any of this actually makes any sense, one is struck by the challenge of organizing the aggregate computation so that the results are reproducible, the appropriate intermediate results reach the right next computing step, and there is an ability to expand and contract the computing element requirements to match need might be preserved.
I hope readers who are far more experienced than I am in the design of complex computing systems may take time to voice their opinions about these ideas. In their book, Denning and Martell dive deeply into the importance of design in all aspects of computing. Without adherence to serious and deep design principles and attention to systems engineering, the usability and utility of computing systems of all kinds suffers. The Internet design adopted a variety of tactics including layering, information hiding and loose coupling, to achieve a scalable and evolvable system. There were only 400 computers on the Internet in 1983 and today there are billions of them. Design and systems engineering should have priority places in the curriculum of computer science. They are the beginning of everything and, in some sense, the end as well.
e G. Estrin and C.R. Viswanathan. Organization of a 'fixed-plus-variable' structure computer for computation of eigenvalues and eigenvectors of real symmetric matrices. JACM 9, 1 (Jan. 1962).
Vinton G. Cerf is vice president and Chief Internet Evangelist at Google. He served as ACM president from 2012–2014.
Copyright held by author.
'As We May Think'
DOI: 10.1145/2728204 Vinton G. Cerf