Presented by: Sameer Kulkarni

Slides:



Advertisements
Similar presentations
Query Optimization of Frequent Itemset Mining on Multiple Databases Mining on Multiple Databases David Fuhry Department of Computer Science Kent State.
Advertisements

Yasuhiro Fujiwara (NTT Cyber Space Labs)
Supporting Simulations on the Cloud using Workflows & Virtual Machines Gary Polhill Macaulay Land Use Research Institute Edoardo Pignotti Computing Science,
Optimal Instruction Scheduling for Multi-Issue Processors using Constraint Programming Abid M. Malik and Peter van Beek David R. Cheriton School of Computer.
Optimizations for a Simulator Construction System Supporting Reusable Components David A. Penry and David I. August The Liberty Architecture Research Group.
Code Compaction of an Operating System Kernel Haifeng He, John Trimble, Somu Perianayagam, Saumya Debray, Gregory Andrews Computer Science Department.
U NIVERSITY OF D ELAWARE C OMPUTER & I NFORMATION S CIENCES D EPARTMENT Mitigating the Compiler Optimization Phase- Ordering Problem using Machine Learning.
Efficiently Exploring Compiler Optimization Sequences With Pairwise Pruning Milind Chabbi John Mellor-Crummey Keith Cooper RICE UNIVERSITY DEPARTMENT OF.
NUMA Tuning for Java Server Applications Mustafa M. Tikir.
CISC 673 : Optimizing Compilers Dept of Computer & Information Sciences University of Delaware JikesRVM.
Artificial Intelligence Genetic Algorithms and Applications of Genetic Algorithms in Compilers Prasad A. Kulkarni.
Depth Increment in IDA* Ling Zhao Dept. of Computing Science University of Alberta July 4, 2003.
Memory management Ingrid Verbauwhede Department of Electrical Engineering University of California Los Angeles.
Compiler Optimization-Space Exploration Adrian Pop IDA/PELAB Authors Spyridon Triantafyllis, Manish Vachharajani, Neil Vachharajani, David.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science John Cavazos Architecture and Language Implementation Lab Thesis Seminar University.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Introduction & Overview CS4533 from Cooper & Torczon.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
CISC673 – Optimizing Compilers1/34 Presented by: Sameer Kulkarni Dept of Computer & Information Sciences University of Delaware Phase Ordering.
CISC 673 : Optimizing Compilers Dept of Computer & Information Sciences University of Delaware JikesRVM.
Petros OikonomakosBashir M. Al-Hashimi Mark Zwolinski Versatile High-Level Synthesis of Self-Checking Datapaths Using an On-line Testability Metric Electronics.
CISC Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware.
Natawut NupairojAssembly Language1 Introduction to Assembly Programming.
Adapting Convergent Scheduling Using Machine Learning Diego Puppin*, Mark Stephenson †, Una-May O’Reilly †, Martin Martin †, and Saman Amarasinghe † *
Evaluating Impact of Storage on Smartphone Energy Efficiency David T. Nguyen.
CISC 673 : Optimizing Compilers Dept of Computer & Information Sciences University of Delaware JikesRVM.
Overview of the Course Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at Rice University.
CprE 588 Embedded Computer Systems Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #7 – System-Level.
1 Research Groups : KEEL: A Software Tool to Assess Evolutionary Algorithms for Data Mining Problems SCI 2 SMetrology and Models Intelligent.
Ensemble of ensemble of tree and neural network Louis Duclos-Gosselin.
1 Advance Computer Architecture CSE 8383 Ranya Alawadhi.
Florida State University Symposium on Code Generation and Optimization Exhaustive Optimization Phase Order Space Exploration Prasad A. Kulkarni.
CISC Machine Learning for Solving Systems Problems Presented by: Alparslan SARI Dept of Computer & Information Sciences University of Delaware
Synchronization Transformations for Parallel Computing Pedro Diniz and Martin Rinard Department of Computer Science University of California, Santa Barbara.
Florida State University Automatic Tuning of Libraries and Applications, LACSI 2006 In Search of Near-Optimal Optimization Phase Orderings Prasad A. Kulkarni.
Statistical Analysis of Inlining Heuristics in Jikes RVM Jing Yang Department of Computer Science, University of Virginia.
Test Architecture Design and Optimization for Three- Dimensional SoCs Li Jiang, Lin Huang and Qiang Xu CUhk Reliable Computing Laboratry Department of.
Investigating Adaptive Compilation using the MIPSpro Compiler Keith D. Cooper Todd Waterman Department of Computer Science Rice University Houston, TX.
1 EECS 6083 Compiler Theory Based on slides from text web site: Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved.
Advanced Computer Architecture Lab University of Michigan Compiler Controlled Value Prediction with Branch Predictor Based Confidence Eric Larson Compiler.
U NIVERSITY OF D ELAWARE C OMPUTER & I NFORMATION S CIENCES D EPARTMENT Optimizing Compilers CISC 673 Spring 2009 Overview of Compilers and JikesRVM John.
CISC Machine Learning for Solving Systems Problems John Cavazos Dept of Computer & Information Sciences University of Delaware
University of Maryland Towards Automated Tuning of Parallel Programs Jeffrey K. Hollingsworth Department of Computer Science University.
Extracting binary signals from microarray time-course data Debashis Sahoo 1, David L. Dill 2, Rob Tibshirani 3 and Sylvia K. Plevritis 4 1 Department of.
Optimal Superblock Scheduling Using Enumeration Ghassan Shobaki, CS Dept. Kent Wilken, ECE Dept. University of California, Davis
An Automated Development Framework for a RISC Processor with Reconfigurable Instruction Set Extensions Nikolaos Vassiliadis, George Theodoridis and Spiridon.
CISC Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information.
CISC Machine Learning for Solving Systems Problems Presented by: Eunjung Park Dept of Computer & Information Sciences University of Delaware Solutions.
U NIVERSITY OF D ELAWARE C OMPUTER & I NFORMATION S CIENCES D EPARTMENT Intelligent Compilation John Cavazos Computer & Information Sciences Department.
Fast and Efficient Static Compaction of Test Sequences Based on Greedy Algorithms Jaan Raik, Artur Jutman, Raimund Ubar Tallinn Technical University, Estonia.
1 The Garbage Collection Advantage: Improving Program Locality Xianglong Huang (UT), Stephen M Blackburn (ANU), Kathryn S McKinley (UT) J Eliot B Moss.
Unified Adaptivity Optimization of Clock and Logic Signals Shiyan Hu and Jiang Hu Dept of Electrical and Computer Engineering Texas A&M University.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Advanced Computer Systems
Who cares about implementation and precision?
Overview of the Course Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at Rice University.
Methodology of a Compiler that Compresses Code using Echo Instructions
CSCI1600: Embedded and Real Time Software
Wrapping Up Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at Rice University have explicit.
Stephen Hines, David Whalley and Gary Tyson Computer Science Dept.
Ann Gordon-Ross and Frank Vahid*
Adaptive Optimization in the Jalapeño JVM
In Search of Near-Optimal Optimization Phase Orderings
Big Data Analytics: Exploring Graphs with Optimized SQL Queries
Applications of Genetic Algorithms TJHSST Computer Systems Lab
Resource Allocation for Distributed Streaming Applications
CSCI1600: Embedded and Real Time Software
Research: Past, Present and Future
Area Coverage Problem Optimization by (local) Search
Srinivas Neginhal Anantharaman Kalyanaraman CprE 585: Survey Project
Presentation transcript:

Presented by: Sameer Kulkarni Improving Both the Performance Benefits and Speed of Optimization Phase Sequence Searches- Kulkarni, Jantz and Whalley Presented by: Sameer Kulkarni Dept of Computer & Information Sciences University of Delaware

Terms used Phase Ordering Genetic Algorithms Performance measurements Benchmarks Search granularity

Introduction Function vs. program level Granularity Embedded Systems Emulation Cost benefits Hybrid Search

Ideal Solution? Oracle  Perfect sequence at the very start Wise Man Solution  Given the present code predict the best optimization solution

Wise Man Understand Compilers Optimizations Source Code ?

Possible Solutions Pruning the search space Genetic Algorithms Estimating running times Precompiled choices Have multiple images of the library and chose the best one depending on the architecture.

Genetic Algorithms Fast Searches for Effective Optimization Phase Sequences, Kulkarni et al. PLDI ‘04

Exhaustive vs Heuristic [2]

Related Work Genetic Algorithms Other Evolutionary Techniques HMMs (CGO 06) Other Statistical methods Optimization Space Exploration

Present work Granularity Function Level File Level Program Level Hybrid

Experimental Setup VPO (Very Portable Optimizer) Base Genetic Algorithm Redundancy elimination

VPO Single IR Simplified phase ordering Configurable/modifiable

Redundancy Elimination Identical Sequence Identical Active Sequence Identical Function instance Equivalent Function Instance

Improvement…? 120 days > 12.5 days

Granularities Studied… Function Level File Level Program Level Hybrid …all compared to batch compilation

Graphs, graphs and more graphs… 

Search Requirements http://www.ittc.ku.edu/~kulkarni/research/papers/lctes59f-preprint.pdf

Are they any good? http://www.ittc.ku.edu/~kulkarni/research/papers/lctes59f-preprint.pdf

Performance ?? http://www.ittc.ku.edu/~kulkarni/research/papers/lctes59f-preprint.pdf

Future Work Other machine learning algorithms Reduce granularity Use a cluster to reduce search / learning time

Conclusion Reduced search overhead

Questions What is JikesRVM and what it is not bytecode to machine code Compilation : from website link, untar, run the java config command only once, create .ant.properties file. Run ant Checking that it is working: rvm check path How do you optimize, command line parameters. Different IRs and optimization on the IRs. For more information please go thru http://www.ugrad.cs.ubc.ca/~cs411/2006W2/handouts/jikes-IR-shane-brewer.pdf Some Code snippets Adding new CommandLine Parameters space sensitive