SlideShare ist ein Scribd-Unternehmen logo
1 von 27
JUPYTER ASCENDING:
A PRACTICAL HAND GUIDE TO GALACTIC SCALE,
REPRODUCIBLE DATA SCIENCE
John Fonner, PhD
University of Texas at Austin
April 5th, 2016
4/5/2016 1
 Photos, Tweets, and hate mail all welcome!
 Email: jfonner@tacc.utexas.edu
 Twitter: @johnfonner
4/5/2016 2
SCIENCE AS A SECOND THOUGHT
1. Formulate a theory
2. Gather data
3. Learn about data storage
4. Learn about data movement
protocols
5. Lose data
6. Check out of rehab
7. Learn about backup and
replication
8. Gather data
9. Learn about versioning
10. Start preliminary analysis
11. Buy a newer laptop
12. Buy more memory
13. Buy a desktop with more
memory
14. Buy a bigger monitor & GPUs
“for work”
15. Google “250GB Excel
Spreadsheet”
16. Learn about batch processing
17. Learn about batch schedulers
18. Learn about patience.
19. Learn more about data storage
20. Learn about distributed
systems.
21. Go back through notes to
remember the science question.
22. Learn R & Python
23. Learn linux admin
24. Finish preliminary analysis.
25. Grow a ponytail
26. Write a paper.
27. Learn about data publishing
28. Learn about reproducibility
29. Plot the death of your
advisor/dept. head
30. Apply for grants & research
allocations on public systems
31. Wait to apply next time
32. Finish analyzing data
33. Reformulate your theory
34. Goto 1
4/5/2016 3
SCIENTIFIC REPRODUCIBILITY
4/5/2016 4
+ +
SOME ASSEMBLY REQUIRED…
4/5/2016 5
?
? ?
?
4/5/2016 6
SCIENTISTS, WITH FEW EXCEPTIONS,
ARE NOT TRAINED PROGRAMMERS
 Research is hard
 Coding is hard
 Research code is
 well designed,
 documented,
 leverages design patterns,
 highly reusable,
 portable,
 and usually open source.
4/5/2016 7
ACCESSIBILITY >= CAPABILITY
 For scientific reproducibility, the impact of your work
will be more about accessibility than capability
 Domain grad students, not sys admins, are the early
adopters
 Where can we focus effort to create community around
capability?
4/5/2016 8
 What has changed the least about the computation
you do over the last 10 years?
 What do we ask domain researchers to learn to use
our tools and data?
4/5/2016 9
Memory/CPU/Disk
Operating System
Applications
Interface
4/5/2016 10
4/5/2016 11
4/5/2016 12
 Decoupling the technology “stack”
4/5/2016 13
“Reproducers”
• Web Browser
• GUIs
• Windows / Mac OS
Support
• Sample Data and Sample
Workflows
“Producers”
• Linux CLI
• Hadoop / GPFS / Lustre
• Clusters / Clouds /
Containers
• Dockerfile / Makefile /
Ansible
BACKEND INFRASTRUCTURE: SYSTEMS
 Categorize systems as either Storage or Execution
 Describe and support relevant protocols, directories,
schedulers, and quotas
 Each system includes the credentials to log into the
system (SSH Keys, X509, username/password)
 Register everything with a JSON document
http://agaveapi.co/documentation/tutorials/system-
management-tutorial/
4/5/2016 14
BACKEND INFRASTRUCTURE: APPS
 An “App” is a versioned instance of a software package
on a specific Execution System
 App assets are bundled into a directory and stored on a
Storage System
 Apps can be private, shared with individual users, or
made public
 Public apps are compressed, assigned a checksum, and
stored in a protected space
http://agaveapi.co/documentation/tutorials/app-
management-tutorial/
4/5/2016 15
BACKEND INFRASTRUCTURE: JOBS
 A “Job” is an execution of an App with a specific set
of input files and parameters
 All jobs are given an ID, all inputs and parameters are
preserved, output is also tracked
 Jobs can be shared with others
http://agaveapi.co/documentation/tutorials/job-
management-tutorial/
4/5/2016 16
4/5/2016 17
4/5/2016 18
4/5/2016 19
4/5/2016 20
4/5/2016 21
DEVELOPER COMMAND-LINE TOOLS
 https://bitbucket.org/agaveapi/cli
 Requires bash and python’s json.tool
 Uses caching for authentication
 Parses JSON responses to condense output
 As a Linux user, this is home-sweet-home
4/5/2016 22
WHAT ABOUT JUPYTER?
 Bleeding edge research will never be on a webpage
 Data exploration “outside the app” also needs to be
captured
 An infrastructure for responsible computing at scale
inevitably must support responsible data exploration
 Jupyter has broad OS support, domain adoption,
domain libraries, and a more interactive UI
4/5/2016 23
AGAVEPY
 github.com/TACC/agavepy
 Pythonic wrapper for all Agave endpoints
 pip install agavepy
 Developers actively “dogfooding” the module
 (Obviously) usable within Jupyter
 Has had greater uptake by users (not just developers)
4/5/2016 24
AGAVE-AWARE JUPYTERHUB
 Going one step further – give users a notebook
 jupyter.public.tenants.prod.agaveapi.co/
 (Free) account creation here:
public.tenants.prod.agaveapi.co/create_account
 Beta implementation at the moment
 data purges during updates
 Limited capacity on the current VM
 All notebooks run inside Docker containers
4/5/2016 25
WHAT’S NEXT?
 Full-featured developer portal
 Open-source reference implementation of an
Angular Javascript portal built on Agave
 Additional Jupyter notebook examples
 Production-grade support for a hosted JupyterHub
4/5/2016 26
THANKS!
QUESTIONS?
Email: jfonner@tacc.utexas.edu
Twitter: @johnfonner
TACC: www.tacc.utexas.edu
Agave: www.agaveapi.co
AgavePy: github.com/TACC/agavepy
4/5/2016 27

Weitere ähnliche Inhalte

Ähnlich wie Jupyter Ascending: a practical hand guide to galactic scale, reproducible data science

Scaling People, Not Just Systems, to Take On Big Data Challenges
Scaling People, Not Just Systems, to Take On Big Data ChallengesScaling People, Not Just Systems, to Take On Big Data Challenges
Scaling People, Not Just Systems, to Take On Big Data ChallengesMatthew Vaughn
 
Packaging computational biology tools for broad distribution and ease-of-reuse
Packaging computational biology tools for broad distribution and ease-of-reusePackaging computational biology tools for broad distribution and ease-of-reuse
Packaging computational biology tools for broad distribution and ease-of-reuseMatthew Vaughn
 
Jonathan bright - collecting social media data with the python programming la...
Jonathan bright - collecting social media data with the python programming la...Jonathan bright - collecting social media data with the python programming la...
Jonathan bright - collecting social media data with the python programming la...oiisdp
 
Apache ZooKeeper TechTuesday
Apache ZooKeeper TechTuesdayApache ZooKeeper TechTuesday
Apache ZooKeeper TechTuesdayAndrei Savu
 
U-Boot community analysis
U-Boot community analysisU-Boot community analysis
U-Boot community analysisxulioc
 
Being FAIR: FAIR data and model management SSBSS 2017 Summer School
Being FAIR:  FAIR data and model management SSBSS 2017 Summer SchoolBeing FAIR:  FAIR data and model management SSBSS 2017 Summer School
Being FAIR: FAIR data and model management SSBSS 2017 Summer SchoolCarole Goble
 
Results may vary: Collaborations Workshop, Oxford 2014
Results may vary: Collaborations Workshop, Oxford 2014Results may vary: Collaborations Workshop, Oxford 2014
Results may vary: Collaborations Workshop, Oxford 2014Carole Goble
 
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
2018 ABRF Tools for improving rigor and reproducibility in bioinformaticsStephen Turner
 
Keep Calm and Curate
Keep Calm and CurateKeep Calm and Curate
Keep Calm and CurateGarethKnight
 
Sharing massive data analysis: from provenance to linked experiment reports
Sharing massive data analysis: from provenance to linked experiment reportsSharing massive data analysis: from provenance to linked experiment reports
Sharing massive data analysis: from provenance to linked experiment reportsGaignard Alban
 
Analysis-of-Major-Trends-in-big-data-analytics-slim-baltagi-hadoop-summit
Analysis-of-Major-Trends-in-big-data-analytics-slim-baltagi-hadoop-summitAnalysis-of-Major-Trends-in-big-data-analytics-slim-baltagi-hadoop-summit
Analysis-of-Major-Trends-in-big-data-analytics-slim-baltagi-hadoop-summitSlim Baltagi
 
Drupal 7 Feeds Intro Drupal Camp Indianapolis 2011
Drupal 7 Feeds Intro Drupal Camp Indianapolis 2011Drupal 7 Feeds Intro Drupal Camp Indianapolis 2011
Drupal 7 Feeds Intro Drupal Camp Indianapolis 2011jbarclay
 
'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versaNathan Shammah
 
Collaborations in the Extreme: 
The rise of open code development in the scie...
Collaborations in the Extreme: 
The rise of open code development in the scie...Collaborations in the Extreme: 
The rise of open code development in the scie...
Collaborations in the Extreme: 
The rise of open code development in the scie...Kelle Cruz
 
Software Sustainability: Better Software Better Science
Software Sustainability: Better Software Better ScienceSoftware Sustainability: Better Software Better Science
Software Sustainability: Better Software Better ScienceCarole Goble
 
Globus Integrations (GlobusWorld Tour - UCSD)
Globus Integrations (GlobusWorld Tour - UCSD)Globus Integrations (GlobusWorld Tour - UCSD)
Globus Integrations (GlobusWorld Tour - UCSD)Globus
 
Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...
Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...
Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...inside-BigData.com
 

Ähnlich wie Jupyter Ascending: a practical hand guide to galactic scale, reproducible data science (20)

Scaling People, Not Just Systems, to Take On Big Data Challenges
Scaling People, Not Just Systems, to Take On Big Data ChallengesScaling People, Not Just Systems, to Take On Big Data Challenges
Scaling People, Not Just Systems, to Take On Big Data Challenges
 
Packaging computational biology tools for broad distribution and ease-of-reuse
Packaging computational biology tools for broad distribution and ease-of-reusePackaging computational biology tools for broad distribution and ease-of-reuse
Packaging computational biology tools for broad distribution and ease-of-reuse
 
Jonathan bright - collecting social media data with the python programming la...
Jonathan bright - collecting social media data with the python programming la...Jonathan bright - collecting social media data with the python programming la...
Jonathan bright - collecting social media data with the python programming la...
 
Apache ZooKeeper TechTuesday
Apache ZooKeeper TechTuesdayApache ZooKeeper TechTuesday
Apache ZooKeeper TechTuesday
 
U-Boot community analysis
U-Boot community analysisU-Boot community analysis
U-Boot community analysis
 
Being FAIR: FAIR data and model management SSBSS 2017 Summer School
Being FAIR:  FAIR data and model management SSBSS 2017 Summer SchoolBeing FAIR:  FAIR data and model management SSBSS 2017 Summer School
Being FAIR: FAIR data and model management SSBSS 2017 Summer School
 
Results may vary: Collaborations Workshop, Oxford 2014
Results may vary: Collaborations Workshop, Oxford 2014Results may vary: Collaborations Workshop, Oxford 2014
Results may vary: Collaborations Workshop, Oxford 2014
 
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
 
MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)
MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)
MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)
 
Analysis of Major Trends in Big Data Analytics
Analysis of Major Trends in Big Data AnalyticsAnalysis of Major Trends in Big Data Analytics
Analysis of Major Trends in Big Data Analytics
 
Analysis of Major Trends in Big Data Analytics
Analysis of Major Trends in Big Data AnalyticsAnalysis of Major Trends in Big Data Analytics
Analysis of Major Trends in Big Data Analytics
 
Keep Calm and Curate
Keep Calm and CurateKeep Calm and Curate
Keep Calm and Curate
 
Sharing massive data analysis: from provenance to linked experiment reports
Sharing massive data analysis: from provenance to linked experiment reportsSharing massive data analysis: from provenance to linked experiment reports
Sharing massive data analysis: from provenance to linked experiment reports
 
Analysis-of-Major-Trends-in-big-data-analytics-slim-baltagi-hadoop-summit
Analysis-of-Major-Trends-in-big-data-analytics-slim-baltagi-hadoop-summitAnalysis-of-Major-Trends-in-big-data-analytics-slim-baltagi-hadoop-summit
Analysis-of-Major-Trends-in-big-data-analytics-slim-baltagi-hadoop-summit
 
Drupal 7 Feeds Intro Drupal Camp Indianapolis 2011
Drupal 7 Feeds Intro Drupal Camp Indianapolis 2011Drupal 7 Feeds Intro Drupal Camp Indianapolis 2011
Drupal 7 Feeds Intro Drupal Camp Indianapolis 2011
 
'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa
 
Collaborations in the Extreme: 
The rise of open code development in the scie...
Collaborations in the Extreme: 
The rise of open code development in the scie...Collaborations in the Extreme: 
The rise of open code development in the scie...
Collaborations in the Extreme: 
The rise of open code development in the scie...
 
Software Sustainability: Better Software Better Science
Software Sustainability: Better Software Better ScienceSoftware Sustainability: Better Software Better Science
Software Sustainability: Better Software Better Science
 
Globus Integrations (GlobusWorld Tour - UCSD)
Globus Integrations (GlobusWorld Tour - UCSD)Globus Integrations (GlobusWorld Tour - UCSD)
Globus Integrations (GlobusWorld Tour - UCSD)
 
Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...
Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...
Designing Convergent HPC and Big Data Software Stacks: An Overview of the HiB...
 

Kürzlich hochgeladen

Grade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsGrade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsOrtegaSyrineMay
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bSérgio Sacani
 
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptxClimate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptxDiariAli
 
Human genetics..........................pptx
Human genetics..........................pptxHuman genetics..........................pptx
Human genetics..........................pptxSilpa
 
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).pdfSumit Kumar yadav
 
COMPUTING ANTI-DERIVATIVES (Integration by SUBSTITUTION)
COMPUTING ANTI-DERIVATIVES(Integration by SUBSTITUTION)COMPUTING ANTI-DERIVATIVES(Integration by SUBSTITUTION)
COMPUTING ANTI-DERIVATIVES (Integration by SUBSTITUTION)AkefAfaneh2
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsSérgio Sacani
 
PSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptxPSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptxSuji236384
 
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 Professormuralinath2
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryAlex Henderson
 
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 virusNazaninKarimi6
 
Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Silpa
 
pumpkin fruit fly, water melon fruit fly, cucumber fruit fly
pumpkin fruit fly, water melon fruit fly, cucumber fruit flypumpkin fruit fly, water melon fruit fly, cucumber fruit fly
pumpkin fruit fly, water melon fruit fly, cucumber fruit flyPRADYUMMAURYA1
 
Digital Dentistry.Digital Dentistryvv.pptx
Digital Dentistry.Digital Dentistryvv.pptxDigital Dentistry.Digital Dentistryvv.pptx
Digital Dentistry.Digital Dentistryvv.pptxMohamedFarag457087
 
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 aspectsmuralinath2
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)Areesha Ahmad
 
Exploring Criminology and Criminal Behaviour.pdf
Exploring Criminology and Criminal Behaviour.pdfExploring Criminology and Criminal Behaviour.pdf
Exploring Criminology and Criminal Behaviour.pdfrohankumarsinghrore1
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformationAreesha Ahmad
 

Kürzlich hochgeladen (20)

Grade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsGrade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its Functions
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptxClimate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
 
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
 
COMPUTING ANTI-DERIVATIVES (Integration by SUBSTITUTION)
COMPUTING ANTI-DERIVATIVES(Integration by SUBSTITUTION)COMPUTING ANTI-DERIVATIVES(Integration by SUBSTITUTION)
COMPUTING ANTI-DERIVATIVES (Integration by SUBSTITUTION)
 
PATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICE
PATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICEPATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICE
PATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICE
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
 
PSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptxPSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptx
 
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
 
+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...
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
 
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
 
Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.
 
pumpkin fruit fly, water melon fruit fly, cucumber fruit fly
pumpkin fruit fly, water melon fruit fly, cucumber fruit flypumpkin fruit fly, water melon fruit fly, cucumber fruit fly
pumpkin fruit fly, water melon fruit fly, cucumber fruit fly
 
Digital Dentistry.Digital Dentistryvv.pptx
Digital Dentistry.Digital Dentistryvv.pptxDigital Dentistry.Digital Dentistryvv.pptx
Digital Dentistry.Digital Dentistryvv.pptx
 
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
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)
 
Exploring Criminology and Criminal Behaviour.pdf
Exploring Criminology and Criminal Behaviour.pdfExploring Criminology and Criminal Behaviour.pdf
Exploring Criminology and Criminal Behaviour.pdf
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
 

Jupyter Ascending: a practical hand guide to galactic scale, reproducible data science

  • 1. JUPYTER ASCENDING: A PRACTICAL HAND GUIDE TO GALACTIC SCALE, REPRODUCIBLE DATA SCIENCE John Fonner, PhD University of Texas at Austin April 5th, 2016 4/5/2016 1
  • 2.  Photos, Tweets, and hate mail all welcome!  Email: jfonner@tacc.utexas.edu  Twitter: @johnfonner 4/5/2016 2
  • 3. SCIENCE AS A SECOND THOUGHT 1. Formulate a theory 2. Gather data 3. Learn about data storage 4. Learn about data movement protocols 5. Lose data 6. Check out of rehab 7. Learn about backup and replication 8. Gather data 9. Learn about versioning 10. Start preliminary analysis 11. Buy a newer laptop 12. Buy more memory 13. Buy a desktop with more memory 14. Buy a bigger monitor & GPUs “for work” 15. Google “250GB Excel Spreadsheet” 16. Learn about batch processing 17. Learn about batch schedulers 18. Learn about patience. 19. Learn more about data storage 20. Learn about distributed systems. 21. Go back through notes to remember the science question. 22. Learn R & Python 23. Learn linux admin 24. Finish preliminary analysis. 25. Grow a ponytail 26. Write a paper. 27. Learn about data publishing 28. Learn about reproducibility 29. Plot the death of your advisor/dept. head 30. Apply for grants & research allocations on public systems 31. Wait to apply next time 32. Finish analyzing data 33. Reformulate your theory 34. Goto 1 4/5/2016 3
  • 7. SCIENTISTS, WITH FEW EXCEPTIONS, ARE NOT TRAINED PROGRAMMERS  Research is hard  Coding is hard  Research code is  well designed,  documented,  leverages design patterns,  highly reusable,  portable,  and usually open source. 4/5/2016 7
  • 8. ACCESSIBILITY >= CAPABILITY  For scientific reproducibility, the impact of your work will be more about accessibility than capability  Domain grad students, not sys admins, are the early adopters  Where can we focus effort to create community around capability? 4/5/2016 8
  • 9.  What has changed the least about the computation you do over the last 10 years?  What do we ask domain researchers to learn to use our tools and data? 4/5/2016 9 Memory/CPU/Disk Operating System Applications Interface
  • 13.  Decoupling the technology “stack” 4/5/2016 13 “Reproducers” • Web Browser • GUIs • Windows / Mac OS Support • Sample Data and Sample Workflows “Producers” • Linux CLI • Hadoop / GPFS / Lustre • Clusters / Clouds / Containers • Dockerfile / Makefile / Ansible
  • 14. BACKEND INFRASTRUCTURE: SYSTEMS  Categorize systems as either Storage or Execution  Describe and support relevant protocols, directories, schedulers, and quotas  Each system includes the credentials to log into the system (SSH Keys, X509, username/password)  Register everything with a JSON document http://agaveapi.co/documentation/tutorials/system- management-tutorial/ 4/5/2016 14
  • 15. BACKEND INFRASTRUCTURE: APPS  An “App” is a versioned instance of a software package on a specific Execution System  App assets are bundled into a directory and stored on a Storage System  Apps can be private, shared with individual users, or made public  Public apps are compressed, assigned a checksum, and stored in a protected space http://agaveapi.co/documentation/tutorials/app- management-tutorial/ 4/5/2016 15
  • 16. BACKEND INFRASTRUCTURE: JOBS  A “Job” is an execution of an App with a specific set of input files and parameters  All jobs are given an ID, all inputs and parameters are preserved, output is also tracked  Jobs can be shared with others http://agaveapi.co/documentation/tutorials/job- management-tutorial/ 4/5/2016 16
  • 22. DEVELOPER COMMAND-LINE TOOLS  https://bitbucket.org/agaveapi/cli  Requires bash and python’s json.tool  Uses caching for authentication  Parses JSON responses to condense output  As a Linux user, this is home-sweet-home 4/5/2016 22
  • 23. WHAT ABOUT JUPYTER?  Bleeding edge research will never be on a webpage  Data exploration “outside the app” also needs to be captured  An infrastructure for responsible computing at scale inevitably must support responsible data exploration  Jupyter has broad OS support, domain adoption, domain libraries, and a more interactive UI 4/5/2016 23
  • 24. AGAVEPY  github.com/TACC/agavepy  Pythonic wrapper for all Agave endpoints  pip install agavepy  Developers actively “dogfooding” the module  (Obviously) usable within Jupyter  Has had greater uptake by users (not just developers) 4/5/2016 24
  • 25. AGAVE-AWARE JUPYTERHUB  Going one step further – give users a notebook  jupyter.public.tenants.prod.agaveapi.co/  (Free) account creation here: public.tenants.prod.agaveapi.co/create_account  Beta implementation at the moment  data purges during updates  Limited capacity on the current VM  All notebooks run inside Docker containers 4/5/2016 25
  • 26. WHAT’S NEXT?  Full-featured developer portal  Open-source reference implementation of an Angular Javascript portal built on Agave  Additional Jupyter notebook examples  Production-grade support for a hosted JupyterHub 4/5/2016 26
  • 27. THANKS! QUESTIONS? Email: jfonner@tacc.utexas.edu Twitter: @johnfonner TACC: www.tacc.utexas.edu Agave: www.agaveapi.co AgavePy: github.com/TACC/agavepy 4/5/2016 27

Hinweis der Redaktion

  1. Traditionally, the Methods section of a paper captured the process In computation, we commonly have the methods section + the raw input data Enterprising students add source code