Adaptive optimization

Adaptive optimization

Adaptive optimization is a technique in computer science that performs dynamic recompilation of portions of a program based on the current execution profile. With a simple implementation, an adaptive optimizer may simply make a trade-off between Just-in-time compilation and interpreting instructions. At another level, adaptive optimization may take advantage of local data conditions to optimize away branches and to use inline expansion to decrease context switching.

Consider a hypothetical banking application that handles transactions one after another. These transactions may be checks, deposits, and a large number of more obscure transactions. When the program executes, the actual data may consist of clearing tens of thousands of checks without processing a single deposit and without processing a single check with a fraudulent account number. An adaptive optimizer would compile assembly code to optimize for this common case. If the system then started processing tens of thousands of deposits instead, the adaptive optimizer would recompile the assembly code to optimize the new common case. This optimization may include inlining code or moving error processing code to secondary cache.

Deoptimization

In some systems, notably the Java Virtual Machine[citation needed], execution over a range of bytecode instructions can be provably reversed. This allows an adaptive optimizer to make risky assumptions about the code. In the above example, the optimizer may assume all transactions are checks and all account numbers are valid. When these assumptions prove incorrect, the adaptive optimizer can 'unwind' to a valid state and then interpret the byte code instructions correctly.

See also

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Adaptive Modeler — (also known as Altreva Adaptive Modeler) is a software application for creating financial market simulation models for the purpose of forecasting prices of real world market traded stocks or other securities or assets. The technology used is… …   Wikipedia

  • Adaptive simulated annealing — (ASA) is a variant of simulated annealing (SA) algorithm in which the algorithm parameters that control temperature schedule and random step selection are automatically adjusted according to algorithm progress. This makes the algorithm more… …   Wikipedia

  • Adaptive control — involves modifying the control law used by a controller to cope with the fact that the parameters of the system being controlled are slowly time varying or uncertain. For example, as an aircraft flies, its mass will slowly decrease as a result of …   Wikipedia

  • Adaptive management — (AM), also known as adaptive resource management (ARM), is a structured, iterative process of optimal decision making in the face of uncertainty, with an aim to reducing uncertainty over time via system monitoring. In this way, decision making… …   Wikipedia

  • Adaptive Binary Optimization — Adaptive Binary Optimization, (ABO), is a supposed lossless image compression algorithm by MatrixView Ltd. It uses a patented method to compress the high correlation found in digital content signals and additional compression with standard… …   Wikipedia

  • Adaptive quality of service — Quality of Service (QoS) Routing Protocols have become increasingly poplular and have numerous applications. One application in which it is extremely useful is in Ad Hoc networks. The United States Air Force is determining the best way to employ… …   Wikipedia

  • Nexus (Process integration and optimization) — Nexus Screenshot of Nexus 1.1.05 Developer(s) iChrome …   Wikipedia

  • Ant colony optimization algorithms — Ant behavior was the inspiration for the metaheuristic optimization technique. In computer science and operations research, the ant colony optimization algorithm (ACO) is a probabilistic technique for solving computational problems which can be… …   Wikipedia

  • Greedy randomized adaptive search procedure — The greedy randomized adaptive search procedure (also known as GRASP) is a metaheuristic algorithm commonly applied to combinatorial optimization problems. GRASP typically consists of iterations made up from successive constructions of a greedy… …   Wikipedia

  • Cross-layer optimization — is an escape from the pure waterfall like concept of the OSI communications model with virtually strict boundaries between layers. The cross layer approach transports feedback dynamically via the layer boundaries to enable the compensation for… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”