Mitigating the Compiler Optimization Phase-Ordering problem using Machine Learning
Optimizing compilers to execute
programs are important to design efficient modern compilers. In fact selecting
best order of optimization potentially improves running time of dynamically
compiled programs. The current state-of-the art approach to find this ordering
is Genetic algorithm (GA), which suffer from (i) an expensive search, and (ii) the
method-specific difficulty. To mitigate these shortcomes to solve this so-called
phase ordering problem (finding best order for optimizations), this paper goes
through utilization of an artificial neural network (ANN) to find best order. Indeed,
there might be two possible approaches to this problem from an ANN point of
view. First, to predict complete sequence of optimizations needed to be applied
to the code, and second to find the current best optimization required. This
paper adheres to the second approach. A salient feature the paper relies to on
is the Markovian assumption for the state of the method bein optimized. This is
in contrast to classical fixed tedious approaches considered.
Positive aspects:
1-
The proposed approach only
needs one time expesie training, and then can easily be applied withought high overload
to find phase orderings
2-
Optimization period for the
proposed method is not that high which is in important positive aspect
3-
The method tries to
(re)generate features that are important to solve problem, and thus it is a
kind of task adaptive approach.
4-
In contrast to most
compilers that apply optimizations in a fixed order, this approach is dynamic
and the states evolve in a Markovian process fashion.
Short comes:
1-
Why Markovian property is a
valid assumption here? This is not well described or tested?
2-
Why the problem fits into
the ANN approaches, this problem more seems to need reinforcement learning
approaches, since it seems more like a planning or decision making rather than
function approximation!
3-
Why just ANNs are
considered, the problem might need more power full NN such as RNN, since there
is a kind of long and short term dependencies between states and thus LSTMs
might be a better option to attack problem.
I agree that the claims of 'better' w/r to RL are not convincing though it is claimed to relate to the dynamic nature of the NN. I would also highlight the search for a NN as this is something we have not seen in any papers yet. Use of RNN/LSTM could be interesting here.
ReplyDelete