SlideShare a Scribd company logo
1 of 20
U n i v e rs i t y LO G O
Testing and Developing Tools to Promote
the Reproducibility of Computational
Research
Andrey Moskalenko
Center for Theoretical and Computational Materials Science
Daniel Wheeler | Faical Yannick P. Congo
Reproducible Research
• Main Areas:
• Computational
• Experimental
•Context of the Project
• Simulation Management
• Sumatra and CoRR
• Benchmark Phase Field Problem
• Conclusion
Table of Contents
U n i v e rs i t y LO G O
• Context of the Project
•Simulation Management
• Sumatra and CoRR
• Benchmark Phase Field Problem
• Conclusion
Table of Contents
U n i v e rs i t y LO G O
Simulation Management
The GoalComputational Research Now
U n i v e rs i t y LO G O
Current available tools
Robust
Command line
Web integration
Highly collaborative
Not suitable for
capturing execution
context
Suitable for recording
stable automated
executions
Provides log, search and
view of execution history
Capture entire
simulation context
Version environments
Collaborative
Not collaborative
with current tools
Not robust or
ubiquitous
Not suitable for log,
search and view of
history
Suitable for building
pipelines of distinct
tasks
Enables a clear
division of tasks for
non-experts
Black box design for
each section of the
pipeline
Monolithic in nature
encouraging isolated
ecosystem of tools
• Context of the Project
• Simulation Management
•Sumatra and CoRR
• Benchmark Phase Field Problem
• Conclusion
Table of Contents
• Context of the Project
• Simulation Management
•Sumatra and CoRR
• Benchmark Phase Field Problem
• Environment and Examples
• Conclusion
Table of Contents
• Context of the Project
• Simulation Management
•Sumatra and CoRR
• Benchmark Phase Field Problem
• Conclusion
Table of Contents
U n i v e rs i t y LO G O
Sumatra and CoRR
- What is it good for?
1
- What are the limitations?
U n i v e rs i t y LO G O
Sumatra and CoRR
- What is it good for?
1
- What are the limitations?
- Autonomous
- Local and cloud storage
- Continuously recording
- Compatible
- click-and-run
2
Sumatra and CoRR
dt = 1
Equation = f()
while elapsed_time is less than desired_duration:
result1 = equation.solve(dt = dt, solver = LinearPCG)
result2 = equation.solve(dt = small_dt, solver = LinearPCG)
if result1 does not meet tolerance * result2:
decrease dt and solve again
else:
increase dt and solve again
Extract data
U n i v e rs i t y LO G O
Environment
Workflow
 Definition
 Jupyter Notebook aka iPython Notebook
 libraries
 GitHub
 Cluster
• Context of the Project
• Simulation Management
• Sumatra and CoRR
•Benchmark Phase Field
Problem
• Conclusion
Table of Contents
• Context of the Project
• Simulation Management
• Sumatra and CoRR
•Benchmark Phase Field
Problem
• Conclusion
Table of Contents
U n i v e rs i t y LO G O
Analysis – phase-field model
2 Test CoRR and Sumatra functionality
1 Performance evaluation
3 Results
1 Performance evaluation
U n i v e rs i t y LO G O
Analysis – phase-field model
Results
U n i v e rs i t y LO G O
Why is reproducibility a difficult task?
• Versions and updates
• Legality
• Hardware
• Python libraries and dependencies
• Time drain
U n i v e rs i t y LO G O
• Context of the Project
• Simulation Management
• Sumatra and CoRR
• Benchmark Phase Field Problem
•Conclusion
Table of Contents
U n i v e rs i t y LO G O
Conclusion
2
Problem: CHiMaD benchmark problem
Solution: CoRR
1 Could you reproduce our phase-field results?
3 More work to be done in both areas
U n i v e rs i t y LO G O
Acknowledgements
2 MML Thermodynamics and Kinetics group
1
Mentors
Daniel Wheeler, Ph.D
Faical Yannick P. Congo, Ph.D
3 Anushka Dasgupta
4 All who made NIST SURF possible

More Related Content

What's hot

Focal loss for dense object detection
Focal loss for dense object detectionFocal loss for dense object detection
Focal loss for dense object detectionDaeHeeKim31
 
Parallel conformational search of small molecules
Parallel conformational search of small moleculesParallel conformational search of small molecules
Parallel conformational search of small moleculesYasset Perez-Riverol
 
Object Detection and Recognition
Object Detection and Recognition Object Detection and Recognition
Object Detection and Recognition Intel Nervana
 
Designing Network Design Spaces
Designing Network Design SpacesDesigning Network Design Spaces
Designing Network Design SpacesSungchul Kim
 
Adversarial Samples
Adversarial SamplesAdversarial Samples
Adversarial Samples哲东 郑
 
An Introduction to Neural Architecture Search
An Introduction to Neural Architecture SearchAn Introduction to Neural Architecture Search
An Introduction to Neural Architecture SearchBill Liu
 
Hanjun Dai, PhD Student, School of Computational Science and Engineering, Geo...
Hanjun Dai, PhD Student, School of Computational Science and Engineering, Geo...Hanjun Dai, PhD Student, School of Computational Science and Engineering, Geo...
Hanjun Dai, PhD Student, School of Computational Science and Engineering, Geo...MLconf
 
On the End-to-End Traffic Prediction in the On-Chip Networks
On the End-to-End Traffic Prediction in the On-Chip NetworksOn the End-to-End Traffic Prediction in the On-Chip Networks
On the End-to-End Traffic Prediction in the On-Chip NetworksYoshi Shih-Chieh Huang
 
Introduction to OpenSees by Frank McKenna
Introduction to OpenSees by Frank McKennaIntroduction to OpenSees by Frank McKenna
Introduction to OpenSees by Frank McKennaopenseesdays
 
deep learning from scratch chapter 3 neural network
deep learning from scratch chapter 3 neural networkdeep learning from scratch chapter 3 neural network
deep learning from scratch chapter 3 neural networkJaey Jeong
 
A shared-filesystem-memory approach for running IDA in parallel over informal...
A shared-filesystem-memory approach for running IDA in parallel over informal...A shared-filesystem-memory approach for running IDA in parallel over informal...
A shared-filesystem-memory approach for running IDA in parallel over informal...openseesdays
 
ensembles_emptytemplate_v2
ensembles_emptytemplate_v2ensembles_emptytemplate_v2
ensembles_emptytemplate_v2Shrayes Ramesh
 
[1312.5602] Playing Atari with Deep Reinforcement Learning
[1312.5602] Playing Atari with Deep Reinforcement Learning[1312.5602] Playing Atari with Deep Reinforcement Learning
[1312.5602] Playing Atari with Deep Reinforcement LearningSeung Jae Lee
 
Optical Flow with Semantic Segmentation and Localized Layers
Optical Flow with Semantic Segmentation and Localized LayersOptical Flow with Semantic Segmentation and Localized Layers
Optical Flow with Semantic Segmentation and Localized LayersSeval Çapraz
 

What's hot (14)

Focal loss for dense object detection
Focal loss for dense object detectionFocal loss for dense object detection
Focal loss for dense object detection
 
Parallel conformational search of small molecules
Parallel conformational search of small moleculesParallel conformational search of small molecules
Parallel conformational search of small molecules
 
Object Detection and Recognition
Object Detection and Recognition Object Detection and Recognition
Object Detection and Recognition
 
Designing Network Design Spaces
Designing Network Design SpacesDesigning Network Design Spaces
Designing Network Design Spaces
 
Adversarial Samples
Adversarial SamplesAdversarial Samples
Adversarial Samples
 
An Introduction to Neural Architecture Search
An Introduction to Neural Architecture SearchAn Introduction to Neural Architecture Search
An Introduction to Neural Architecture Search
 
Hanjun Dai, PhD Student, School of Computational Science and Engineering, Geo...
Hanjun Dai, PhD Student, School of Computational Science and Engineering, Geo...Hanjun Dai, PhD Student, School of Computational Science and Engineering, Geo...
Hanjun Dai, PhD Student, School of Computational Science and Engineering, Geo...
 
On the End-to-End Traffic Prediction in the On-Chip Networks
On the End-to-End Traffic Prediction in the On-Chip NetworksOn the End-to-End Traffic Prediction in the On-Chip Networks
On the End-to-End Traffic Prediction in the On-Chip Networks
 
Introduction to OpenSees by Frank McKenna
Introduction to OpenSees by Frank McKennaIntroduction to OpenSees by Frank McKenna
Introduction to OpenSees by Frank McKenna
 
deep learning from scratch chapter 3 neural network
deep learning from scratch chapter 3 neural networkdeep learning from scratch chapter 3 neural network
deep learning from scratch chapter 3 neural network
 
A shared-filesystem-memory approach for running IDA in parallel over informal...
A shared-filesystem-memory approach for running IDA in parallel over informal...A shared-filesystem-memory approach for running IDA in parallel over informal...
A shared-filesystem-memory approach for running IDA in parallel over informal...
 
ensembles_emptytemplate_v2
ensembles_emptytemplate_v2ensembles_emptytemplate_v2
ensembles_emptytemplate_v2
 
[1312.5602] Playing Atari with Deep Reinforcement Learning
[1312.5602] Playing Atari with Deep Reinforcement Learning[1312.5602] Playing Atari with Deep Reinforcement Learning
[1312.5602] Playing Atari with Deep Reinforcement Learning
 
Optical Flow with Semantic Segmentation and Localized Layers
Optical Flow with Semantic Segmentation and Localized LayersOptical Flow with Semantic Segmentation and Localized Layers
Optical Flow with Semantic Segmentation and Localized Layers
 

Similar to The Road to Reproducible Computational Research

Detecting common scientific workflow fragments using templates and execution ...
Detecting common scientific workflow fragments using templates and execution ...Detecting common scientific workflow fragments using templates and execution ...
Detecting common scientific workflow fragments using templates and execution ...dgarijo
 
Triantafyllia Voulibasi
Triantafyllia VoulibasiTriantafyllia Voulibasi
Triantafyllia VoulibasiISSEL
 
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...Automating Speed: A Proven Approach to Preventing Performance Regressions in ...
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...HostedbyConfluent
 
HP - Jerome Rolia - Hadoop World 2010
HP - Jerome Rolia - Hadoop World 2010HP - Jerome Rolia - Hadoop World 2010
HP - Jerome Rolia - Hadoop World 2010Cloudera, Inc.
 
Provenance for Data Munging Environments
Provenance for Data Munging EnvironmentsProvenance for Data Munging Environments
Provenance for Data Munging EnvironmentsPaul Groth
 
Fugue: Unifying Spark and Non-Spark Ecosystems for Big Data Analytics
Fugue: Unifying Spark and Non-Spark Ecosystems for Big Data AnalyticsFugue: Unifying Spark and Non-Spark Ecosystems for Big Data Analytics
Fugue: Unifying Spark and Non-Spark Ecosystems for Big Data AnalyticsDatabricks
 
Scalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and TestingScalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and TestingLionel Briand
 
Understanding Large Social Networks | IRE Major Project | Team 57
Understanding Large Social Networks | IRE Major Project | Team 57 Understanding Large Social Networks | IRE Major Project | Team 57
Understanding Large Social Networks | IRE Major Project | Team 57 Raj Patel
 
On the Necessity and Inapplicability of Python
On the Necessity and Inapplicability of PythonOn the Necessity and Inapplicability of Python
On the Necessity and Inapplicability of PythonTakeshi Akutsu
 
On the necessity and inapplicability of python
On the necessity and inapplicability of pythonOn the necessity and inapplicability of python
On the necessity and inapplicability of pythonYung-Yu Chen
 
TDD done right - tests immutable to refactor
TDD done right - tests immutable to refactorTDD done right - tests immutable to refactor
TDD done right - tests immutable to refactorGrzegorz Miejski
 
Neo4j GraphTalk Basel - Building intelligent Software with Graphs
Neo4j GraphTalk Basel - Building intelligent Software with GraphsNeo4j GraphTalk Basel - Building intelligent Software with Graphs
Neo4j GraphTalk Basel - Building intelligent Software with GraphsNeo4j
 
VRP2013 - Comp Aspects VRP
VRP2013 - Comp Aspects VRPVRP2013 - Comp Aspects VRP
VRP2013 - Comp Aspects VRPVictor Pillac
 
Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...
Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...
Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...Unai Lopez-Novoa
 
Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...
Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...
Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...CREST @ University of Adelaide
 
Planning Mode Simulator: A simulation tool for studying ALMA's scheduling be...
 Planning Mode Simulator: A simulation tool for studying ALMA's scheduling be... Planning Mode Simulator: A simulation tool for studying ALMA's scheduling be...
Planning Mode Simulator: A simulation tool for studying ALMA's scheduling be...Arturo Hoffstadt
 
Harnessing OpenCL in Modern Coprocessors
Harnessing OpenCL in Modern CoprocessorsHarnessing OpenCL in Modern Coprocessors
Harnessing OpenCL in Modern CoprocessorsUnai Lopez-Novoa
 
Mulvery Detail - English
Mulvery Detail - EnglishMulvery Detail - English
Mulvery Detail - EnglishDaichi Teruya
 
Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Daniel Mendez
 

Similar to The Road to Reproducible Computational Research (20)

Detecting common scientific workflow fragments using templates and execution ...
Detecting common scientific workflow fragments using templates and execution ...Detecting common scientific workflow fragments using templates and execution ...
Detecting common scientific workflow fragments using templates and execution ...
 
Triantafyllia Voulibasi
Triantafyllia VoulibasiTriantafyllia Voulibasi
Triantafyllia Voulibasi
 
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...Automating Speed: A Proven Approach to Preventing Performance Regressions in ...
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...
 
HP - Jerome Rolia - Hadoop World 2010
HP - Jerome Rolia - Hadoop World 2010HP - Jerome Rolia - Hadoop World 2010
HP - Jerome Rolia - Hadoop World 2010
 
Provenance for Data Munging Environments
Provenance for Data Munging EnvironmentsProvenance for Data Munging Environments
Provenance for Data Munging Environments
 
Fugue: Unifying Spark and Non-Spark Ecosystems for Big Data Analytics
Fugue: Unifying Spark and Non-Spark Ecosystems for Big Data AnalyticsFugue: Unifying Spark and Non-Spark Ecosystems for Big Data Analytics
Fugue: Unifying Spark and Non-Spark Ecosystems for Big Data Analytics
 
Scalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and TestingScalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and Testing
 
Scolari's ICCD17 Talk
Scolari's ICCD17 TalkScolari's ICCD17 Talk
Scolari's ICCD17 Talk
 
Understanding Large Social Networks | IRE Major Project | Team 57
Understanding Large Social Networks | IRE Major Project | Team 57 Understanding Large Social Networks | IRE Major Project | Team 57
Understanding Large Social Networks | IRE Major Project | Team 57
 
On the Necessity and Inapplicability of Python
On the Necessity and Inapplicability of PythonOn the Necessity and Inapplicability of Python
On the Necessity and Inapplicability of Python
 
On the necessity and inapplicability of python
On the necessity and inapplicability of pythonOn the necessity and inapplicability of python
On the necessity and inapplicability of python
 
TDD done right - tests immutable to refactor
TDD done right - tests immutable to refactorTDD done right - tests immutable to refactor
TDD done right - tests immutable to refactor
 
Neo4j GraphTalk Basel - Building intelligent Software with Graphs
Neo4j GraphTalk Basel - Building intelligent Software with GraphsNeo4j GraphTalk Basel - Building intelligent Software with Graphs
Neo4j GraphTalk Basel - Building intelligent Software with Graphs
 
VRP2013 - Comp Aspects VRP
VRP2013 - Comp Aspects VRPVRP2013 - Comp Aspects VRP
VRP2013 - Comp Aspects VRP
 
Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...
Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...
Contributions to the Efficient Use of General Purpose Coprocessors: KDE as Ca...
 
Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...
Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...
Chen_Reading Strategies for Graph Visualizations that Wrap Around in Torus To...
 
Planning Mode Simulator: A simulation tool for studying ALMA's scheduling be...
 Planning Mode Simulator: A simulation tool for studying ALMA's scheduling be... Planning Mode Simulator: A simulation tool for studying ALMA's scheduling be...
Planning Mode Simulator: A simulation tool for studying ALMA's scheduling be...
 
Harnessing OpenCL in Modern Coprocessors
Harnessing OpenCL in Modern CoprocessorsHarnessing OpenCL in Modern Coprocessors
Harnessing OpenCL in Modern Coprocessors
 
Mulvery Detail - English
Mulvery Detail - EnglishMulvery Detail - English
Mulvery Detail - English
 
Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...
 

The Road to Reproducible Computational Research

  • 1. U n i v e rs i t y LO G O Testing and Developing Tools to Promote the Reproducibility of Computational Research Andrey Moskalenko Center for Theoretical and Computational Materials Science Daniel Wheeler | Faical Yannick P. Congo
  • 2. Reproducible Research • Main Areas: • Computational • Experimental
  • 3. •Context of the Project • Simulation Management • Sumatra and CoRR • Benchmark Phase Field Problem • Conclusion Table of Contents
  • 4. U n i v e rs i t y LO G O • Context of the Project •Simulation Management • Sumatra and CoRR • Benchmark Phase Field Problem • Conclusion Table of Contents
  • 5. U n i v e rs i t y LO G O Simulation Management The GoalComputational Research Now
  • 6. U n i v e rs i t y LO G O Current available tools Robust Command line Web integration Highly collaborative Not suitable for capturing execution context Suitable for recording stable automated executions Provides log, search and view of execution history Capture entire simulation context Version environments Collaborative Not collaborative with current tools Not robust or ubiquitous Not suitable for log, search and view of history Suitable for building pipelines of distinct tasks Enables a clear division of tasks for non-experts Black box design for each section of the pipeline Monolithic in nature encouraging isolated ecosystem of tools
  • 7. • Context of the Project • Simulation Management •Sumatra and CoRR • Benchmark Phase Field Problem • Conclusion Table of Contents
  • 8. • Context of the Project • Simulation Management •Sumatra and CoRR • Benchmark Phase Field Problem • Environment and Examples • Conclusion Table of Contents • Context of the Project • Simulation Management •Sumatra and CoRR • Benchmark Phase Field Problem • Conclusion Table of Contents
  • 9. U n i v e rs i t y LO G O Sumatra and CoRR - What is it good for? 1 - What are the limitations?
  • 10. U n i v e rs i t y LO G O Sumatra and CoRR - What is it good for? 1 - What are the limitations? - Autonomous - Local and cloud storage - Continuously recording - Compatible - click-and-run 2
  • 11. Sumatra and CoRR dt = 1 Equation = f() while elapsed_time is less than desired_duration: result1 = equation.solve(dt = dt, solver = LinearPCG) result2 = equation.solve(dt = small_dt, solver = LinearPCG) if result1 does not meet tolerance * result2: decrease dt and solve again else: increase dt and solve again Extract data
  • 12. U n i v e rs i t y LO G O Environment Workflow  Definition  Jupyter Notebook aka iPython Notebook  libraries  GitHub  Cluster
  • 13. • Context of the Project • Simulation Management • Sumatra and CoRR •Benchmark Phase Field Problem • Conclusion Table of Contents
  • 14. • Context of the Project • Simulation Management • Sumatra and CoRR •Benchmark Phase Field Problem • Conclusion Table of Contents
  • 15. U n i v e rs i t y LO G O Analysis – phase-field model 2 Test CoRR and Sumatra functionality 1 Performance evaluation 3 Results 1 Performance evaluation
  • 16. U n i v e rs i t y LO G O Analysis – phase-field model Results
  • 17. U n i v e rs i t y LO G O Why is reproducibility a difficult task? • Versions and updates • Legality • Hardware • Python libraries and dependencies • Time drain
  • 18. U n i v e rs i t y LO G O • Context of the Project • Simulation Management • Sumatra and CoRR • Benchmark Phase Field Problem •Conclusion Table of Contents
  • 19. U n i v e rs i t y LO G O Conclusion 2 Problem: CHiMaD benchmark problem Solution: CoRR 1 Could you reproduce our phase-field results? 3 More work to be done in both areas
  • 20. U n i v e rs i t y LO G O Acknowledgements 2 MML Thermodynamics and Kinetics group 1 Mentors Daniel Wheeler, Ph.D Faical Yannick P. Congo, Ph.D 3 Anushka Dasgupta 4 All who made NIST SURF possible

Editor's Notes

  1. All scientific research should be reproducible and the main areas are computational and experimental. There is increasing difficulty in reproducing computational research due to the fast pace of advancement in our software and hardware. There are even scientists who dedicate their careers to going through older published papers and figuring out how to replicate their results. Since the software and computers from 5 years were very different. Why do we care? To promote easier scientific advancements. If you find a code or simulation that someone created and you could use it to help with your own research and build on top of it, you first need to make sure that it is correct and agrees with your own theories. And sometimes that step can take a very long time.
  2. CHiMaD is phase field community dedicated to distributing phase field models in order to determine the most efficient way of simulating various materials. Anushka and I worked on benchmark problem and figuring out how the code is compared to others.
  3. 5
  4. Limitations: Records at the end, simultaneous database writing, Python focused, smtweb?, local storage, hacky, lacks community support, individual developed, no method for tracking any CPU or memory information simulation management – compatible, packaging, click-and-run
  5. Records at the end, simultaneous database writing, Python focused, smtweb?, local storage, hacky, community support, individual developed CoRR– very early development stage, compatible, packaging (can recreate the environment just from the record and even run it on the cloud), click-and-run CoRR limitations, current and future?
  6. Save data files We can calculate other properties such as free energy
  7. 12
  8. 15
  9. 16
  10. I had to use python 2.7 Proprietary software Processors, task prioritization Time drain : can take long to get everything required to run simulation, make it available, answer people’s questions about it I’m sure some of you had to use previously developed code that you had no idea how it worked, if it worked.
  11. In 10 years – hardware will be so advanced that we will be able to run as many simulations as we desire and execution control will be even more crucial. Solution to CHiMaD problem