David Bacon

Innovations in Programming Languages and Real-Time Computing
Computing and Telecommunications

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 through his work on what is known as IBM's Metronome Project.

Born in 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 through 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 BA in the subject in 1985. It was at Columbia that he became interested in research and development, through 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 (RTA), 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 in which it may not have otherwise been feasible. 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. As of 2007, Metronome is available as a product. Bacon and his team played a major role in a large sale of hardware and software to a customer developing major software components for the Navy. 

Bacon has authored or co-authored over 30 articles and earned more than a dozen patents. 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.