• DocumentCode
    655330
  • Title

    Knowledge-Augmented Genetic Algorithms for Effective Instruction Template Selection in Compilers

  • Author

    Mahalingam, P.R.

  • Author_Institution
    Dept. of Comput. Sci. & Eng., Rajagiri Sch. of Eng. & Technol., Kochi, India
  • fYear
    2013
  • fDate
    29-31 Aug. 2013
  • Firstpage
    21
  • Lastpage
    24
  • Abstract
    Compilers form one of the most basic components in computing today. The high-level programs used to form applications are translated to assembly code by the compiler, and subsequently to machine code by the assembler. Assembly code generation is preceded by the optimization phase, which reorganizes and modifies the program to give the best possible performance. But the instruction selection is as important as the optimization itself, since the underlying processing units only use the machine code, rather than the program logic. The complexity associated with the selection of instruction is that there might be multiple ways to perform an operation, and each method might be beneficial for a particular scenario. We may not be able to determine a universally beneficial method for all operations. Genetic Algorithms can be employed in this scenario since it is a randomized enumerative search strategy. It can eventually reach the optimal solution. We can encode the algorithm chromosomes using different indices for the different instruction templates, and perform the genetic operations on those chromosomes to yield good generations of results. Even if genetic algorithms don´t guarantee a globally optimal solution, it always improves on the current solution and after some runs, we are guaranteed to get a fairly acceptable result. Analysis shows that with some acceptable compromise on the compilation time, the knowledge - augmented genetic algorithm approach works in more than 80% of the cases.
  • Keywords
    genetic algorithms; knowledge based systems; logic programming; machine code listings; program compilers; assembly code generation; compilers; high-level programs; instruction template selection; knowledge-augmented genetic algorithms; machine code; optimization phase; program logic; Assembly; Biological cells; Computer architecture; Generators; Genetic algorithms; Indexes; Optimization; code generator; compiler; crossover; genetic algorithm; instruction template; knowledge base; mutation;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Advances in Computing and Communications (ICACC), 2013 Third International Conference on
  • Conference_Location
    Cochin
  • Type

    conf

  • DOI
    10.1109/ICACC.2013.96
  • Filename
    6686329