Inventor of the Week Archive
for a different Invention or Inventor
Innovations in Programming
Computer scientist David Bacon makes it his mission to improve
the efficiency of computer programming languages. Over the course
of his career he has been responsible for a number of breakthroughs
in programming language implementation and real-time computing,
in particular via his work on what is known as IBM's Metronome
Born in New Haven, Conn., on February 24, 1963, Bacon became
intrigued with science and technology at the tender age of
six after he watched the first man land on the moon on television.
When he was 12, he picked up a book of his father's entitled
"The Wiley Self-Teaching Guide to BASIC" and became fascinated
with computer programming languages after he breezed through
the book in just a few days.
At that time, in 1976, it was difficult for the average
person to gain access to a computer, so Bacon began writing
computer programs out in longhand, on paper, to feed his newfound
passion. In a painstaking and time-consuming process, he began
"debugging" them on paper as well. This would help to make
him a very careful, thorough, and detail-oriented professional
in later years.
Bacon's father helped him gain access to a computer when
he was 14 via a contact at Columbia University. Bacon wrote
some computer games and before long, familiarized himself
with programming interpreters and the notion of programming
implementation. By the age of 16, he was hired by a small
computer company to write programs in his "spare time," in
addition to carrying a full high school course load. While
still a senior in high school, he got a plum job with a local
startup software company, complete with an adult-scale salary.
When Bacon entered Columbia University as a freshman, he
took a break from programming to explore literature and creative
writing. Eventually he returned to computer science, completing
a B.A. in the subject in 1985. It was at Columbia that he
became interested in research and development, via an opportunity
he had to work with Professor David Shaw to develop a supercomputer.
Bacon was charged with designing and implementing the language
that would run on top of the new machine.
Later he worked with Professor Yechiam Yemini on distributed
computing—using many computers in different locations
working together to solve a problem. Bacon's job was to figure
out the positions of a group of computers, most of which were
moving around, by using transmission delays to triangulate
their exact locations. He and a colleague developed a system
that enabled them to test their algorithm on a simulator for
a network that could run on just one computer. This system
was widely used and extended over the next 10 years.
Upon graduation from Columbia, Bacon began working for the
IBM TJ Watson Research Center in Hawthorne, New York, as a
staff programmer. He has remained at the Center through this
2006 writing, including the period during which he pursued
a doctoral degree in Computer Science at the University of
California, Berkeley. He completed his PhD in 1997.
At IBM, Bacon has been responsible for a number of breakthrough
computing concepts, including, in the late 1980s, his co-design
of the Hermes distributed programming language, which pioneered
"pointer-safe" programming with an integrated lightweight
process model and high-level data types. He was one of the
authors of the book "Hermes: A Language for Distributed
Computing" published in 1991.
While in graduate school, Bacon developed Rapid Type Analysis,
a core optimization algorithm for object-oriented language
(OOL) compilers that is now used in two IBM products. In fact,
RTA is used in many compilers and run-time systems—both
by competitors and in open-source projects.
Bacon considers his current project at IBM his most significant,
and potentially most revolutionary work. Currently as senior
research staff member, he leads a five-person team working
on what is known as the Metronome project, a real-time Java
platform that includes a "garbage collector" with delays of
less than one millisecond.
In the computing arena, the concept of "garbage collection"
refers to the ongoing process of freeing up dynamically allocated
memory that is no longer referenced by an application, and
should not interfere when the system is called upon to respond
immediately. This is critical to the development of real-time
systems, or, computers that respond to and control events
in the real world, not inside a computer. In the past garbage
collection has been known to create unacceptably long interruptions
in function; the Metronome technology has helped to reduce
these interruptions with the goal of making them inconsequential
in real-world applications.
Garbage collection has for years been a topic of debate
among software researchers, and the speed accomplished by
Metronome surpasses what many in the field had believed feasible
in the past. Bacon and his team are currently prototyping
aggressive techniques that could push Metronome's efficiency
down to around twenty microseconds of worst-case latency (a
time delay between the moment something is initiated, and
the moment its first effect begins).
At the core of Bacon's research is improving what is known
as a "virtual machine." A virtual machine implements a programming
language by providing an interface between the language and
the hardware you want to run with the language. In other words,
Bacon focuses on making changes to the performance characteristics
of a language to make its use feasible in applications it
may not have otherwise been feasible in. He has a number of
patents for such implementation techniques.
In order to test Metronome's effectiveness, Bacon and his
team work in cutting-edge hardware environments where real-time
performance is critical, including with a musical synthesizer,
and, most notably, with an autonomous helicopter called the
JAviator, in conjunction with researchers at the University
of Salzburg, and autonomous fleets of airplanes, in conjunction
with researchers at U.C. Berkeley.
IBM has been working on commercializing the Metronome technology,
with significant success. Bacon and his team played a major
role, for instance, in a large sale of hardware and software
to a customer developing major software components for the
Navy. IBM is also in discussions with other companies in a
variety of industries, including industrial automation and
Bacon has authored or co-authored over 30 articles and earned
six patents, with more than a dozen patents pending. He has
been honored with a number of awards including the IBM Outstanding
Innovation Award in 2005 for the Metronome technology and
the IBM Research Division Award in 1998 for his work on "Thin
Locks," which was also selected as one of the 50 most influential
papers published in the 20 years of the ACM conference in
the area of Programming Language Design and Implementation.