skip to main content
10.1145/301618.301683acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free Access

An evaluation of staged run-time optimizations in DyC

Authors Info & Claims
Published:01 May 1999Publication History

ABSTRACT

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.

References

  1. 1.J. Auslander, M. Philipose, C. Chambers, S. Eggers, and B. Bershad. Fast, effective dynamic compilation. SIGPLAN Notices, pages 149- 159, May 1996. In Proceedings of the ACM SIGPLAN '96 Conference on Programming Language Design and Implementation. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.B. Calder, P. Feller, and A. Eustace. Value profiling. In Proceedings of the 30th Annual International Symposium on Microarchitecture, pages 259-269, December 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.Craig Chambers and Weimin Chen. Efficient predicate dispatching. Technical Report UW-CSE-98-12-02, Department of Computer Science and Engineering. University of Washington, December 1998.Google ScholarGoogle Scholar
  4. 4.Craig Chambers and David Ungar. Customization: Optimizing compiler technology for Self, a dynamically-typed object-oriented programming language. In Proceedings of the SIGPLAN '89 Conference on Programming Language Design and Implementation, pages 146-160, June 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.Craig Chambers and David Ungar. Making pure object-oriented languages practical. In Proceedings OOPSLA '91, pages 1-15, November 1991. Published as ACM SIGPLAN Notices, volume 26, number 11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.C. Consel and F. Noel. A general approach for run-time specialization and its application to C. In Conference Record of POPL '96: 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 145-156, January 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest. Introduction to Algorithms. MIT Press/McGraw-Hill, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.R. Cytron, J. Ferrante, B.K. Rosen, M.N. Wegman, and F.K. Zadeck. An efficient method of computing static single assignment form. In Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, pages 25-35, January 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.L. Peter Deutsch and Allan M. Schiffman. Efficient implementation of the Smalltalk-80 system. In Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, pages 297-302, January 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.Patrick H. Dussud. TICLOS: An implementation of CLOS for the Explorer family. In Proceedings OOPSLA '89, pages 215-220, October 1989. Published as ACM SIGPLAN Notices, volume 24, number 10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.S.J. Eggers, J.S. Emer, H.M. Levy, J.L. Lo, R.L. Stamm, and D.M. Tullsen. Simultaneous multithreading: A foundation for nextgeneration processors. IEEE Micro, 17(5):12-19, August 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.D.R. Engler, W. C. Hsieh, and M. F. Kaashoek. 'C: A language for high-level, efficient, and machine-independent dynamic code generation. In Conference Record of POPL '96: 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 131-144, january 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.B. Grant, M. Mock, M. Philipose, C. Chambers, and S.J. Eggers. Annotation-directed run-time specialization in C. In Proceedings of the A CM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 163-178, Amsterdam, The Netherlands, June 1997. New York: ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.B. Grant, M. Mock, M. Philipose, C. Chambers, and S.J. Eggers. DyC: An expressive annotation-directed dynamic compiler for C. Theoretical Computer Science. To appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.M.D. Hill and A.Jay Smith. Experimental evaluation of on-chip microprocessor cache memories, in ISCA '84, June 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.Urs H61zle, Craig Chambers, and David Ungar. Optimizing dynamically-typed object-oriented languages with polymorphic inline caches. In P. America, editor, Proceedings ECOOP '91, LNCS 512, pages 21-38, Geneva, Switzerland, July 15-19 1991. Springer- Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.Urs H61zle and David Ungar. Optimizing dynamically-dispatched calls with run-time type feedback. In Proceedings of the ACM SIGPLAN '94 Conference on Programming Language Design and Implementation, pages 326-336, June 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.Urs H61zle and David Ungar. Reconciling responsiveness with performance in pure object-oriented languages. ACM Transactions on Programming Languages and Systems, 18(4):355-400, July 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.L. Hornof and J. Noy6. Accurate binding-time analysis for imperative languages: Flow, context, and return sensitivity. In Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Seman-tics- Based Program Manipulation, pages 63-73, Amsterdam, The Netherlands, June 1997. New York: ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.Neil D. Jones, CarsteinK. Gomarde, and Peter Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall, New York, NY, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21.M. Leone and P. Lee. Optimizing ML with run-time code generation. Technical report CMU-CS-95-205, School of Computer Science, Carnegie Mellon University, Pittsburgh, Pennsylvania, December 1995.Google ScholarGoogle Scholar
  22. 22.Mark Leone and Peter Lee. Dynamic specialization in the Fabius system. ACM Computing Surveys, 30(3es):23-es, September 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23.P.G. Lowney, S. M. Freudenberger, T. J. Karzes, W. D. Lichtenstein, R. P. Nix, J. S. O'Donnell, and J. C. Ruttenberg. The Multifiow trace scheduling compiler. Journal of Supercomputing, 7(1-2):51-142, May 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24.Mesa web page. http://www, ssec.wisc.edu/brianp/Mesa.html.Google ScholarGoogle Scholar
  25. 25.Netpbm web page. ftp://wuarchive.wustl.edu/graphics/graphics/ packages/NetPBM/.Google ScholarGoogle Scholar
  26. 26.E NoEl, L. Hornof, C. Consel, and J. L. Lawall. Automatic, templatebased run-time specialization: Implementation and experimental study. In International Conference on Computer Languages, May 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 27.M. Poletto, D. R. Engler, and M. E Kaashoek. tcc: A system for fast, flexible, and high-level dynamic code generation. SIGPLAN Notices, pages 109-121, June 1997. In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 28.M. Poletto, D. R. Engler W.C. Hsieh, and M. F. Kaashoek. 'C and tcc: A language and compiler for dynamic code generation. To appear in Transactions on Programming Languages and Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 29.EminGun Sirer. Measuring Limits of Fine-Grain Parallelism. Princeton University Senior Project, June 1993.Google ScholarGoogle Scholar
  30. 30.SPEC CPU, August 1995. http://www, specbench.org/.Google ScholarGoogle Scholar

Index Terms

  1. An evaluation of staged run-time optimizations in DyC

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      PLDI '99: Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
      May 1999
      304 pages
      ISBN:1581130945
      DOI:10.1145/301618

      Copyright © 1999 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 May 1999

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      PLDI '99 Paper Acceptance Rate26of130submissions,20%Overall Acceptance Rate406of2,067submissions,20%

      Upcoming Conference

      PLDI '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader