A retrospective on: "an evaluation of staged run-time optimizations in DyC"

Previous selective dynamic compilation systems have demonstrated that dynamic compilation can achieve performance improvements at low cost on small kernels, but they have had difficulty scaling to larger programs. To overcome this limitation, we developed DyC, a selective dynamic compilation system that includes more sophisticated and flexible analyses and transformations. DyC is able to achieve good performance improvements on programs that are much larger and more complex than the kernels. We analyze the individual optimizations of DyC and assess their impact on performance collectively and individually.

[1]  Jacques Noyé,et al.  Accurate binding-time analysis for imperative languages: flow, context, and return sensitivity , 2000, Theor. Comput. Sci..

[2]  Brad Calder,et al.  Value profiling , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[3]  Markus Mock,et al.  Annotation-Directed Run-Time Specialization in C , 1997, PEPM.

[4]  Markus Mock,et al.  DyC: an expressive annotation-directed dynamic compiler for C , 2000, Theor. Comput. Sci..

[5]  Dawson R. Engler,et al.  C and tcc: a language and compiler for dynamic code generation , 1999, TOPL.

[6]  Markus Mock,et al.  Calpa: atool for automating dynamic compilation , 1999 .

[7]  Dawson R. Engler,et al.  tcc: a system for fast, flexible, and high-level dynamic code generation , 1997, PLDI '97.

[8]  Dean M. Tullsen,et al.  Simultaneous multithreading: a platform for next-generation processors , 1997, IEEE Micro.

[9]  Brian N. Bershad,et al.  Fast, effective dynamic compilation , 1996, PLDI '96.

[10]  Charles Consel,et al.  Tempo: specializing systems applications and beyond , 1998, CSUR.

[11]  Peter Lee,et al.  Lightweight Run-Time Code Generation , 1994, PEPM.

[12]  Dawson R. Engler,et al.  C: a language for high-level, efficient, and machine-independent dynamic code generation , 1995, POPL '96.

[13]  Markus Mock,et al.  Calpa: a tool for automating selective dynamic compilation , 2000, MICRO 33.

[14]  Urs Hölzle,et al.  Optimizing dynamically-dispatched calls with run-time type feedback , 1994, PLDI '94.

[15]  Julia L. Lawall,et al.  Automatic, template-based run-time specialization: implementation and experimental study , 1998, Proceedings of the 1998 International Conference on Computer Languages (Cat. No.98CB36225).

[16]  Peter Lee,et al.  Optimizing ML with run-time code generation , 1996, PLDI '96.

[17]  Patrick H. Dussud TICLOS: an implementation of CLOS for the explorer family , 1989, OOPSLA '89.

[18]  Craig Chambers,et al.  Making pure object-oriented languages practical , 1991, OOPSLA '91.

[19]  Craig Chambers,et al.  Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches , 1991, ECOOP.

[20]  Alan Jay Smith,et al.  Experimental evaluation of on-chip microprocessor cache memories , 1984, ISCA '84.

[21]  Susan J. Eggers,et al.  Runtime code generation , 1996 .

[22]  Mark N. Wegman,et al.  An efficient method of computing static single assignment form , 1989, POPL '89.

[23]  Jacques Noyé,et al.  Accurate binding-time analysis for imperative languages: flow, context, and return sensitivity , 1997 .

[24]  Dawson R. Engler,et al.  VCODE: a retargetable, extensible, very fast dynamic code generation system , 1996, PLDI '96.

[25]  Patrick H. Dussud TICLOS: an implementation of CLOS for the explorer family , 1989, OOPSLA 1989.

[26]  Peter Lee,et al.  Dynamic specialization in the Fabius system , 1998, CSUR.

[27]  Andrew W. AppelJanuary Measuring Limits of Fine-grained Parallelism , 1997 .

[28]  Jacques Noyé,et al.  Effective Specialization of Realistic Programs via Use Sensitivity , 1997, SAS.

[29]  Charles Consel,et al.  Efficient incremental run-time specialization for free , 1999, PLDI '99.

[30]  Urs Hölzle,et al.  Reconciling responsiveness with performance in pure object-oriented languages , 1996, TOPL.

[31]  L. Peter Deutsch,et al.  Efficient implementation of the smalltalk-80 system , 1984, POPL.

[32]  Weimin Chen Efficient Predicate Dispatching Craig Chambers and , 1998 .

[33]  Markus Mock,et al.  The benefits and costs of DyC's run-time optimizations , 2000, TOPL.

[34]  Charles Consel,et al.  A general approach for run-time specialization and its application to C , 1996, POPL '96.

[35]  Peter Sestoft,et al.  Partial evaluation and automatic program generation , 1993, Prentice Hall international series in computer science.

[36]  Dawson R. Engler,et al.  DCG: an efficient, retargetable dynamic code generation system , 1994, ASPLOS VI.