 |
|
 |
|
[Back to Research topics] |
Low-overhead run-time adaptability of statically compiled programs for various constraints on heterogeneous systems
Tackling the complexity of future computing systems using machine learning:

|
Description
Collaborations
Software
Our related publications
Links
|
|
Description: |
I am moving all my research and software development activities to the UNIDAPT Group.
This page will give you some information about my previous activities.
Also, my personal research page can give you some more information about my current activities.
In 2004/2005 I have been working with Olivier Temam as a postdoctoral researcher and we developed a new concept to combine static and dynamic optimizations by creating self-tuning static binaries based on static code multiversioning and run-time hardware counters monitoring routines to learn run-time program behavior continuously, detect changes due to different program phases, inputs, environments (OS, architecture, virtual layers) and to dynamically react to those changes by selecting appropriately optimized code versions to improve performance, power, fault-tolerance, etc. We used this method
to make iterative optimizations practical and to speed up the iterative search by several orders of magnitude by enabling
low-overhead run-time phase detection for statically compiled programs (different from SimPoints as we detect phases at run-time at function or loop-level to target complex high-level optimizations). I am developing a UNIDAPT (UNIversal aDAPTation) framework to create self-tuning binaries and libraries and enable practical continuous iterative optimizations by detecting the influence of program optimizations on performance/power consumption in a single run unlike other current feedback-directed techniques that requires multiple runs with the same dataset. This technique also enables practical run-time adaptability for statically compiled programs with any behavior (regular or irregular) for different constraints (performance, power consumption). It does not require complex run-time recompilation frameworks and thus reliable, secure and easy to debug. I am implementing this technique in GCC (and source-to-source) and have some preliminary plans to implement it in Open64. Additional information can be found in my HiPEAC'05 paper and in my talk (January, 2007) at UPC (Spain).
We plan to extend UNIDAPT framework with a technique to compile multiple versions of a code for different ISA, provide explicit run-time memory transfer and adaptation routines and select the most appropriate versions on-line based on predictive code scheduling.
UNIDAPT Framework will be a part of the Continuous Collective Compilation Framework which helps automate and simplify transparent reuse of optimization knowledge among different programs and architectures. It will be used to overcome the complexity of current architectures, compilers, operating systems and programming environments, and to automate and improve architecture and compiler design (particularly for future heterogeneous multi-core systems), optimize and parallelize systems to improve performance, power consumption, size and fault-tolerance, reduce cost and time to market based on machine learning, artificial intelligence, statistical methods and biologically inspired techniques. We plan to release CCC Framework v1.0 before the HiPEAC'09 conference. You can subscribe for UNIDAPT announcements to know when it is released.
.[ UNIDAPT Framework development website ]
|
| Software: |
Collaborations: |
More Information about my software developments
|
|
|
Our related publications: |
-
Victor Jimenez, Isaac Gelado, Lluis Vilanova, Marisa Gil, Grigori Fursin and Nacho Navarro. Predictive runtime code scheduling for heterogeneous architectures. To appear at the International Conference on High Performance Embedded Architectures & Compilers (HiPEAC 2009), Paphos, Cyprus, January 2009
-
Grigori Fursin, Cupertino Miranda, Olivier Temam, Mircea Namolaru, Elad Yom-Tov, Ayal Zaks, Bilha Mendelson, Phil Barnard, Elton Ashton, Eric Courtois, Francois Bodin, Edwin Bonilla, John Thomson, Hugh Leather, Chris Williams, Michael O'Boyle. MILEPOST GCC: machine learning based research compiler. Proceedings of the GCC Developers' Summit, Ottawa, Canada, June 2008
[bib] [pdf]
-
Shun Long, Grigori Fursin, Björn Franke. A Cost-Aware Parallel Workload Allocation Approach based on Machine Learning Techniques. Proceedings of the IFIP International Conference on Network and Parallel Computing (NPC 2007), LNCS-4672, pages 506-515, Dalian, China, September 2007
[bib] [pdf]
-
Grigori Fursin, Cupertino Miranda, Sebastian Pop, Albert Cohen and Olivier Temam. Practical Run-time Adaptation with Procedure Cloning to Enable Continuous Collective Compilation. Proceedings of the GCC Developers’ Summit, Ottawa, Canada, July 2007
[bib] [pdf]]
- Grigori Fursin and Albert Cohen. Building a Practical Iterative Interactive Compiler. 1st International Workshop on Statistical and Machine Learning Approaches Applied to Architectures and Compilation (SMART'07), Ghent, Belgium, January 2007
[bib] [pdf]
- Grigori Fursin, John Cavazos, Michael O’Boyle and Olivier Temam. MiDataSets: Creating The Conditions For A More Realistic Evaluation of Iterative Optimization. Proceedings of the International Conference on High Performance Embedded Architectures & Compilers (HiPEAC 2007), Ghent, Belgium, January 2007
[bib] [pdf]
- Grigori Fursin, Albert Cohen, Michael O'Boyle and Oliver Temam. Quick and practical run-time evaluation of multiple program optimizations. Transactions on High-Performance Embedded Architectures and Compilers, 1(1), pages 13-31, 2006
[bib] [pdf] [pdf backup]
- Grigori Fursin, Albert Cohen, Michael O'Boyle and Oliver Temam. A Practical Method For Quickly Evaluating Program Optimizations. Proceedings of the 1st International Conference on High Performance Embedded Architectures & Compilers (HiPEAC 2005), number 3793 in LNCS, pages 29-46, Barcelona, Spain, November 2005
(highest ranked paper, acceptance rate=18%)
[bib] [pdf] [pdf backup]
All my publications My bibliography collection
My links to on-line journals and conference
|
|
Links: |
- many groups working on complex dynamic recompilation techniques - instead, we use simple static multi-versioning and low-overhead run-time adaptability
If I forgot some group, please don't hesitate to contact me.
|
|
 |
|
|
|
 |
|