open source and scientific computing

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

Upload: tomo-popovic

Post on 14-Jul-2015

210 views

Category:

Software


0 download

TRANSCRIPT

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ć