From cTuning.org

(Difference between revisions)
Jump to: navigation, search
(New page: ''New publication model for computer engineering focusing on reproducibility and sharing of experimental results'' With the background in physics, we found it extremely disappointing tha...)
Current revision (20:06, 1 July 2014) (view source)
 
(19 intermediate revisions not shown.)
Line 1: Line 1:
-
''New publication model for computer engineering focusing on reproducibility and sharing of experimental results''  
+
'''''This is archive. We moved to [http://c-mind.org/reproducibility c-mind.org/reproducibility] ...'''''
-
With the background in physics, we found it extremely disappointing that reproducibility, sharing and statistical mindfulness of results in computer engineering is rarely considered. In fact, it is often simply impossible due to lack of common repositories and tools. Therefore, since 2009, we started using cTuning technology and repository to promote a new publication model for computer engineering (or any other science) which favors sharing of data, models, tools and interfaces for validation and reproducibility by the community. This topic has been accepted for the HiPEAC3 network of excellence (2012-2015) and we are currently building a community around this model. We plan to have a community meeting to discuss practical implementations in October 2012 in Ghent (Belgium). If you are interested to join this collaborative effort, please contact [mailto:grigori.fursin@inria.fr Grigori Fursin] or share your ideas here.
+
----
-
As an example, since 1999, we have been releasing all the tools used for our publications as open-source and we are releasing experimental data through cTuning repository in most of our publications since 2008. Since 2005, we also make our cTuning-related lectures available on-line. This model resulted in multiple collaborative projects to improve predictive models and tools to design and optimize computer systems together with IBM (Israel), Google (USA), ICT (China), University of Edinburgh (UK), UPC (Spain), CAPS Entreprise (France), ISP RAS (Russia), Intel (Illinois), Ghent University (Belgium), UVSQ (France), NCAR (USA), ARC/Synopsys (UK) and others.
+
This wiki is dedicated to:
 +
* ''New publication model for computer engineering that favors reproducible experimental results validated by the community''
 +
* ''New plugin-based open source collaborative R&D infrastructure and repository to systematize design and optimization of computer systems''
-
=== Current work in progress ===
+
''If you have questions, comments or suggestions, interested to participate in the future events or would like to join this effort, please get in touch with [http://cTuning.org/lab/people/gfursin Grigori Fursin].''
-
* Establishing a conference or a journal based on cTuning technology where PC members can reproduce and validate results
+
Designing novel many-core computer systems becomes intolerably complex, ad-hoc, costly and error prone due to limitations of available technology, enormous number of available design and optimization choices, and complex interactions between all software and hardware components. At the same time, research and development methodology for computer systems has hardly changed in the past decades. Users and developers often have to resort to non-scientific, non-systematic, non-rigorous, intuitive and error-prone methods combined with multiple ad-hoc tools, often limited, non-representative and simply outdated benchmarks and datasets, complex interfaces and data formats to select the most appropriate solution that satisfies all their needs. Such an outdated technology results in an enormous waste of expensive computing resources and energy, and considerably increases development costs and time-to-market for the new systems.
-
* Creating a common framework and repository (Collective Mind) for sharing and resuing data, tools and models
+
 
 +
Empirical auto-tuning combined with run-time adaptation and machine learning has been demonstrating good potential to address above challenges for more than a decade but still far from the widespread production use due to unbearably long exploration and training times, ever changing tools and their interfaces, lack of a common experimental methodology, and lack of unified mechanisms for knowledge building and exchange apart from publications where reproducibility of results is often not even considered.
 +
 
 +
We strongly believe that the time has come to start collaborative systematization and unification of design and optimization of computer systems combined with a new publication model where experimental results are validated by the community. One of the possible promising solutions is to combine public repository of knowledge with online auto-tuning, machine learning and crowdsourcing techniques where HiPEAC and cTuning communities already have a good practical experience. Such collaborative approach should allow community to continuously validate, systematize and improve collective knowledge about computer systems, and extrapolate it to build faster, more power efficient and reliable computer systems. Furthermore, it should be able to suggest researchers and engineers where to focus their effort and creativity when designing or optimizing computer systems, thus boosting innovation and dramatically reducing development and optimization costs, and time to market for new systems. It can also help to restore the attractiveness of computer engineering making it a more systematic and rigorous discipline rather than "hacking".
 +
 
 +
We are building an academic and industrial workgroup interested in:
 +
 
 +
* building common extensible HiPEAC repository and infrastructure (possibly based on already existing modular cTuning/Collective Mind technology) to collect statistics, benchmarks, codelets, data sets, tools, auto-tuning and run-time adaptation plugins, and predictive models from the community
 +
* systematizing and unifying optimization, design space exploration and run-time adaptation techniques (co-design and auto-tuning)
 +
* collaboratively evaluating and improving various data mining, classification and predictive modeling techniques for off-line and on-line auto-tuning
 +
* substituting ad-hoc and possibly outdated benchmarks and data sets with realistic and representative ones from the community
 +
* preparing new publication model (workshops, conferences, journals) with validation of experimental results by the community
 +
 
 +
=== Events ===
 +
 
 +
* '''22/01/2014''' - [[Discussions:New_Publication_Model:ADAPT2014_Panel_Discussion|Panel at ADAPT2014]]
 +
* '''2-3/05/2013''' - [http://cTuning.org/making-computer-engineering-a-science-2013 Thematic session on "making computer engineering a science"] at HiPEAC Computing Week/ACM ECRC 2013 in Paris, France
 +
** [[Discussions:New_Publication_Model:Notes_from_session_paris_2013|Meeting notes]]
 +
* '''24-25/04/2012''' - [http://www.hipeac.net/content/goeteborg-hipeac-computing-systems-week-april-2012 Thematic session on "Collective characterization, optimization and design of computer systems"] at HiPEAC Computing Week 2012 in Göteborg, Sweden
 +
* '''3/04/2012''' - [http://exadapt.org/2012/presentation-exadapt2012-grigori-fursin.pdf ASPLOS/EXADAPT 2012 panel on "Collaborative research methodology for large-scale computer systems"], London, UK
 +
 
 +
=== Comments ===
 +
* Grigori: from our experience with sharing our experimental results and tools or validating existing results (such as at ADAPT'14), just packing and sharing your artifacts is not enough - we would like to have them as reusable components with defined API and meta-description.
 +
 
 +
* Grigori: During conference on [http://goo.gl/iutx auto-tuning] in NTU (Taiwan), colleagues mentioned a [http://www.jstatsoft.org on-line journal in statistics] where algorithm and datasets are submitted along publication to validate results by the PC/community. Later we also had more [[Discussions:New_Publication_Model:Notes_from_session_paris_2013|discussions]] at HiPEAC computing week in Paris and we all agreed that we can't simply reproduce the same scheme since experimental setups are usually much more complex in computer engineering (design, optimization and run-time adaptation) while there is still no clear methodology for reproducibility (for example, how to deal with general variations in computer system behavior across different users, setups or runs). That's why we believe that we need a common collaborative R&D repository and infrastructure to reproduce and validate experiments across many users, architectures, tools, data sets. That is exact reason why I have been designing open source plugin-based cTuning and Collective Mind repository and infrastructure which allows to build customized experimental setups while supporting most of the architectures, operating systems (including off-the-shelf Android mobiles), compilers, run-time systems, benchmarks, data sets, etc. It is now available for preview and we are now testing it in a few industrial and academic projects before pre-release to continue collaborative and public discussions.
 +
 
 +
=== Thanks ===
 +
* We would like to thank HiPEAC for funding our meetings and [http://ctuning.org/lab/people all colleagues] who provided interesting feedback on cTuning/Collective Mind technology, and evaluated, validated or extended various collaborative tools, benchmarks, data sets and predictive models for program and architecture optimization!

Current revision

This is archive. We moved to c-mind.org/reproducibility ...


This wiki is dedicated to:

  • New publication model for computer engineering that favors reproducible experimental results validated by the community
  • New plugin-based open source collaborative R&D infrastructure and repository to systematize design and optimization of computer systems

If you have questions, comments or suggestions, interested to participate in the future events or would like to join this effort, please get in touch with Grigori Fursin.

Designing novel many-core computer systems becomes intolerably complex, ad-hoc, costly and error prone due to limitations of available technology, enormous number of available design and optimization choices, and complex interactions between all software and hardware components. At the same time, research and development methodology for computer systems has hardly changed in the past decades. Users and developers often have to resort to non-scientific, non-systematic, non-rigorous, intuitive and error-prone methods combined with multiple ad-hoc tools, often limited, non-representative and simply outdated benchmarks and datasets, complex interfaces and data formats to select the most appropriate solution that satisfies all their needs. Such an outdated technology results in an enormous waste of expensive computing resources and energy, and considerably increases development costs and time-to-market for the new systems.

Empirical auto-tuning combined with run-time adaptation and machine learning has been demonstrating good potential to address above challenges for more than a decade but still far from the widespread production use due to unbearably long exploration and training times, ever changing tools and their interfaces, lack of a common experimental methodology, and lack of unified mechanisms for knowledge building and exchange apart from publications where reproducibility of results is often not even considered.

We strongly believe that the time has come to start collaborative systematization and unification of design and optimization of computer systems combined with a new publication model where experimental results are validated by the community. One of the possible promising solutions is to combine public repository of knowledge with online auto-tuning, machine learning and crowdsourcing techniques where HiPEAC and cTuning communities already have a good practical experience. Such collaborative approach should allow community to continuously validate, systematize and improve collective knowledge about computer systems, and extrapolate it to build faster, more power efficient and reliable computer systems. Furthermore, it should be able to suggest researchers and engineers where to focus their effort and creativity when designing or optimizing computer systems, thus boosting innovation and dramatically reducing development and optimization costs, and time to market for new systems. It can also help to restore the attractiveness of computer engineering making it a more systematic and rigorous discipline rather than "hacking".

We are building an academic and industrial workgroup interested in:

  • building common extensible HiPEAC repository and infrastructure (possibly based on already existing modular cTuning/Collective Mind technology) to collect statistics, benchmarks, codelets, data sets, tools, auto-tuning and run-time adaptation plugins, and predictive models from the community
  • systematizing and unifying optimization, design space exploration and run-time adaptation techniques (co-design and auto-tuning)
  • collaboratively evaluating and improving various data mining, classification and predictive modeling techniques for off-line and on-line auto-tuning
  • substituting ad-hoc and possibly outdated benchmarks and data sets with realistic and representative ones from the community
  • preparing new publication model (workshops, conferences, journals) with validation of experimental results by the community

Events

Comments

  • Grigori: from our experience with sharing our experimental results and tools or validating existing results (such as at ADAPT'14), just packing and sharing your artifacts is not enough - we would like to have them as reusable components with defined API and meta-description.
  • Grigori: During conference on auto-tuning in NTU (Taiwan), colleagues mentioned a on-line journal in statistics where algorithm and datasets are submitted along publication to validate results by the PC/community. Later we also had more discussions at HiPEAC computing week in Paris and we all agreed that we can't simply reproduce the same scheme since experimental setups are usually much more complex in computer engineering (design, optimization and run-time adaptation) while there is still no clear methodology for reproducibility (for example, how to deal with general variations in computer system behavior across different users, setups or runs). That's why we believe that we need a common collaborative R&D repository and infrastructure to reproduce and validate experiments across many users, architectures, tools, data sets. That is exact reason why I have been designing open source plugin-based cTuning and Collective Mind repository and infrastructure which allows to build customized experimental setups while supporting most of the architectures, operating systems (including off-the-shelf Android mobiles), compilers, run-time systems, benchmarks, data sets, etc. It is now available for preview and we are now testing it in a few industrial and academic projects before pre-release to continue collaborative and public discussions.

Thanks

  • We would like to thank HiPEAC for funding our meetings and all colleagues who provided interesting feedback on cTuning/Collective Mind technology, and evaluated, validated or extended various collaborative tools, benchmarks, data sets and predictive models for program and architecture optimization!
Locations of visitors to this page