Home Contact CV Research / Teaching Hobbies Social
Current Research Teaching Software Publications Links
[Back to Research topics]

Continuous Collective Compilation (and Parallelization) Framework (CCC)


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.

    

Based on the knowledge I accumulated from my previous projects on iterative optimizations (global and fine-grain levels), run-time adaptation, statistical search and machine learning, I started developing a Continuous Collective Compilation framework in 2005 to automate and simplify transparent reuse of optimization knowledge among different programs and architectures from multiple users. 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.

This framework is highly portable and have been tested on various platforms including x86, x8664, IA64, ARC, Longson/Godson, etc. It uses MILEPOST GCC to enable iterative compilation and program feature extraction, and allow transparent program optimizations without Makefile and other project modifications. It uses MiDataSets to analyze the behavior of programs with multiple datasets to enable research on run-time adaptation. It uses PAPI library to collect hardware counters describing program dynamic behavior. It also uses UNIDAPT framework to make statically-compiled programs adaptable to changing inputs, program behavior and environments (architecture, OS, virtual layers, libraries, etc) at run-time based on static function versioning and dynamic monitoring routines of performance counters. Our preliminary experimental results show that it is possible to reduce execution time and code size of various benchmarks (MiBench, MediaBench, EEMBC, SPEC) on a range of platforms entirely automatically.

We plan to release CCC Framework v1.0 at the HiPEAC'09 conference. You can subscribe for UNIDAPT announcements to know when it is released.

[ CCC development website ]

[ Previous FCO developments (Framework for Continuous Optimizations) ]


Software: Collaborations:


More Information about my software developments


Our related publications:

  • Grigori Fursin and Olivier Temam. Collective optimization. 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]
  • 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]

  • John Cavazos, Grigori Fursin, Felix Agakov, Edwin Bonilla, Michael F.P.O’Boyle and Olivier Temam. Rapidly Selecting Good Compiler Optimizations using Performance Counters. Proceedings of the 5th  Annual International Symposium on Code Generation and Optimization (CGO), San Jose, USA, March 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]
  • F. Agakov, E. Bonilla, J. Cavazos, B. Franke, G. Fursin, M.F.P. O'Boyle, J. Thomson, M. Toussaint and C.K.I. Williams. Using Machine Learning to Focus Iterative Optimization. Proceedings of the 4th  Annual International Symposium on Code Generation and Optimization (CGO), New York, NY, USA, March 2006
    (best presentation award)

[bib]    [pdf]

  • 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]
  • B. Franke, M. O'Boyle, J. Thomson and G. Fursin. Probabilistic Source-Level Optimisation of Embedded Systems Software. Proceedings of the Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES’05), pages 78-86, Chicago, IL, USA, June 2005
[bib]    [pdf]
  • Grigori Fursin. Iterative Compilation and Performance Prediction for Numerical Applications. Ph.D. thesis, University of Edinburgh, Edinburgh, UK, January 2004
[bib]    [pdf]   [pdf  backup]
  • G.G.Fursin, M.F.P.O’Boyle, and P.M.W. Knijnenburg. Evaluating Iterative Compilation. Proceedings of the 15th Workshop on Languages and Compilers for Parallel Computing (LCPC’02), College Park, MD, USA, pages 305-315, 2002

[bib]    [pdf]

 

Related publications about collaborative optimizations in dynamic JIT environments:

  • M. Arnold, A.Welc, and V.T.Rajan. Improving virtual machine performance using a cross-run profile repository. In Proceedings of the ACM Conference on Object-Oriented programming, Systems, Languages and Applications (OOPSLA’05), 2005.
  • J. Lau, M. Arnold, M. Hind, and B. Calder. Online performance auditing: Using hot optimizations without getting burned. In Proceedings of the ACM SIGPLAN Conference on Programming Languages Design and Implementation (PLDI), 2006.
  • M. W. Stephenson. Automating the Construction of Compiler Heuristics Using Machine Learning. PhD thesis, MIT, USA, 2006.

All my publications      My bibliography collection       My links to on-line journals and conference


Links:

If I forgot some group, please don't hesitate to contact me.



Content & Design (C)opyright 1999-2008 by Grigori Fursin
(unless otherwise stated)