Presentation is loading. Please wait.

Presentation is loading. Please wait.

CISC 879 - Machine Learning for Solving Systems Problems Presented by: Alparslan SARI Dept of Computer & Information Sciences University of Delaware

Similar presentations


Presentation on theme: "CISC 879 - Machine Learning for Solving Systems Problems Presented by: Alparslan SARI Dept of Computer & Information Sciences University of Delaware"— Presentation transcript:

1 CISC 879 - Machine Learning for Solving Systems Problems Presented by: Alparslan SARI Dept of Computer & Information Sciences University of Delaware asari@udel.edu Collective Optimization Grigori Fursin and Olivier Temam {grigori.fursin,olivier.temam}@inria.fr

2 CISC 879 - Machine Learning for Solving Systems Problems Overview Introduction Experimental Setup Motivation Overview Collective Learning Collective Compiler Performance Evaluation Background and Related Work Conclusion and Future Work

3 CISC 879 - Machine Learning for Solving Systems Problems Introduction What is Iterative Compilation? Iterative Compilation vs Static Compiler Optimization - Outperform? - Quickly adapt to complex processor architecture? - Machine Learning Algorithms?

4 CISC 879 - Machine Learning for Solving Systems Problems Introduction How are they overcome that practical obstacle using Collective Optimization? - A Central Database - Query for Optimization Suggestions - Recompile Is it even make sense to use Collective Optimization?

5 CISC 879 - Machine Learning for Solving Systems Problems Introduction The most important hurdle is that iterative techniques almost rely on a large number of training runs. Why is that? - Optimization Space?

6 CISC 879 - Machine Learning for Solving Systems Problems Introduction What is the key research issue? - Improve overall program performance - Learn how it reacts to the various optimizations

7 CISC 879 - Machine Learning for Solving Systems Problems Experimental Setup GCC 4.2.0 compiler 88 program transformations has identified. Transformations are randomly selected AMD Athlon XP 2800 (AMD32) – 5 machines AMD Athlon 64 3700+ (AMD64) – 16 machines Intel Xeon 2.80GHz (IA32) – 2 machines

8 CISC 879 - Machine Learning for Solving Systems Problems Experimental Setup Figure 1 from pg. 3, Collective Optimization, G. Fursin, O. Temam

9 CISC 879 - Machine Learning for Solving Systems Problems Experimental Setup Collecting information on a program run - add to each program a routine(executed@end)executed@end - it collects a program identifier - architecture - compiler identifiers - applied optimizations

10 CISC 879 - Machine Learning for Solving Systems Problems Experimental Setup Last run - performance measurements - currently execution time - profiling information After the information collection what next? - Store them to database

11 CISC 879 - Machine Learning for Solving Systems Problems Motivation Figure 2 from pg. 4, Collective Optimization, G. Fursin, O. Temam

12 CISC 879 - Machine Learning for Solving Systems Problems Overview Figure 1 from pg. 3, Collective Optimization, G. Fursin, O. Temam

13 CISC 879 - Machine Learning for Solving Systems Problems Overview “Maturation” stages of a program - Stage 1 : Program unknown, d1 - Stage 2 : Program known, a few runs only, d2 - Stage 3 : Program well known,heavily used, d3

14 CISC 879 - Machine Learning for Solving Systems Problems Collective Learning Figure 2 from pg. 4, Collective Optimization, G. Fursin, O. Temam

15 CISC 879 - Machine Learning for Solving Systems Problems Collective Learning Building the program distribution d3 using statistical comparison of optimizations combinations - Comparing two combinations C1, C2 - Execution times T1, T2 - T1 < T2 ? Cloned functions used - if T1 C2 This approach requires no reference, test or training run.

16 CISC 879 - Machine Learning for Solving Systems Problems Collective Learning Building the aggregate distribution d1 - d1 is simply the average of all d3 distributions of each program. - d1 reflects most common cases

17 CISC 879 - Machine Learning for Solving Systems Problems Collective Learning Building the matching distribution d2 - Characterize programs - C1 > C2 is a reaction to program optimizations John Cavazos have shown that its possible to improve similar program characterizations by identifying and then restricting to optimizations which carry the most information using the mutual information criterion.

18 CISC 879 - Machine Learning for Solving Systems Problems Collective Compiler Program identification : uniquely identified using a 32byte MD5 checksum of all the files in its source directory. Termination routine : main() - exit() Cloning : Optimizations are evaluated through cloned routines. (Using gprof utility) Security : very little program info sent to DB(G/L)

19 CISC 879 - Machine Learning for Solving Systems Problems Performance Evaluation Figure 3 from pg. 10, Collective Optimization, G. Fursin, O. Temam

20 CISC 879 - Machine Learning for Solving Systems Problems Performance Evaluation

21 CISC 879 - Machine Learning for Solving Systems Problems Background and. Several research works have shown how machine learning and statistical techniques can be used to select or tune program transformations based on program features. Java JIT compiler - Tuning - Predict optimization They have focus more on the impact of data sets from multiple users and the optimization selection robustness.

22 CISC 879 - Machine Learning for Solving Systems Problems Conclusions First contribution : identify the true limitations of the adoption of iterative optimization in production environment. The Second : showing that it is possible to simultaneously learn and improve performance across runs.

23 CISC 879 - Machine Learning for Solving Systems Problems Conclusions The Third : propose multi-level competition to understand the impact of optimization without even a reference run for computing speedups. The Fourth : highlight that knowledge accumulated across data sets for a single program is more useful, in the real and practical context of collective optimization, than the knowledge accumulated across programs.

24 CISC 879 - Machine Learning for Solving Systems Problems Questions

25 CISC 879 - Machine Learning for Solving Systems Problems Questions


Download ppt "CISC 879 - Machine Learning for Solving Systems Problems Presented by: Alparslan SARI Dept of Computer & Information Sciences University of Delaware"

Similar presentations


Ads by Google