Skip to main content

Modeling Relations between Inputs and Dynamic Behavior for General Programs

  • Conference paper
Languages and Compilers for Parallel Computing (LCPC 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5234))

Abstract

Program dynamic optimization, for being adaptive to runtime behavior changes, has become increasingly important for both performance and energy savings. However, most runtime optimizations often suffer from the lack of a global picture of a program’s execution, and cannot afford sophisticated program analysis. On the other hand, offline profiling techniques overcome both obstacles but are oblivious to the effects of program inputs.

An approach in the between is to offline find the connections between program inputs and runtime behavior, and then apply the knowledge to runtime optimizations. Although it potentially gets the best of both worlds, it faces a fundamental challenge: How to discover and model the relations between inputs and runtime behavior for general programs.

This work tackles the problem from three aspects. It proposes an extensible input characterization language to resolve the complexity of program inputs. A translator to the langauage helps automatically convert a raw input into an attribute vector, which is then refined by a feature selector to remove redundancies and noises. Finally, statistical learning builds input-behavior models. Experiments on IBM XL compilers show accurate prediction of detailed execution profiles, helping profile-directed compilation outperform both static and offline profiling-based compilations, demonstrating the potential of the technique for continuous program optimizations.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Berube, P., Amaral, J.N.: Benchmark design for robust profile-directed optimization. In: Standard Performance Evaluation Corporation (SPEC) Workshop (2007)

    Google Scholar 

  2. Chang, P.P., Mahlke, S.A., Chen, W.Y., Hwu, W.: Profile-guided automatic inline expansion for c programs. Software Practice and Experience 22(5) (1992)

    Google Scholar 

  3. Chen, W., Bhansali, S., Chilimbi, T.M., Gao, X., Chuang, W.: Profile-guided proactive garbage collection for locality optimization. In: Proceedings of ACM SIGPLAN Conference on Programming Languages Design and Implementation (2006)

    Google Scholar 

  4. Childers, B., Davidson, J., Soffa, M.L.: Continuous compilation: A new approach to aggressive and adaptive code transformation. In: Proceedings of 2003 International Parallel and Distribute Processing Symposium (IPDPS) (2003)

    Google Scholar 

  5. Dean, J., Chambers, C.: Towards better inlining decisions using inlining trials. In: Proceedings of ACM Conference on Lisp and Functional Programming (1994)

    Google Scholar 

  6. Ding, C., Zhong, Y.: Predicting whole-program locality with reuse distance analysis. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, San Diego, CA (June 2003)

    Google Scholar 

  7. Diniz, P., Rinard, M.: Dynamic feedback: an effective technique for adaptive computing. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, Las Vegas (May 1997)

    Google Scholar 

  8. Edvardsson, J.: A survey on automatic test data generation. In: Proceedings of the 2nd Conference on Computer Science and Engineering, pp. 21–28 (October 1999)

    Google Scholar 

  9. Godefroid, P., Klarlund, N., Sen, K.: Dart: Directed automated random testing. In: Proceedings of the Conference on Programming Language Design and Implementation (2005)

    Google Scholar 

  10. Hastie, T., Tibshirani, R., Friedman, J.: The elements of statistical learning. Springer, Heidelberg (2001)

    MATH  Google Scholar 

  11. Kanungo, T., Mount, D.M., Netanyahu, N., Piatko, C., Silverman, R., Wu, A.Y.: A local search approximation algorithm for k-means clustering. In: Proceedings of the 18th ACM Symposium on Computational Geometry (2002), http://www.cs.umd.edu/users/mount/Projects/KMeans/

  12. King, J.C.: Symbolic execution and program testing. Communications of the ACM 19(7) (1976)

    Google Scholar 

  13. Kistler, T.P., Franz, M.: Continuous program optimization: a case study. ACM Transactions on Programming Languages and Systems 25(4), 500–548 (2003)

    Article  Google Scholar 

  14. Lau, J., Arnold, M., Hind, M., Calder, B.: Online performance auditing: Using hot optimizations without getting burned. In: Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation (2006)

    Google Scholar 

  15. Leavens, G., Baker, A., Ruby, C.: Preliminary design of JML: A behavioral interface specification language for java. ACM SIGSOFT Software Engineering Notes 31(3), 1–38 (2006)

    Article  Google Scholar 

  16. Li, X., Garzaran, M.J., Padua, D.: A dynamically tuned sorting library. In: Proceedings of the International Symposium on Code Generation and Optimization (2004)

    Google Scholar 

  17. Shen, X., Mao, F.: Modeling relations between inputs and dynamic behavior for general programs. Technical Report WM-CS-2007-07, Computer Science Dept., College of William and Mary (July 2007)

    Google Scholar 

  18. Shen, X., Zhong, Y., Ding, C.: Locality phase prediction. In: Proceedings of the Eleventh International Conference on Architect ural Support for Programming Languages and Operating Systems (ASPLOS XI), Boston, MA (2004)

    Google Scholar 

  19. Shen, X., Zhong, Y., Ding, C.: Phase-based miss rate prediction. In: Proceedings of the International Workshop on Languages and Compilers for Parallel Computing, West Lafayette, IN (September 2004)

    Google Scholar 

  20. Thomas, N., Tanase, G., Tkachyshyn, O., Perdue, J.: A framework for adaptive algorithm selection in stapl. In: Proceedings of ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (2005)

    Google Scholar 

  21. Voss, M., Eigenmann, R.: High-level adaptive program optimization with ADAPT. In: Proceedings of ACM Symposium on Principles and Practice of Parallel Programming, Snowbird, Utah (June 2001)

    Google Scholar 

  22. Whaley, J., Martin, M.C., Lam, M.S.: Automatic extraction of object-oriented component interfaces. In: Proceedings of International Symposium on Software Testing and Analysis (2002)

    Google Scholar 

  23. Zhong, Y., Dropsho, S.G., Shen, X., Studer, A., Ding, C.: Miss rate prediction across program inputs and cache configurations. IEEE Transactions on Computers 56(3) (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Vikram Adve María Jesús Garzarán Paul Petersen

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shen, X., Mao, F. (2008). Modeling Relations between Inputs and Dynamic Behavior for General Programs. In: Adve, V., Garzarán, M.J., Petersen, P. (eds) Languages and Compilers for Parallel Computing. LCPC 2007. Lecture Notes in Computer Science, vol 5234. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-85261-2_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-85261-2_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-85260-5

  • Online ISBN: 978-3-540-85261-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics