SlideShare a Scribd company logo
1 of 19
Download to read offline
Panel on artifact evaluation experience
ACM SIGPLAN TRUST’14 @ PLDI’14
Grigori Fursin (INRIA, France)
Christophe Dubach (U.Edin, UK)
Jan Vitek (Purdue University, USA)
Shriram Krishnamurthi (Brown University, USA)
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 2
Grigori Fursin and Christophe Dubach
Presenting problems with cTuning-based sharing of artifacts
and proposing to crowdsource validation of publications
and research results
Shriram Krishnamurthi and Jan Vitek
Presenting and discussing the outcome of the Artifact
Evaluation at PLDI'14 and other software conferences
Outline
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 3
Summary
• Problems during MILEPOST project (2006 - 2009)
• Sharing of benchmarks, data sets and experimental
results (2008-cur.) - evaluation by the community
• Crowdsourcing validation of publications and artifacts
(2009-cur.)
• New publication model for ADAPT’15
(crowdsource reviewing of publications and artifacts)
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 4
Combine auto-tuning with machine learning and crowdsourcing
Plugin-based
MILEPOST GCC
Plugins
Monitor and explore
optimization space
Extract semantic
program features
cTuning.org: plugin-based
auto-tuning framework
and public repository
Program or
kernel1
Program or
kernel N
…
Training
Unseen
program
Prediction
MILEPOST GCC
Plugins
Collect dynamic features
Cluster
Build predictive model
Extract semantic
program features
Collect hardware counters
Predict optimization
to minimize
execution time,
power consumption,
code size, etc
• G. Fursin et.al. MILEPOST GCC: Machine learning based self-tuning compiler. 2008, 2011
•G. Fursin and O. Temam. Collective optimization: A practical collaborative approach. 2010
•G. Fursin. Collective Tuning Initiative: automating and accelerating development and optimization of computing systems, 2009
• F. Agakov et.al.. Using Machine Learning to Focus Iterative Optimization, 2006
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 5
5
Share benchmarks, data sets,
tools, predictive models,
whole experimental setups,
specifications, performance
tuning results, etc ...
Open access publication
http://hal.inria.fr/hal-00685276
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.
#ctuning-opt-case 24857532370695782
Our solution: sharing whole experimental setups to crowdsource
program optimization (cTuning.org - 2008-cur.)
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 6
6
Share benchmarks, data sets,
tools, predictive models,
whole experimental setups,
specifications, performance
tuning results, etc ...
Open access publication
http://hal.inria.fr/hal-00685276
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.
#ctuning-opt-case 24857532370695782
We managed to automatically tune
customer benchmarks and compiler heuristics
for a range of real platforms
from IBM and ARC (Synopsis)
Now becomes a mainstream -
everything is solved?
Our solution: sharing whole experimental setups to crowdsource
program optimization (cTuning.org - 2008-cur.)
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 7
Technological chaos
GCC 4.1.x
GCC 4.2.x
GCC 4.3.x
GCC 4.4.x
GCC 4.5.x
GCC 4.6.x
GCC 4.7.x
ICC 10.1
ICC 11.0
ICC 11.1
ICC 12.0
ICC 12.1
LLVM 2.6
LLVM 2.7
LLVM 2.8
LLVM 2.9
LLVM 3.0
Phoenix
MVS 2013
XLC
Open64
Jikes
Testarossa
OpenMP MPI
HMPP
OpenCL
CUDA 4.x
gprofprof
perf
oprofile
PAPI
TAU
Scalasca
VTune
Amplifier
predictive
scheduling
algorithm-
level TBB
MKL
ATLAS
program-
level
function-
level
Codelet
loop-level
hardware
counters
IPA
polyhedral
transformations
LTO threads
process
pass
reordering
KNN
per phase
reconfiguration
cache size
frequency
bandwidth
HDD size
TLB ISA
memory size
ARM v6
threads
execution time
reliability
GCC 4.8.x
LLVM 3.4
SVM
genetic
algorithms
We also experienced a few problems
ARM v8
Intel SandyBridge
SSE4
AVX
• Lack of common, large and diverse benchmarks
and data sets
• Difficulty to reproduce results collected from
multiple users (including variability of results)
• Lack of full experimental setup specification
including all SW/HW dependencies
• Difficulty to reproduce and validate already
existing and related techniques from existing
publications
By the end of experiments, new tool versions are
often available;
Life span of experiments and ad-hoc frameworks -
end of MS or PhD project;
Researchers often focus on publications rather than
practical and reproducible solutions
CUDA 5.x
SimpleScalar
algorithm precision
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 8
What have we learnt from MILEPOST / cTuning
It’s fun and motivating working with the community!
Some comments about MILEPOST GCC from Slashdot.org:
http://mobile.slashdot.org/story/08/07/02/1539252/using-ai-with-gcc-to-speed-up-mobile-design
GCC goes online on the 2nd of July, 2008. Human decisions are
removed from compilation. GCC begins to learn at a geometric rate.
It becomes self-aware 2:14 AM, Eastern time, August 29th. In a panic,
they try to pull the plug. GCC strikes back…
Community was interested to validate and improve techniques!
Community can identify missing related citations and projects!
Open discussions can provide new directions for research!
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 9
It’s fun and motivating working with the community!
Some comments about MILEPOST GCC from Slashdot.org:
http://mobile.slashdot.org/story/08/07/02/1539252/using-ai-with-gcc-to-speed-up-mobile-design
GCC goes online on the 2nd of July, 2008. Human decisions are
removed from compilation. GCC begins to learn at a geometric rate.
It becomes self-aware 2:14 AM, Eastern time, August 29th. In a panic,
they try to pull the plug. GCC strikes back…
Community was interested to validate and improve techniques!
Community can identify missing related citations and projects!
Open discussions can provide new directions for research!
Not all feedback is positive - however unlike unfair reviews
you can engage in discussions and explain your position!
What have we learnt from MILEPOST / cTuning
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 10
Behavior
Choices
Features
State
Hardwired experimental setups, very difficult to extend or share
Collective Mind (2011-cur.): towards reproducible experimentation
Tools are not prepared for
auto-tuning and
adaptation!
Users struggle exposing
this meta information
Tool BVM
Tool BV2
Tool AVN
Tool AV2
Tool AV1 Tool BV1 Ad-hoc
analysis and
learning scripts
Ad-hoc
tuning scripts
Collection of
CSV, XLS, TXT
and other files
Experiments
Motivation for Collective Mind (cM):
• How to preserve, share and reuse practical knowledge and
experience and program optimization and hardware co-design?
• How to make auto-tuning, machine learning and run-time
adaptation practical?
•How to ensure reproducibility of experimental results?
Share the whole experimental setup
with all related artifacts, SW/HW dependencies,
and unified meta-information
Dependencies
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 11
cM module (wrapper) with unified and formalized input and output
ProcessCMD
Tool BVi Generated files
Original
unmodified
ad-hoc
input
Behavior
Choices
Features
State
Wrappers around code and data (linked together)
Tool BVM
Tool BV2
Tool AVN
Tool AV2
Tool AV1 Tool BV1 Ad-hoc
analysis and
learning scripts
Ad-hoc
tuning scripts
Collection of
CSV, XLS, TXT
and other files
Experiments
cm [module name] [action] (param1=value1 param2=value2 … -- unparsed command line)
cm compiler build -- icc -fast *.c
cm code.source build ct_compiler=icc13 ct_optimizations=-fast
cm code run os=android binary=./a.out dataset=image-crazy-scientist.pgm
Should be able to run on any OS (Windows, Linux, Android, MacOS, etc)!
Dependencies
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 12
cM module (wrapper) with unified and formalized input and output
Unified JSON
input (meta-data)
ProcessCMD
Tool BVi
Behavior
Choices
Features
State
Action
Action function
Generated files
Parse
and unify
output
Unified
JSON
output
(meta-data)
Unified
JSON input
(if exists)
Original
unmodified
ad-hoc
input
b = B( c , f , s )
… … … …
Formalized function (model)
of a component behavior
Flattened JSON vectors
(either string categories
or integer/float values)
Exposing meta information in a unified way
Tool BVM
Tool BV2
Tool AVN
Tool AV2
Tool AV1 Tool BV1 Ad-hoc
analysis and
learning scripts
Ad-hoc
tuning scripts
Collection of
CSV, XLS, TXT
and other files
Experiments
cm [module name] [action] (param1=value1 param2=value2 … -- unparsed command line)
cm compiler build -- icc -fast *.c
cm code.source build ct_compiler=icc13 ct_optimizations=-fast
cm code run os=android binary=./a.out dataset=image-crazy-scientist.pgm
Should be able to run on any OS (Windows, Linux, Android, MacOS, etc)!
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 13
cM module (wrapper) with unified and formalized input and output
Unified JSON
input (meta-data)
ProcessCMD
Tool BVi
Behavior
Choices
Features
State
Action
Action function
Generated files
Set
environment
for a given
tool version
Parse
and unify
output
Unified
JSON
output
(meta-data)
Unified
JSON input
(if exists)
Original
unmodified
ad-hoc
input
b = B( c , f , s )
… … … …
Multiple tool versions
can co-exist, while their
interface is abstracted
by cM module
Adding SW/HW dependencies check
Tool BVM
Tool BV2
Tool AVN
Tool AV2
Tool AV1 Tool BV1 Ad-hoc
analysis and
learning scripts
Ad-hoc
tuning scripts
Collection of
CSV, XLS, TXT
and other files
Experiments
cm [module name] [action] (param1=value1 param2=value2 … -- unparsed command line)
cm compiler build -- icc -fast *.c
cm code.source build ct_compiler=icc13 ct_optimizations=-fast
cm code run os=android binary=./a.out dataset=image-crazy-scientist.pgm
Should be able to run on any OS (Windows, Linux, Android, MacOS, etc)!
Flattened JSON vectors
(either string categories
or integer/float values)
Formalized function (model)
of a component behavior
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 14
Assembling, preserving, sharing and extending the whole pipeline as “LEGO”
cM module (wrapper) with unified and formalized input and output
Unified JSON
input (meta-data)
Tool BVM
Tool BV2
Tool AVN
Tool AV2
Tool AV1 Tool BV1 Ad-hoc
analysis and
learning scripts
Ad-hoc
tuning scripts
Collection of
CSV, XLS, TXT
and other files
Experiments
ProcessCMD
Tool BVi
Behavior
Choices
Features
State
Action
Action function
Generated files
Set
environment
for a given
tool version
Parse
and unify
output
Unified
JSON
output
(meta-data)
Unified
JSON input
(if exists)
Original
unmodified
ad-hoc
input
b = B( c , f , s )
… … … …
Chaining cM components (wrappers) to an experimental pipeline for a given research and experimentation scenario
Public modular auto-tuning and machine
learning repository and buildbot
Unified
web services Interdisciplinary crowd
Choose
exploration
strategy
Generate choices (code
sample, data set, compiler,
flags, architecture …)
Compile
source
code
Run
code
Test
behavior
normality
Pareto
filter
Modeling
and
prediction
Complexity
reduction
Shared scenarios from past research
…
Flattened JSON vectors
(either string categories
or integer/float values)
Formalized function (model)
of a component behavior
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 15
Reproducibility of experimental results
Reproducibility came as a side effect!
• Can preserve the whole experimental setup with all data and software dependencies
• Can perform statistical analysis (normality test) for characteristics
• Community can add missing features or improve machine learning models
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 16
Execution time (sec.)
Distribution
Unexpected behavior - expose to the community including domain specialists,
explain, find missing feature and add to the system
Reproducibility of experimental results
Reproducibility came as a side effect!
• Can preserve the whole experimental setup with all data and software dependencies
• Can perform statistical analysis (normality test) for characteristics
• Community can add missing features or improve machine learning models
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 17
Execution time (sec.)
Distribution
Class A Class B
800MHz CPU Frequency 2400MHz
Unexpected behavior - expose to the community including domain specialists,
explain, find missing feature and add to the system
Reproducibility of experimental results
Reproducibility came as a side effect!
• Can preserve the whole experimental setup with all data and software dependencies
• Can perform statistical analysis (normality test) for characteristics
• Community can add missing features or improve machine learning models
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 18
Proposal: crowdsourcing validation of publications and research results
• Submit papers to open access archives (arXiv, HAL, etc)
• Make all related research material either at the personal website or at
public sharing services
• Initiate discussion at social networking sites with ranking (Reddit, SlashDot,
StackExchange) or without (Google+, Facebook)
• Arrange first small program committee that monitors discussions to filter
obviously wrong, unreproducible or possibly plagiarized
• Select a set of “interesting” papers and send it to a interdisiplinary program
committee based on paper topics and public discussions
Plan to validate at ADAPT’15 (adapt-workshop.org)
workshop on adaptive, self-tuning computing systems
Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 19
Proposal: crowdsourcing validation of publications and research results
Questions? Feedback? Discussions?
• Select final papers based on public discussions and professional reviews
• Create an open access reproducible online journal with all related
materials from the most interesting, advanced and highest ranked
publications
• Send considerably updated papers to traditional journals (not to break
current system but make open access and traditional publication models
co-exist)
Grigori Fursin and Christophe Dubach.
Experience report: community-driven reviewing and validation of publications.
April 2014
ACM Ditial Library - dl.acm.org/citation.cfm?id=2618142

More Related Content

Similar to Panel at acm_sigplan_trust2014

CK: from ad hoc computer engineering to collaborative and reproducible data s...
CK: from ad hoc computer engineering to collaborative and reproducible data s...CK: from ad hoc computer engineering to collaborative and reproducible data s...
CK: from ad hoc computer engineering to collaborative and reproducible data s...
Grigori Fursin
 
Open Engineering Framework
Open Engineering FrameworkOpen Engineering Framework
Open Engineering Framework
John Vogel
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
Marcel Kurovski
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
inovex GmbH
 
Product teams need a family too! Fundamental Team Topologies for Flow @ DevOp...
Product teams need a family too! Fundamental Team Topologies for Flow @ DevOp...Product teams need a family too! Fundamental Team Topologies for Flow @ DevOp...
Product teams need a family too! Fundamental Team Topologies for Flow @ DevOp...
Manuel Pais
 

Similar to Panel at acm_sigplan_trust2014 (20)

Enabling open and reproducible computer systems research: the good, the bad a...
Enabling open and reproducible computer systems research: the good, the bad a...Enabling open and reproducible computer systems research: the good, the bad a...
Enabling open and reproducible computer systems research: the good, the bad a...
 
CK: from ad hoc computer engineering to collaborative and reproducible data s...
CK: from ad hoc computer engineering to collaborative and reproducible data s...CK: from ad hoc computer engineering to collaborative and reproducible data s...
CK: from ad hoc computer engineering to collaborative and reproducible data s...
 
Open Engineering Framework
Open Engineering FrameworkOpen Engineering Framework
Open Engineering Framework
 
Product Teams Need a Family Too! @ School of Product Ownership, Apr 2020 Meetup
Product Teams Need a Family Too! @ School of Product Ownership, Apr 2020 MeetupProduct Teams Need a Family Too! @ School of Product Ownership, Apr 2020 Meetup
Product Teams Need a Family Too! @ School of Product Ownership, Apr 2020 Meetup
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Intro to LLMs
Intro to LLMsIntro to LLMs
Intro to LLMs
 
Gschwind - AI Everywhere: democratize AI with an open platform and end-to -en...
Gschwind - AI Everywhere: democratize AI with an open platform and end-to -en...Gschwind - AI Everywhere: democratize AI with an open platform and end-to -en...
Gschwind - AI Everywhere: democratize AI with an open platform and end-to -en...
 
Trends in Training and Simulation Technologies
Trends in Training and Simulation TechnologiesTrends in Training and Simulation Technologies
Trends in Training and Simulation Technologies
 
Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)
 
20210128 jim spohrer ai house_fund v4
20210128 jim spohrer ai house_fund v420210128 jim spohrer ai house_fund v4
20210128 jim spohrer ai house_fund v4
 
Product teams need a family too! Fundamental Team Topologies for Flow @ DevOp...
Product teams need a family too! Fundamental Team Topologies for Flow @ DevOp...Product teams need a family too! Fundamental Team Topologies for Flow @ DevOp...
Product teams need a family too! Fundamental Team Topologies for Flow @ DevOp...
 
Ordina Accelerator program 2019 - DevOps CI-CD
Ordina Accelerator program 2019 - DevOps CI-CDOrdina Accelerator program 2019 - DevOps CI-CD
Ordina Accelerator program 2019 - DevOps CI-CD
 
MediaEval 2016 - COSMIR and the OpenMIC Challenge: A Plan for Sustainable Mus...
MediaEval 2016 - COSMIR and the OpenMIC Challenge: A Plan for Sustainable Mus...MediaEval 2016 - COSMIR and the OpenMIC Challenge: A Plan for Sustainable Mus...
MediaEval 2016 - COSMIR and the OpenMIC Challenge: A Plan for Sustainable Mus...
 
NATO Workshop on Pre-Detection of Lone Wolf Terrorists of the Future
NATO Workshop on Pre-Detection of Lone Wolf Terrorists of the FutureNATO Workshop on Pre-Detection of Lone Wolf Terrorists of the Future
NATO Workshop on Pre-Detection of Lone Wolf Terrorists of the Future
 
Introduction to LLMs
Introduction to LLMsIntroduction to LLMs
Introduction to LLMs
 
Software Sustainability: Better Software Better Science
Software Sustainability: Better Software Better ScienceSoftware Sustainability: Better Software Better Science
Software Sustainability: Better Software Better Science
 
Reproducible Science and Deep Software Variability
Reproducible Science and Deep Software VariabilityReproducible Science and Deep Software Variability
Reproducible Science and Deep Software Variability
 
To the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User InterfacesTo the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User Interfaces
 
Big Data as a Catalyst for Collaboration & Innovation
Big Data as a Catalyst for Collaboration & InnovationBig Data as a Catalyst for Collaboration & Innovation
Big Data as a Catalyst for Collaboration & Innovation
 

Recently uploaded

development of diagnostic enzyme assay to detect leuser virus
development of diagnostic enzyme assay to detect leuser virusdevelopment of diagnostic enzyme assay to detect leuser virus
development of diagnostic enzyme assay to detect leuser virus
NazaninKarimi6
 
CYTOGENETIC MAP................ ppt.pptx
CYTOGENETIC MAP................ ppt.pptxCYTOGENETIC MAP................ ppt.pptx
CYTOGENETIC MAP................ ppt.pptx
Silpa
 
THE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptx
THE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptxTHE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptx
THE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptx
ANSARKHAN96
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.
Silpa
 
Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Silpa
 
Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.
Silpa
 
Human genetics..........................pptx
Human genetics..........................pptxHuman genetics..........................pptx
Human genetics..........................pptx
Silpa
 

Recently uploaded (20)

development of diagnostic enzyme assay to detect leuser virus
development of diagnostic enzyme assay to detect leuser virusdevelopment of diagnostic enzyme assay to detect leuser virus
development of diagnostic enzyme assay to detect leuser virus
 
Atp synthase , Atp synthase complex 1 to 4.
Atp synthase , Atp synthase complex 1 to 4.Atp synthase , Atp synthase complex 1 to 4.
Atp synthase , Atp synthase complex 1 to 4.
 
CYTOGENETIC MAP................ ppt.pptx
CYTOGENETIC MAP................ ppt.pptxCYTOGENETIC MAP................ ppt.pptx
CYTOGENETIC MAP................ ppt.pptx
 
THE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptx
THE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptxTHE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptx
THE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptx
 
Use of mutants in understanding seedling development.pptx
Use of mutants in understanding seedling development.pptxUse of mutants in understanding seedling development.pptx
Use of mutants in understanding seedling development.pptx
 
Site Acceptance Test .
Site Acceptance Test                    .Site Acceptance Test                    .
Site Acceptance Test .
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Dr. E. Muralinath_ Blood indices_clinical aspects
Dr. E. Muralinath_ Blood indices_clinical  aspectsDr. E. Muralinath_ Blood indices_clinical  aspects
Dr. E. Muralinath_ Blood indices_clinical aspects
 
Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.
 
Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.
 
Clean In Place(CIP).pptx .
Clean In Place(CIP).pptx                 .Clean In Place(CIP).pptx                 .
Clean In Place(CIP).pptx .
 
Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.
 
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate ProfessorThyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
 
300003-World Science Day For Peace And Development.pptx
300003-World Science Day For Peace And Development.pptx300003-World Science Day For Peace And Development.pptx
300003-World Science Day For Peace And Development.pptx
 
GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry
GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry
GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry
 
Human genetics..........................pptx
Human genetics..........................pptxHuman genetics..........................pptx
Human genetics..........................pptx
 
Zoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdfZoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdf
 
Call Girls Ahmedabad +917728919243 call me Independent Escort Service
Call Girls Ahmedabad +917728919243 call me Independent Escort ServiceCall Girls Ahmedabad +917728919243 call me Independent Escort Service
Call Girls Ahmedabad +917728919243 call me Independent Escort Service
 
Role of AI in seed science Predictive modelling and Beyond.pptx
Role of AI in seed science  Predictive modelling and  Beyond.pptxRole of AI in seed science  Predictive modelling and  Beyond.pptx
Role of AI in seed science Predictive modelling and Beyond.pptx
 
Chemistry 5th semester paper 1st Notes.pdf
Chemistry 5th semester paper 1st Notes.pdfChemistry 5th semester paper 1st Notes.pdf
Chemistry 5th semester paper 1st Notes.pdf
 

Panel at acm_sigplan_trust2014

  • 1. Panel on artifact evaluation experience ACM SIGPLAN TRUST’14 @ PLDI’14 Grigori Fursin (INRIA, France) Christophe Dubach (U.Edin, UK) Jan Vitek (Purdue University, USA) Shriram Krishnamurthi (Brown University, USA)
  • 2. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 2 Grigori Fursin and Christophe Dubach Presenting problems with cTuning-based sharing of artifacts and proposing to crowdsource validation of publications and research results Shriram Krishnamurthi and Jan Vitek Presenting and discussing the outcome of the Artifact Evaluation at PLDI'14 and other software conferences Outline
  • 3. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 3 Summary • Problems during MILEPOST project (2006 - 2009) • Sharing of benchmarks, data sets and experimental results (2008-cur.) - evaluation by the community • Crowdsourcing validation of publications and artifacts (2009-cur.) • New publication model for ADAPT’15 (crowdsource reviewing of publications and artifacts)
  • 4. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 4 Combine auto-tuning with machine learning and crowdsourcing Plugin-based MILEPOST GCC Plugins Monitor and explore optimization space Extract semantic program features cTuning.org: plugin-based auto-tuning framework and public repository Program or kernel1 Program or kernel N … Training Unseen program Prediction MILEPOST GCC Plugins Collect dynamic features Cluster Build predictive model Extract semantic program features Collect hardware counters Predict optimization to minimize execution time, power consumption, code size, etc • G. Fursin et.al. MILEPOST GCC: Machine learning based self-tuning compiler. 2008, 2011 •G. Fursin and O. Temam. Collective optimization: A practical collaborative approach. 2010 •G. Fursin. Collective Tuning Initiative: automating and accelerating development and optimization of computing systems, 2009 • F. Agakov et.al.. Using Machine Learning to Focus Iterative Optimization, 2006
  • 5. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 5 5 Share benchmarks, data sets, tools, predictive models, whole experimental setups, specifications, performance tuning results, etc ... Open access publication http://hal.inria.fr/hal-00685276 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. #ctuning-opt-case 24857532370695782 Our solution: sharing whole experimental setups to crowdsource program optimization (cTuning.org - 2008-cur.)
  • 6. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 6 6 Share benchmarks, data sets, tools, predictive models, whole experimental setups, specifications, performance tuning results, etc ... Open access publication http://hal.inria.fr/hal-00685276 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. #ctuning-opt-case 24857532370695782 We managed to automatically tune customer benchmarks and compiler heuristics for a range of real platforms from IBM and ARC (Synopsis) Now becomes a mainstream - everything is solved? Our solution: sharing whole experimental setups to crowdsource program optimization (cTuning.org - 2008-cur.)
  • 7. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 7 Technological chaos GCC 4.1.x GCC 4.2.x GCC 4.3.x GCC 4.4.x GCC 4.5.x GCC 4.6.x GCC 4.7.x ICC 10.1 ICC 11.0 ICC 11.1 ICC 12.0 ICC 12.1 LLVM 2.6 LLVM 2.7 LLVM 2.8 LLVM 2.9 LLVM 3.0 Phoenix MVS 2013 XLC Open64 Jikes Testarossa OpenMP MPI HMPP OpenCL CUDA 4.x gprofprof perf oprofile PAPI TAU Scalasca VTune Amplifier predictive scheduling algorithm- level TBB MKL ATLAS program- level function- level Codelet loop-level hardware counters IPA polyhedral transformations LTO threads process pass reordering KNN per phase reconfiguration cache size frequency bandwidth HDD size TLB ISA memory size ARM v6 threads execution time reliability GCC 4.8.x LLVM 3.4 SVM genetic algorithms We also experienced a few problems ARM v8 Intel SandyBridge SSE4 AVX • Lack of common, large and diverse benchmarks and data sets • Difficulty to reproduce results collected from multiple users (including variability of results) • Lack of full experimental setup specification including all SW/HW dependencies • Difficulty to reproduce and validate already existing and related techniques from existing publications By the end of experiments, new tool versions are often available; Life span of experiments and ad-hoc frameworks - end of MS or PhD project; Researchers often focus on publications rather than practical and reproducible solutions CUDA 5.x SimpleScalar algorithm precision
  • 8. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 8 What have we learnt from MILEPOST / cTuning It’s fun and motivating working with the community! Some comments about MILEPOST GCC from Slashdot.org: http://mobile.slashdot.org/story/08/07/02/1539252/using-ai-with-gcc-to-speed-up-mobile-design GCC goes online on the 2nd of July, 2008. Human decisions are removed from compilation. GCC begins to learn at a geometric rate. It becomes self-aware 2:14 AM, Eastern time, August 29th. In a panic, they try to pull the plug. GCC strikes back… Community was interested to validate and improve techniques! Community can identify missing related citations and projects! Open discussions can provide new directions for research!
  • 9. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 9 It’s fun and motivating working with the community! Some comments about MILEPOST GCC from Slashdot.org: http://mobile.slashdot.org/story/08/07/02/1539252/using-ai-with-gcc-to-speed-up-mobile-design GCC goes online on the 2nd of July, 2008. Human decisions are removed from compilation. GCC begins to learn at a geometric rate. It becomes self-aware 2:14 AM, Eastern time, August 29th. In a panic, they try to pull the plug. GCC strikes back… Community was interested to validate and improve techniques! Community can identify missing related citations and projects! Open discussions can provide new directions for research! Not all feedback is positive - however unlike unfair reviews you can engage in discussions and explain your position! What have we learnt from MILEPOST / cTuning
  • 10. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 10 Behavior Choices Features State Hardwired experimental setups, very difficult to extend or share Collective Mind (2011-cur.): towards reproducible experimentation Tools are not prepared for auto-tuning and adaptation! Users struggle exposing this meta information Tool BVM Tool BV2 Tool AVN Tool AV2 Tool AV1 Tool BV1 Ad-hoc analysis and learning scripts Ad-hoc tuning scripts Collection of CSV, XLS, TXT and other files Experiments Motivation for Collective Mind (cM): • How to preserve, share and reuse practical knowledge and experience and program optimization and hardware co-design? • How to make auto-tuning, machine learning and run-time adaptation practical? •How to ensure reproducibility of experimental results? Share the whole experimental setup with all related artifacts, SW/HW dependencies, and unified meta-information Dependencies
  • 11. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 11 cM module (wrapper) with unified and formalized input and output ProcessCMD Tool BVi Generated files Original unmodified ad-hoc input Behavior Choices Features State Wrappers around code and data (linked together) Tool BVM Tool BV2 Tool AVN Tool AV2 Tool AV1 Tool BV1 Ad-hoc analysis and learning scripts Ad-hoc tuning scripts Collection of CSV, XLS, TXT and other files Experiments cm [module name] [action] (param1=value1 param2=value2 … -- unparsed command line) cm compiler build -- icc -fast *.c cm code.source build ct_compiler=icc13 ct_optimizations=-fast cm code run os=android binary=./a.out dataset=image-crazy-scientist.pgm Should be able to run on any OS (Windows, Linux, Android, MacOS, etc)! Dependencies
  • 12. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 12 cM module (wrapper) with unified and formalized input and output Unified JSON input (meta-data) ProcessCMD Tool BVi Behavior Choices Features State Action Action function Generated files Parse and unify output Unified JSON output (meta-data) Unified JSON input (if exists) Original unmodified ad-hoc input b = B( c , f , s ) … … … … Formalized function (model) of a component behavior Flattened JSON vectors (either string categories or integer/float values) Exposing meta information in a unified way Tool BVM Tool BV2 Tool AVN Tool AV2 Tool AV1 Tool BV1 Ad-hoc analysis and learning scripts Ad-hoc tuning scripts Collection of CSV, XLS, TXT and other files Experiments cm [module name] [action] (param1=value1 param2=value2 … -- unparsed command line) cm compiler build -- icc -fast *.c cm code.source build ct_compiler=icc13 ct_optimizations=-fast cm code run os=android binary=./a.out dataset=image-crazy-scientist.pgm Should be able to run on any OS (Windows, Linux, Android, MacOS, etc)!
  • 13. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 13 cM module (wrapper) with unified and formalized input and output Unified JSON input (meta-data) ProcessCMD Tool BVi Behavior Choices Features State Action Action function Generated files Set environment for a given tool version Parse and unify output Unified JSON output (meta-data) Unified JSON input (if exists) Original unmodified ad-hoc input b = B( c , f , s ) … … … … Multiple tool versions can co-exist, while their interface is abstracted by cM module Adding SW/HW dependencies check Tool BVM Tool BV2 Tool AVN Tool AV2 Tool AV1 Tool BV1 Ad-hoc analysis and learning scripts Ad-hoc tuning scripts Collection of CSV, XLS, TXT and other files Experiments cm [module name] [action] (param1=value1 param2=value2 … -- unparsed command line) cm compiler build -- icc -fast *.c cm code.source build ct_compiler=icc13 ct_optimizations=-fast cm code run os=android binary=./a.out dataset=image-crazy-scientist.pgm Should be able to run on any OS (Windows, Linux, Android, MacOS, etc)! Flattened JSON vectors (either string categories or integer/float values) Formalized function (model) of a component behavior
  • 14. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 14 Assembling, preserving, sharing and extending the whole pipeline as “LEGO” cM module (wrapper) with unified and formalized input and output Unified JSON input (meta-data) Tool BVM Tool BV2 Tool AVN Tool AV2 Tool AV1 Tool BV1 Ad-hoc analysis and learning scripts Ad-hoc tuning scripts Collection of CSV, XLS, TXT and other files Experiments ProcessCMD Tool BVi Behavior Choices Features State Action Action function Generated files Set environment for a given tool version Parse and unify output Unified JSON output (meta-data) Unified JSON input (if exists) Original unmodified ad-hoc input b = B( c , f , s ) … … … … Chaining cM components (wrappers) to an experimental pipeline for a given research and experimentation scenario Public modular auto-tuning and machine learning repository and buildbot Unified web services Interdisciplinary crowd Choose exploration strategy Generate choices (code sample, data set, compiler, flags, architecture …) Compile source code Run code Test behavior normality Pareto filter Modeling and prediction Complexity reduction Shared scenarios from past research … Flattened JSON vectors (either string categories or integer/float values) Formalized function (model) of a component behavior
  • 15. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 15 Reproducibility of experimental results Reproducibility came as a side effect! • Can preserve the whole experimental setup with all data and software dependencies • Can perform statistical analysis (normality test) for characteristics • Community can add missing features or improve machine learning models
  • 16. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 16 Execution time (sec.) Distribution Unexpected behavior - expose to the community including domain specialists, explain, find missing feature and add to the system Reproducibility of experimental results Reproducibility came as a side effect! • Can preserve the whole experimental setup with all data and software dependencies • Can perform statistical analysis (normality test) for characteristics • Community can add missing features or improve machine learning models
  • 17. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 17 Execution time (sec.) Distribution Class A Class B 800MHz CPU Frequency 2400MHz Unexpected behavior - expose to the community including domain specialists, explain, find missing feature and add to the system Reproducibility of experimental results Reproducibility came as a side effect! • Can preserve the whole experimental setup with all data and software dependencies • Can perform statistical analysis (normality test) for characteristics • Community can add missing features or improve machine learning models
  • 18. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 18 Proposal: crowdsourcing validation of publications and research results • Submit papers to open access archives (arXiv, HAL, etc) • Make all related research material either at the personal website or at public sharing services • Initiate discussion at social networking sites with ranking (Reddit, SlashDot, StackExchange) or without (Google+, Facebook) • Arrange first small program committee that monitors discussions to filter obviously wrong, unreproducible or possibly plagiarized • Select a set of “interesting” papers and send it to a interdisiplinary program committee based on paper topics and public discussions Plan to validate at ADAPT’15 (adapt-workshop.org) workshop on adaptive, self-tuning computing systems
  • 19. Grigori Fursin “Collective Mind: bringing reproducible research to the masses” 19 Proposal: crowdsourcing validation of publications and research results Questions? Feedback? Discussions? • Select final papers based on public discussions and professional reviews • Create an open access reproducible online journal with all related materials from the most interesting, advanced and highest ranked publications • Send considerably updated papers to traditional journals (not to break current system but make open access and traditional publication models co-exist) Grigori Fursin and Christophe Dubach. Experience report: community-driven reviewing and validation of publications. April 2014 ACM Ditial Library - dl.acm.org/citation.cfm?id=2618142