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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
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)
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)
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)
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)
Karypis, G., Kumar, V.: Multilevel k-way partitioning scheme for irregular graphs. Journal of Parallel and Distributed Computing 48(1), 96–129 (1998)
Liu, J.: Modification of the minimum degree algorithm by multiple elimination. ACM Transactions on Mathematical Software 11(2), 141–153 (1985)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)