SlideShare a Scribd company logo
1 of 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

More Related Content

Similar to 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
 

Similar to 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...
 

Recently uploaded

Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPirithiRaju
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksSérgio Sacani
 
American Type Culture Collection (ATCC).pptx
American Type Culture Collection (ATCC).pptxAmerican Type Culture Collection (ATCC).pptx
American Type Culture Collection (ATCC).pptxabhishekdhamu51
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...ssifa0344
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfSumit Kumar yadav
 
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verifiedConnaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Lokesh Kothari
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...ssuser79fe74
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfSumit Kumar yadav
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and ClassificationsAreesha Ahmad
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfrohankumarsinghrore1
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)Areesha Ahmad
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPirithiRaju
 
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)Joonhun Lee
 
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
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformationAreesha Ahmad
 
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticsPulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticssakshisoni2385
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPirithiRaju
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 

Recently uploaded (20)

Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
 
American Type Culture Collection (ATCC).pptx
American Type Culture Collection (ATCC).pptxAmerican Type Culture Collection (ATCC).pptx
American Type Culture Collection (ATCC).pptx
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdf
 
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verifiedConnaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdf
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
 
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
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
 
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticsPulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
 
Clean In Place(CIP).pptx .
Clean In Place(CIP).pptx                 .Clean In Place(CIP).pptx                 .
Clean In Place(CIP).pptx .
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 

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

Editor's Notes

  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