A major contributor to this article appears to have a close connection with its subject.(January 2017) |
David Francis Bacon | |
|---|---|
| Born | 24 February 1963 |
| Citizenship | American |
| Alma mater | U.C. Berkeley |
| Awards | ACM Fellow |
| Scientific career | |
| Fields | Computer science |
| Institutions | IBM Watson Research Center Harvard Computer Science Dept. |
| Thesis | Fast and Effective Optimization of Statically Typed Object-Oriented Languages (1997) |
| Doctoral advisor | Susan L. Graham |
David Bacon is an American computer programmer.
Bacon began working as a programmer at age 16 and worked for a startup during his senior year of high school. At Columbia College, Columbia University, he worked first with David E. Shaw on the NON-VON supercomputer, [1] and then on network algorithms and simulation with Yechiam Yemini, creating the NEST Network Simulator, [2] which served as the basis for a number of other network simulators including Cornell's REAL [3] and thence LBL's ns simulator.
Bacon spent a large portion of his career at IBM's Thomas J. Watson Research Center, starting as a programmer in 1985 working on the Hermes distributed programming language, [4] and eventually becoming a Principal Research Staff Member.
He took a sabbatical in 2009 as a visiting professor of computer science at Harvard. [5]
Much of his work at IBM focused on garbage collection. In 2009 he was inducted as an ACM Fellow "for contributions to real-time systems and to object-oriented language design and implementation". [6]
His work on the Metronome [7] hard real-time tracing garbage collector became the basis for the IBM WebSphere Real Time Java virtual machine, [8] which was used in the software for the Navy's DDG 1000 Destroyer. [9] The original research was subsequently selected for the 2013 Most Influential Paper Award of the Symposium on Principles of Programming Languages. [10]
His work on garbage collecting cyclic structures [11] in reference counted systems has been used in a number of scripting languages, including PHP. [12]
In 2013 he published the first garbage collector implemented completely in hardware,[ clarification needed ] [13] which was selected as an ACM Research Highlight. [14] [15]
In addition to garbage collection, his work has focused on the implementation of concurrent and object-oriented languages. His thesis work on Rapid Type Analysis (RTA) [16] [17] has been used in many compilers and analysis frameworks to construct call graphs for object-oriented languages, including Soot [18] and Go. [19] In 2004, his work on high-performance locking for Java [20] appeared on the list of the 50 most influential PLDI papers of all time. [21]
In 2014 he joined Google, where he is now a Principal Engineer, working on the Spanner distributed database system. He is responsible for Spanner's Database engine.