Skip to main content

Selector: A Language Construct for Developing Dynamic Applications

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

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

Abstract

Fitting algorithms to meet input data characteristics and/or a changing computing environment is a tedious and error prone task. Programmers need to deal with code instrumentation details and implement the selection of which algorithm best suits a given data set. In this paper we describe a set of simple programming constructs for C that allows programmers to specify and generate applications that can select at run-time the best of several possible implementations based on measured run-time performance and/or algorithmic input values. We describe the application of this approach to a realistic linear solver for an engineering crash analysis code. The preliminary experimental results reveal that this approach provides an effective mechanism for creating sophisticated dynamic application behavior with minimal effort.

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. Adve, V., Lam, V., Ensink, B.: Language and Compiler Support for Adaptive Distributed Applications. In: Proc. of the ACM SIGPLAN Workshop on Optimization of Middleware and Distributed Systems (OM 2001), Snowbird, Utah (June 2001)

    Google Scholar 

  2. Agesen, O., Hölzle, U.: Type Feedback vs. Concrete Type Analysis: A Comparison of Optimization Techniques for Object-Oriented Languages. In: Proc. of the ACM Conference on Object-Oriented Programming Systems, Languages and Applications, OOPSLA 1995 (1995)

    Google Scholar 

  3. Arnold, M., Fink, S., Grove, D., Hind, M., Sweeney, P.: Adaptive Optimization in the Jalapeño JVM: The Controller’s Analytical Model. In: Proc. of the ACM Workshop on Feedback-Directed and Dynamic Optimization (FDDO-3) (December 2000)

    Google Scholar 

  4. Auslander, J., Philipose, M., Chambers, C., Eggers, S.J., Bershad, B.N.: Fast, Effective Dynamic Compilation. In: Proc. of the ACM Conference on Programming Language Design and Implementation (PLDI 1996) (June 1996)

    Google Scholar 

  5. Bala, V., Duesterwald, E., Banerjia, S.: Dynamo: A Transparent Dynamic Optimization System. In: Proc. of the ACM Conference on Programming Language and Implementation (PLDI 2000) (June 2000)

    Google Scholar 

  6. Diniz, P., Rinard, M.: Dynamic Feedback: An Effective technique for Adaptive Computing. In: Proc. of the ACM Conference on Programming Language Design and implementation (PLDI 1997) (June 1997)

    Google Scholar 

  7. Engler, D.: Vcode: a retargetable, extensible, very fast dynamic code generation system. In: Proc. of the ACM Conference on Programming Language and Implementation (PLDI 1996) (June 1996)

    Google Scholar 

  8. Karypis, G., Kumar, V.: Multilevel k-way partitioning scheme for irregular graphs. Journal of Parallel and Distributed Computing 48(1), 96–129 (1998)

    Article  MathSciNet  Google Scholar 

  9. Liu, J.: Modification of the minimum degree algorithm by multiple elimination. ACM Transactions on Mathematical Software 11(2), 141–153 (1985)

    Article  MATH  Google Scholar 

  10. Voss, M., Eigenmann, R.: High-Level Adaptive Program Optimization with ADAPT. In: Proc. of the ACM Symp. on Principles and Practice of Parallel Programming, PPOPP 2001 (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Diniz, P.C., Liu, B. (2005). Selector: A Language Construct for Developing Dynamic Applications. In: Pugh, B., Tseng, CW. (eds) Languages and Compilers for Parallel Computing. LCPC 2002. Lecture Notes in Computer Science, vol 2481. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11596110_15

Download citation

  • DOI: https://doi.org/10.1007/11596110_15

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-31612-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics