Open Source and Scientific Computing

20
Open Source and Scientific Computing Tomo Popović Žarko Zečević Luka Lazović Stevan Šandi Novica Daković Žabljak 2015

Transcript of Open Source and Scientific Computing

Page 1: Open Source and Scientific Computing

Open Source andScientific Computing

Tomo PopovićŽarko ZečevićLuka LazovićStevan Šandi

Novica Daković

Žabljak 2015

Page 2: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 2

Outline

● Scientific Computing● Open Source Software● Scientific Tools● Learn more● Conclusions and Demo

Page 3: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 3

Scientific Computing

● What is it?● So what?

Page 4: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 4

Scientific Computing

Page 5: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 5

Scientific Computing

source: http://igmcs.utk.edu (The University of Tennessee)

Page 6: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 6

Why Open Source?

● Widely used by the industry and academia

● Open Data– Data management

– Libraries, APIs

Source: http://shutterstock.com

(Marko Rullkoetter)

Page 7: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 7

Who is using Open Source?

● Pretty much everyone– Government

– Academia

– IBM

– Google

– Oracle

– Yahoo

– Facebook

– Microsoft

– NYSE

– Audi, Mercedes, Toyota...

– ...

Page 8: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 8

Open Source Software Model

● Initiation● Execution● Releasing

Page 9: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 9

Roles in software development

● Commercial– Developers

– Users

– Customers

● Open Source– Developers

– Users (co-developers)

Page 10: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 10

Open Source Software

Page 11: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 11

Scientific Software Tools

● General– Python, SciPy/NumPy

– R, RStudio

– Octave, FreeMat SciLab

– ...

● Libraries– Data management

– Visualization

– Various APIs

– …

● Domain Specific– Networks

– GIS

– Bioscience

– Automotive

– …

Page 12: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 12

Open Data

● Range– Non-existant

– Big data

● Access– OSS Data Management Tools

– Libraries, APIs

● Examples– Genome Project (UCSC)

– Weather Data

– GIS

– Open City

Page 13: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 13

Enabling Global Ecosystems

source: http://datameer(The Hadoop Ecosystem)

Page 14: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 14

Promoting Repeatable Research

● Problem definition (documentation, code)● Data and configuration● Model implementation (code)● Results sharing● Collaborate

Page 15: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 15

Do your own research!

● Documentation, Wiki● Google, YouTube● StackOverflow, GitHub● Local communities● Scientific publications

Page 16: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 16

Open Source Education

Page 17: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 17

Advantages/Disadvantages

● Advantages

– Relatively easy to obtain, learn, and use

– Modern

– Increasingly popular

– Often cross-platform (desktop, server, cloud, HPC)

– Large and ever growing set of libraries and support tools

– No vendor lock-in

– Collaboration and standardization

– Free

– ...

● Disadvantages

– Mis-understanding of the maturity model

– Mis-interpretation of hidden costs and licenses

– Performance in some specific domains

– ...

Page 18: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 18

Things to Consider

● Maturity model– Quality of software

– Documentation

– Community

– Project activity

– Adoption by others

– Support options

● Data Sources/Tools– Libraries

– APIs

● Learning curve vs. ROI● Licenses (BSD, GNU, Eclipse,...)

Page 19: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 19

Conclusions

● Computational thinking is part of all scientific domains● Open Source Software plays important role in scientific

computing (general tools, domain specific, libraries,...)● Suggestions:

– Look into Python and R!!! Consider using Octave instead of Matlab!

– Do your own research on OSS tools!

– Learn about (open) data relevant to your research! Investigate OSS data management tools, libraries, APIs,...

– Enroll in relevant online courses (edX, Coursera,...)

– What about open source hardware?

Page 20: Open Source and Scientific Computing

IT'15 Conference Žabljak, Montenegro © 2015 T. Popovic Slide 20

Demo

● Žarko Zečević● Luka Lazović● Stevan Šandi● Novica Daković