Contact Information

David F. Bacon

Thomas J. Watson Research Center, Yorktown Heights, NY USA
baconatus.ibm.com      +1dash914dash784dash7811


2012

A compiler and runtime for heterogeneous computing

Joshua Auerbach, David F. Bacon, Ioana Burcea, Perry Cheng, Stephen J. Fink, Rodric Rabbah, Sunil Shukla
Proceedings of the 49th Annual Design Automation Conference, pp. 271--276, ACM, 2012
Abstract

A Stall-Free Real-Time Garbage Collector for FPGAs

David F. Bacon, Perry Cheng, Sunil Shukla
The Second Workshop on the Intersections of Computer Architecture and Reconfigurable Logic, 2012
Abstract   Note

Compiling a High-Level Language for GPUs (via Language Support for Architectures and Compilers)

Christophe Dubach, Perry Cheng, Rodric Rabbah, David F. Bacon, Stephen J. Fink
Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, pp. 1--11, ACM, 2012
Abstract

Predicting Your Own Effort

David F. Bacon, Yiling Chen, Ian Kash, David Parkes, Malvika Rao, Manu Sridharan
Proceedings of the Eleventh International Conference on Autonomous Agents and Multi-agent Systems, 2012
Abstract   Note

And Then There Were None: A Stall-Free Real-Time Garbage Collector for Reconfigurable Hardware

David F. Bacon, Perry Cheng, Sunil Shukla
Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, pp. 23--34, ACM, 2012
Abstract   Note

2011

Virtualization in the Age of Heterogeneous Machines (Keynote)

David F. Bacon
Proceedings of the Seventh ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, pp. 1--2, ACM, 2011
Abstract   Note

Virtualization of Heterogeneous Machines: Hardware Description in a Synthesizable Object-Oriented Language

Joshua Auerbach, David F. Bacon, Perry Cheng, Rodric Rabbah, Sunil Shukla
Proceedings of the 48th Design Automation Conference, pp. 890--894, ACM, 2011
Abstract   Note

2010

A Compiler Framework for Restructuring Data Declarations to Enhance Cache and TLB Effectiveness

David F. Bacon, Jyh-Herng Chow, Dz-Ching R. Ju, Kalyan Muthukumar, Vivek Sarkar
CASCON First Decade High Impact Papers, pp. 146--158, ACM, 2010
Abstract

Software Economies

David F. Bacon, Eric Bokelberg, Yiling Chen, Ian A. Kash, David C. Parkes, Malvika Rao, Manu Sridharan
Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research, pp. 7--12, ACM, 2010
Abstract   Note

Lime: a Java-compatible and Synthesizable Language for Heterogeneous Architectures

Joshua Auerbach, David F. Bacon, Perry Cheng, Rodric Rabbah
Proceedings of the ACM International Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 89--108, ACM, 2010
Abstract

Lime: The Liquid Metal Programming Language --- Language Reference Manual

Joshua Auerbach, David F. Bacon, Perry Cheng, Rodric Rabbah
Technical Report RC25004, IBM, 2010
Note

2009

PTIDES on Flexible Task Graph: Real-Time Embedded System Building from Theory to Practice

Jia Zou, Joshua Auerbach, David F. Bacon, Edward A. Lee
Proceedings of the ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, pp. 31--40, ACM, 2009
Abstract

A Computing Origami: Folding Streams in FPGAs

Andrei Hagiescu, Weng-Fai Wong, David F. Bacon, Rodric Rabbah
Proceedings of the 46th Annual Design Automation Conference, pp. 282--287, ACM, 2009
Abstract

Minimizing Dependencies within Generic Classes for Faster and Smaller Programs

Dan Tsafrir, Robert W. Wisniewski, David F. Bacon, Bjarne Stroustrup
Proceedings of the 24th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 425--444, ACM, 2009
Abstract

Avoiding Unbounded Priority Inversion in Barrier Protocols using Gang Priority Management

Harald R"ock, Joshua Auerbach, Christoph M. Kirsch, David F. Bacon
Proceedings of the Seventh International Workshop on Java Technologies for Real-Time and Embedded Systems, pp. 70--79, ACM, 2009
Abstract

A Market-Based Approach to Software Evolution

David F. Bacon, Yiling Chen, David Parkes, Malvika Rao
Companion to the 24th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 973--980, ACM, 2009
Abstract   Note

Low-Latency Time-Portable Real-Time Programming with Exotasks

Joshua Auerbach, David F. Bacon, Daniel Iercan, Christoph M. Kirsch, V. T. Rajan, Harald R"ock, Rainer Trummer
ACM Transactions on Embedded Computing Systems 8(2), 1--48, ACM, 2009
Abstract

2008

Optimus: Efficient Realization of Streaming Applications on FPGAs

Amir Hormati, Manjunath Kudlur, Scott Mahlke, David F. Bacon, Rodric Rabbah
Proceedings of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems, pp. 41--50, ACM, 2008
Abstract

Liquid Metal: Object-Oriented Programming Across the Hardware/Software Boundary

Shan Shan Huang, Amir Hormati, David F. Bacon, Rodric Rabbah
Proceedings of the 22nd European Conference on Object-Oriented Programming, pp. 76--103, Springer-Verlag, 2008
Abstract

Flexible Task Graphs: a Unified Restricted Thread Programming Model for Java

Joshua Auerbach, David F. Bacon, Rachid Guerraoui, Jesper Honig Spring, Jan Vitek
Proceedings of the ACM SIGPLAN-SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, pp. 1--11, ACM, 2008
Abstract

Languages and Performance Engineering: Method, Instrumentation, and Pedagogy

Doug Lea, David F. Bacon, David Grove
Proceedings of the 2008 SIGPLAN Workshop on Programming Language Curriculum, pp. 87--92, ACM
Abstract

Staccato: A Parallel and Concurrent Real-time Compacting Garbage Collector for Multiprocessors

Bill McCloskey, David F. Bacon, Perry Cheng, David Grove
Technical Report RC24504, 2008
Abstract

Tax-and-Spend: Democratic Scheduling for Real-Time Garbage Collection

Joshua Auerbach, David F. Bacon, Perry Cheng, David Grove, Ben Biron, Charlie Gracie, Bill McCloskey, Aleksandar Micic, Ryan Sciampacone
Proceedings of the 8th ACM International Conference on Embedded Software, pp. 245--254, ACM, 2008
Abstract

2007

Ownership You Can Count On: A Hybrid Approach to Safe Explicit Memory Management

Adam Dingle, David F. Bacon
Unpublished, 2007
Abstract   Note

Generational Real-Time Garbage Collection: A Three-Part Invention for Young Objects

Daniel Frampton, David F. Bacon, Perry Cheng, David Grove
Proceedings of the 21st European Conference on Object-Oriented Programming, pp. 101--125, Springer, 2007
Abstract

The ExoVM System for Automatic VM and Application Reduction

Ben L. Titzer, Joshua Auerbach, David F. Bacon, Jens Palsberg
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 352--362, ACM, 2007
Abstract

Java Takes Flight: Time-Portable Real-Time Programming with Exotasks

Joshua Auerbach, David F. Bacon, Daniel T. Iercan, Christoph M. Kirsch, V. T. Rajan, Harald R"ock, Rainer Trummer
Proceedings of the ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, pp. 51--62, ACM, 2007
Abstract   Note

CGCExplorer: a Semi-Automated Search Procedure for Provably Correct Concurrent Collectors

Martin T. Vechev, Eran Yahav, David F. Bacon, Noam Rinetzky
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 456--467, ACM, 2007
Abstract

Realtime Garbage Collection

David F. Bacon
Queue 5(1), 40--49, ACM, 2007
Abstract

Real-Time Music Synthesis in Java Using the Metronome Garbage Collector

Joshua Auerbach, David F. Bacon, Florian B"omers, Perry Cheng
Proceedings of the International Computer Music Conference, 2007
Abstract   Note

TuningFork: a Platform for Visualization and Analysis of Complex Real-Time Systems

David F. Bacon, Perry Cheng, David Grove
Companion to the 22nd ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 854--855, ACM, 2007
Abstract

Design and Implementation of a Comprehensive Real-Time Java Virtual Machine

Joshua Auerbach, David F. Bacon, Bob Blainey, Perry Cheng, Michael Dawson, Mike Fulton, David Grove, Darren Hart, Mark Stoodley
Proceedings of the Seventh ACM/IEEE International Conference on Embedded Software, pp. 249--258, ACM, 2007
Abstract

2006

Braids and Fibers: Language Constructs with Architectural Support for Adaptive Responses to Memory Latencies

David F. Bacon, Xiaowei Shen
IBM Journal of Research and Development 50(2/3), 209--221, IBM Corp., 2006
Abstract

Correctness-Preserving Derivation of Concurrent Garbage Collection Algorithms

Martin T. Vechev, Eran Yahav, David F. Bacon
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 341--353, ACM, 2006
Abstract   Note

On-Line Visualization and Analysis of Real-Time Systems with TuningFork (demonstration)

David F. Bacon, Perry Cheng, Daniel Frampton, David Grove, Matthias Hauswirth, V. T. Rajan
Proceedings of the 15th International Conference on Compiler Construction, pp. 96-100, Springer, 2006
Abstract

Eventrons: a Safe Programming Construct for High-Frequency Hard Real-Time Applications

Daniel Spoonhower, Joshua Auerbach, David F. Bacon, Perry Cheng, David Grove
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 283--294, ACM, 2006
Abstract

2005

Syncopation: Generational Real-Time Garbage Collection in the Metronome

David F. Bacon, Perry Cheng, David Grove, Martin T. Vechev
Proceedings of the ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, pp. 183--192, ACM, 2005
Abstract   Note

An Efficient On-the-Fly Cycle Collection

Harel Paz, Erez Petrank, David F. Bacon, Elliot K. Kolodner, V. T. Rajan
Proceedings of the 14th International Conference on Compiler Construction, pp. 156--171, Springer-Verlag, 2005
Abstract   Note

Derivation and Evaluation of Concurrent Collectors

Martin T. Vechev, David F. Bacon, Perry Cheng, David Grove
Proceedings of the 19th European Conference on Object-Oriented Programming, pp. 577--601, Springer-Verlag, 2005
Abstract   Note

High-Level Real-Time Programming in Java

David F. Bacon, Perry Cheng, David Grove, Michael Hind, V. T. Rajan, Eran Yahav, Matthias Hauswirth, Christoph M. Kirsch, Daniel Spoonhower, Martin T. Vechev
Proceedings of the Fifth ACM International Conference on Embedded Software, pp. 68--78, ACM, 2005
Abstract   Note

2004

Write Barrier Elision for Concurrent Garbage Collectors

Martin T. Vechev, David F. Bacon
Proceedings of the Fourth International Symposium on Memory Management, pp. 13--24, ACM, 2004
Abstract   Note

Dynamic Selection of Application-Specific Garbage Collectors

Sunil Soman, Chandra Krintz, David F. Bacon
Proceedings of the Fourth International Symposium on Memory Management, pp. 49--60, ACM, 2004
Abstract   Note

Retrospective: Thin Locks

David F. Bacon, Ravi Konuru, Chet Murthy, Mauricio J. Serrano
Twenty Years of the ACM SIGPLAN Conference on Programming Language Design and Implementation (1979--1999): A Selection, pp. 583--595, ACM, 2004

A Unified Theory of Garbage Collection

David F. Bacon, Perry Cheng, V. T. Rajan
Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 50--68, ACM, 2004
Abstract   Note

Braids and Fibers: Language Constructs with Architectural Support for Adaptive Response to Memory Latencies

David F. Bacon, Xiaowei Shen
First Watson Conference on Interaction between Architecture, Circuits, and Compilers, 2004
Abstract   Note

The Virtualized Virtual Machine

David F. Bacon
Third International Workshop on Language Runtimes, 2004
Abstract   Note

Garbage Collection for Embedded Systems

David F. Bacon, Perry Cheng, David Grove
Proceedings of the Fourth ACM International Conference on Embedded Software, pp. 125--136, ACM, 2004
Abstract   Note

2003

Kava: A Java Dialect with a Uniform Object Model for Lightweight Classes

David F. Bacon
Concurrency---Practice and Experience 15(3--5), 185--206, 2003
Abstract

A Pure Reference Counting Garbage Collector

David F. Bacon, Clement R. Attanasio, V. T. Rajan, Stephen Smith, Han B. Lee
Technical Report, 2003
Abstract   Note

The Metronome: A Simpler Approach to Garbage Collection in Real-Time Systems

David F. Bacon, Perry Cheng, V. T. Rajan
Proceedings of the OTM 2003 Workshops: On The Move to Meaningful Internet Systems, pp. 466-478, Springer
Abstract   Note

A Real-Time Garbage Collector with Low Overhead and Consistent Utilization

David F. Bacon, Perry Cheng, V. T. Rajan
Proceedings of the 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 285--298, ACM, 2003
Abstract   Note

MJ: a Rational Module System for Java and its Applications

John Corwin, David F. Bacon, David Grove, Chet Murthy
Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications, pp. 241--254, ACM, 2003
Abstract   Note

Controlling Fragmentation and Space Consumption in the Metronome, a Real-Time Garbage Collector for Java

David F. Bacon, Perry Cheng, V. T. Rajan
Proceedings of the ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems, pp. 81--92, ACM, 2003
Abstract   Note

2002

Space- and Time-Efficient Implementation of the Java Object Model

David F. Bacon, Stephen J. Fink, David Grove
Proceedings of the Sixteenth European Conference on Object-Oriented Programming, pp. 111--132, Springer-Verlag, 2002
Abstract   Note

2001

A Comparative Evaluation of Parallel Garbage Collector Implementations

Clement R. Attanasio, David F. Bacon, Anthony Cocchi, Stephen Smith
Proceedings of the 14th International Conference on Languages and Compilers for Parallel Computing, pp. 177--192, Springer-Verlag, 2001
Abstract   Note

Concurrent Cycle Collection in Reference Counted Systems

David F. Bacon, V. T. Rajan
Proceedings of the Fifteenth European Conference on Object-Oriented Programming, pp. 207--235, Springer-Verlag, 2001
Abstract

Java without the Coffee Breaks: a Non-Intrusive Multiprocessor Garbage Collector

David F. Bacon, Clement R. Attanasio, Han B. Lee, V. T. Rajan, Stephen Smith
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 92--103, ACM, 2001
Abstract   Note

Kava: a Java Dialect with a Uniform Object Model for Lightweight Classes

David F. Bacon
Proceedings of the Joint ACM Java Grande/ISCOPE Conference, pp. 68--77, ACM, 2001
Abstract   Note

2000

Guava: a Dialect of Java without Data Races

David F. Bacon, Robert E. Strom, Ashis Tarafdar
Proceedings of the 15th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 382--400, ACM, 2000
Abstract   Note

1998

Thin Locks: Featherweight Synchronization for Java

David F. Bacon, Ravi Konuru, Chet Murthy, Mauricio J. Serrano
Proceedings of the 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 258--268, ACM
Abstract   Note

1997

Implementing High-Performance Locking for Java

David F. Bacon, Ravi Konuru, Chet Murthy
Unpublished, 1997
Abstract

Fast and Effective Optimization of Statically Typed Object-Oriented Languages

David Francis Bacon
Ph.D. Thesis, University of California, Berkeley, 1997
Abstract   Note

Featherweight Monitors with Bacon Bits

David F. Bacon
Technical Report, 1997
Abstract   Note

1996

Fast Static Analysis of C++ Virtual Function Calls

David F. Bacon, Peter F. Sweeney
Proceedings of the Eleventh ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 324--341, ACM, 1996
Abstract   Note

1995

Fallacies of the Multiprocessor Approach to Achieving Large-Scale Computing Capabilities: A Case Study

David Francis Bacon
Masters Thesis, 1995
Abstract

1994

Measure for Measure

Oliver Sharp, David F. Bacon
BYTE 19(10), 1994

Cache Advantage

David F. Bacon
BYTE 19(8), 79--86, 1994

A Compiler Framework for Restructuring Data Declarations to Enhance Cache and TLB Effectiveness

David F. Bacon, Jyh-Herng Chow, Dz-Ching R. Ju, Kalyan Muthukumar, Vivek Sarkar
Proceedings of the 1994 Conference of the Centre for Advanced Studies on Collaborative Research, IBM Press
Abstract

Compiler Transformations for High-Performance Computing

David F. Bacon, Susan L. Graham, Oliver J. Sharp
Computing Surveys 26(4), 345--420, ACM, 1994
Abstract

1993

Compiler Transformations for High-Performance Computing

David F. Bacon, Susan L. Graham, Oliver J. Sharp
Technical Report UCB/CSD-93-781, 1993
Abstract

1992

Hermes: Unix User's Guide

Robert E. Strom, David F. Bacon, Arthur P. Goldberg, Andy Lowry, Bill Silvermann, Daniel Yellin, Jim Russell, Shaula Yemini
Technical Report, 1992

1991

High-Level Language Support for Programming Distributed Systems

J. S. Auerbach, D. F. Bacon, A. P. Goldberg, G. S. Goldszmidt, M. T. Kennedy, A. R. Lowry, J. R. Russell, W. Silverman, R. E. Strom, D. M. Yellin, S. A. Yemini
Proceedings of the 1991 Conference of the Centre for Advanced Studies on Collaborative Research, pp. 173--196, IBM Press
Abstract

Hermes: A Language for Distributed Computing

Robert E. Strom, David F. Bacon, Arthur Goldberg, Andy Lowry, Daniel Yellin, Shaula Alexander Yemini
Prentice-Hall, 1991

File System Measurements and their Application to the Design of Efficient Operation Logging Algorithms

David F. Bacon
Proceedings of the Tenth Symposium on Reliable Distributed Systems, pp. 21--30, IEEE Computer Society Press, 1991
Abstract   Note

Optimistic Parallelization of Communicating Sequential Processes

David F. Bacon, Robert E. Strom
Proceedings of the Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 155--166, ACM, 1991
Abstract   Note

Hardware-Assisted Replay of Multiprocessor Programs

David F. Bacon, Seth Copen Goldstein
Proceedings of the 1991 ACM/ONR Workshop on Parallel and Distributed Debugging, pp. 194--206, ACM
Abstract   Note

1990

Hermes: A Tutorial and Reference Manual

Robert E. Strom, David F. Bacon, Arthur Goldberg, Andy Lowry, Daniel Yellin, Shaula Alexander Yemini
Technical Report, 1990

Transparent Recovery of Mach Applications

Arthur P. Goldberg, David F. Bacon, Ajei Gopal, Kong Li, Robert E. Strom
Proceedings of the USENIX Mach Workshop, pp. 169-183, 1990
Abstract   Note

A Portable Run-Time System for the Hermes Distributed Programming Language

David F. Bacon, Andy Lowry
Proceedings of the Summer USENIX Technical Conference, pp. 39--49, Usenix Association, 1990
Abstract   Note

NEST: a Network Simulation and Prototyping Testbed

Alexander Dupuy, Jed Schwartz, Yechiam Yemini, David F. Bacon
Communications of the ACM 33(10), 63--74, ACM, 1990

Transparent Recovery in Distributed Systems

David F. Bacon
Proceedings of the Fourth ACM SIGOPS European Workshop, pp. 1--4, ACM, 1990
Abstract

1989

NEST: a Network Simulation and Prototyping Testbed

A. Dupuy, J. Schwartz, Y. Yemini, D. F. Bacon
Proceedings of the 21st Winter Simulation Conference, pp. 1058--1064, ACM, 1989
Abstract

Implementing the Hermes Process Model

David F. Bacon, Robert E. Strom
Technical Report RC 14518, 1989
Abstract

1988

NEST: A Network Simulation and Prototyping Tool

David F. Bacon, Alexander Dupuy, Jed Schwartz, Yechiam Yemini
Proceedings of the Winter USENIX Technical Conference, pp. 71--77, Usenix Association, Berkeley, California, 1988
Abstract

A Recoverable Object Store

Robert E. Strom, Shaula Alexander Yemini, David F. Bacon
Proceedings of the Twenty-First Annual Hawaii International Conference on Systems Sciences, pp. 215--221, IEEE Computer Society Press, 1988
Abstract

Volatile Logging in n-Fault-Tolerant Distributed Systems

Robert E. Strom, David F. Bacon, Shaula Alexander Yemini
Digest of Papers of The Eighteenth Annual International Symposium on Fault-Tolerant Computing, pp. 44--49, IEEE Computer Society Press, 1988
Abstract

1987

A Linguistic Treatment of Programs as Typed Objects

Robert E. Strom, Shaula Alexander Yemini, David F. Bacon
IBM Programming Language Technology ITL, pp. 187--195, IBM Coporation, 1987
Abstract

Improving Distributed Protocols by Decoupling Recovery from Concurrency Control

Shaula Alexander Yemini, Robert E. Strom, David F. Bacon
Technical Report RC 13326, 1987

Toward Self-Recovering Operating Systems

Robert E. Strom, Shaula Alexander Yemini, David F. Bacon
The International Conference on Parallel Processing and Applications, pp. 475--483, North-Holland, 1987
Abstract