Jonathan Passerat-Palmbach <j.passerat-palmbach@imperial.ac.uk>



Python code
import socket
print("Hello, from {}".format(socket.gethostname()))Submission script
#!/bin/sh
#PBS -l walltime=0:10:00
#PBS -l select=1:ncpus=1:mem=600mb
#PBS -N class
python /work/jpassera/hellocx1.py
python hellocx1.py
>>> 5 / 2 == 2.5
True
CX1
qsub hellocx1.pbs
>>> 5 / 2 == 2.5
False


View from Imperial’s CX1:
-bash-4.2$ docker ps
-bash: docker: command not found-bash-4.2$ sudo apt install docker
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for jpassera: Spoiler alert: not happening




Execution of the same program with different parameters and/or datasets.



OpenMOLE articulates around 3 orthogonal concepts

… and an expressive workflow formalism for distributed computing.

Stuff you can run, taking inputs and producing outputs


Applications have dependencies:
Capture these dependencies and transfer along with the application from Linux to Linux
Distributed execution of (almost) any program to (pretty much) any computing environment
care -o hello.tgz.bin python hello.py 42 test.txt
val arg = Val[Int]
val output = Val[File]
val pythonTask =
CARETask(
workDirectory / "hello.tgz.bin",
"python hello.py ${arg} output.txt") set (
inputs += arg,
outputFiles += ("output.txt", output),
outputs += arg
)
val exploration = ExplorationTask(arg in (0 to 10))
val copy = CopyFileHook(output, workDirectory / "hello${arg}.txt")
exploration -< (pythonTask hook copy)


|
romain.reuillon@iscpif.fr |
|
paul.chapron@iscpif.fr |
|
mathieu.leclaire@iscpif.fr |
|
guillaume.cherel@iscpif.fr |
|
j.passerat-palmbach@imperial.ac.uk |
|
you? |
| OpenMOLE | openmole/openmole |
| Announcements | @OpenMOLE |
| Community blog | blog.openmole.org |