Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of...

31
Docker & radio astronomy 1

description

As a scientific software engineer in the field of radio astronomy, I'm involved in creating, improving and maintaining a broad range of tools used by scientists. These tools are used to process and analyse data coming from various radio telescopes, particularly LOFAR (LOw Frequency ARray) and SKA (Square Kilometre Array). Radio astronomy has a long and rich computing related history, and with that comes a big pile of poorly written, fragile, and badly maintained legacy code. This problem is not unique to radio astronomy but is a common in various scientific fields. Although no quick solution exists when it comes to re-writing lots of legacy code, Docker helps to contain this fragile software, simplifies the installation and ensures that the software works. In this talk I will discuss how Papino, our umbrella project for containing various radio astronomy libraries and RODRIGUES, an online radio telescope simulator leverage Docker.

Transcript of Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of...

Page 1: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

Docker & radio astronomy

1

Page 2: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

Who Am I

Gijs Molenaar

Scientific Software Engineer in NL

PhD student in SA

MSc Artificial Intelligence

2

@gijzelaerr http://pythonic.nl

Page 3: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

3

Page 4: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

4

Page 5: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

5

Page 6: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

6

Page 7: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

7

Page 8: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

8

Page 9: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

The problem

9

Page 10: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

Scientist Q wants to crunchData X with

software Y onPlatform Z

10

Page 11: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

Scientist Q

Smart person

Self educated on the field of software engineer

Gets the job done

Good at duct tape programming

11

Page 12: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

Data X

Really big data

Datasets of peta, exa bytes

LOFAR - 50 GB/s

SKA - 10 times global Internet traffic

12

Page 13: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

Software Y

13

Complex math heavy software

Written during PhD of scientist Q

Often bad coding practices

(Unit) tests?

Version control?

‘Runs on my computer’

Page 14: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

Platform Z

14

Page 15: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

Solution until now

15

Page 16: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

Solution until now

16

Compile everything by hand

Still common practice (!)

Page 17: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

17

Page 18: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

18

Page 19: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

Canonical launchpad

19

Page 20: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

Papino

20

https://github.com/ska-sa/papino

Page 21: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

$ docker run skasa/papino ipython notebook

21

Page 22: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

Rodrigues - telescope simulator

22

Page 23: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

23

Page 24: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

24

Page 25: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

25

Page 26: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

26

Page 27: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

27

Page 28: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

science vs scalable reliable web apps

Much less users

Much more data

High availability less important

Security less important

Performance very important

Durability very important

28

Page 29: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

Lessons learned

Don’t build virtual machine images

use small minimal containers

use exec to examine problems inside container

29

Page 30: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

Problems to solve / future work

GPU acceleration

Adaptation

‘Mixing’ containers (nixos?)

Container size (South Africa)

Container aware programming language / library?

30

Page 31: Docker and Radio Astronomy - Containing Fragile Scientific Software by Gijs Molenaar (University of Amsterdam)

Thank You.

31

@gijzelaerr - http://pythonic.nl