TakTuk

Adaptive large scale remote executions deployment
ghuard@gdx0042:~$ cat $OAR_NODEFILE               
gdx0042.orsay.grid5000.fr
gdx0053.orsay.grid5000.fr
gdx0075.orsay.grid5000.fr
gdx0078.orsay.grid5000.fr
gdx0081.orsay.grid5000.fr
gdx0088.orsay.grid5000.fr
gdx0104.orsay.grid5000.fr
gdx0115.orsay.grid5000.fr
gdx0122.orsay.grid5000.fr
gdx0134.orsay.grid5000.fr
ghuard@gdx0042:~$ ./taktuk -f $OAR_NODEFILE broadcast exec [ echo \$TAKTUK_RANK ]
gdx0134.orsay.grid5000.fr-10: echo $TAKTUK_RANK (4610): output > 10
gdx0078.orsay.grid5000.fr-4: echo $TAKTUK_RANK (4625): output > 4
gdx0081.orsay.grid5000.fr-5: echo $TAKTUK_RANK (4620): output > 5
gdx0053.orsay.grid5000.fr-2: echo $TAKTUK_RANK (4620): output > 2
gdx0053.orsay.grid5000.fr-2: echo $TAKTUK_RANK (4620): status > Exited with status 0
gdx0088.orsay.grid5000.fr-6: echo $TAKTUK_RANK (4621): output > 6
gdx0104.orsay.grid5000.fr-7: echo $TAKTUK_RANK (4620): output > 7
gdx0115.orsay.grid5000.fr-8: echo $TAKTUK_RANK (4617): output > 8
gdx0122.orsay.grid5000.fr-9: echo $TAKTUK_RANK (4627): output > 9
gdx0122.orsay.grid5000.fr-9: echo $TAKTUK_RANK (4627): status > Exited with status 0
gdx0042.orsay.grid5000.fr-1: echo $TAKTUK_RANK (4669): output > 1
gdx0042.orsay.grid5000.fr-1: echo $TAKTUK_RANK (4669): status > Exited with status 0
gdx0075.orsay.grid5000.fr-3: echo $TAKTUK_RANK (4617): output > 3
gdx0134.orsay.grid5000.fr-10: echo $TAKTUK_RANK (4610): status > Exited with status 0
gdx0078.orsay.grid5000.fr-4: echo $TAKTUK_RANK (4625): status > Exited with status 0
gdx0075.orsay.grid5000.fr-3: echo $TAKTUK_RANK (4617): status > Exited with status 0
gdx0081.orsay.grid5000.fr-5: echo $TAKTUK_RANK (4620): status > Exited with status 0
gdx0088.orsay.grid5000.fr-6: echo $TAKTUK_RANK (4621): status > Exited with status 0
gdx0115.orsay.grid5000.fr-8: echo $TAKTUK_RANK (4617): status > Exited with status 0
gdx0104.orsay.grid5000.fr-7: echo $TAKTUK_RANK (4620): status > Exited with status 0
ghuard@gdx0042:~$ ./taktuk -s -f $OAR_NODEFILE 
network state
gdx0042.orsay.grid5000.fr (0, 1)
    gdx0042.orsay.grid5000.fr (1, 1)
    gdx0053.orsay.grid5000.fr (2, 1)
    gdx0075.orsay.grid5000.fr (3, 1)
    gdx0078.orsay.grid5000.fr (4, 1)
    gdx0081.orsay.grid5000.fr (5, 1)
    gdx0088.orsay.grid5000.fr (6, 1)
    gdx0104.orsay.grid5000.fr (7, 1)
    gdx0115.orsay.grid5000.fr (8, 1)
    gdx0122.orsay.grid5000.fr (9, 1)
    gdx0134.orsay.grid5000.fr (10, 1)
broadcast exec { cat }
broadcast input line { hello }
gdx0042.orsay.grid5000.fr-1: cat (4686): output > hello
gdx0053.orsay.grid5000.fr-2: cat (4625): output > hello
gdx0075.orsay.grid5000.fr-3: cat (4622): output > hello
gdx0078.orsay.grid5000.fr-4: cat (4630): output > hello
gdx0081.orsay.grid5000.fr-5: cat (4625): output > hello
gdx0088.orsay.grid5000.fr-6: cat (4626): output > hello
gdx0104.orsay.grid5000.fr-7: cat (4625): output > hello
gdx0115.orsay.grid5000.fr-8: cat (4622): output > hello
gdx0122.orsay.grid5000.fr-9: cat (4632): output > hello
gdx0134.orsay.grid5000.fr-10: cat (4615): output > hello
broadcast close
gdx0042.orsay.grid5000.fr-1: cat (4686): status > Exited with status 0
gdx0053.orsay.grid5000.fr-2: cat (4625): status > Exited with status 0
gdx0075.orsay.grid5000.fr-3: cat (4622): status > Exited with status 0
gdx0078.orsay.grid5000.fr-4: cat (4630): status > Exited with status 0
gdx0088.orsay.grid5000.fr-6: cat (4626): status > Exited with status 0
gdx0104.orsay.grid5000.fr-7: cat (4625): status > Exited with status 0
gdx0115.orsay.grid5000.fr-8: cat (4622): status > Exited with status 0
gdx0122.orsay.grid5000.fr-9: cat (4632): status > Exited with status 0
gdx0081.orsay.grid5000.fr-5: cat (4625): status > Exited with status 0
gdx0134.orsay.grid5000.fr-10: cat (4615): status > Exited with status 0
2-3 exec { cat }
broadcast input line { hello2 }
gdx0075.orsay.grid5000.fr-3: cat (4623): output > hello2
gdx0053.orsay.grid5000.fr-2: cat (4626): output > hello2
3 exec { kill -STOP $TAKTUK_PIDS }
gdx0075.orsay.grid5000.fr-3: kill -STOP $TAKTUK_PIDS (4624): status > Exited with status 0
broadcast input line { hello2 }
gdx0053.orsay.grid5000.fr-2: cat (4626): output > hello2
3 exec { kill -CONT $TAKTUK_PIDS }
gdx0075.orsay.grid5000.fr-3: cat (4623): output > hello2
gdx0075.orsay.grid5000.fr-3: kill -CONT $TAKTUK_PIDS (4625): status > Exited with status 0
broadcast close
gdx0075.orsay.grid5000.fr-3: cat (4623): status > Exited with status 0
gdx0053.orsay.grid5000.fr-2: cat (4626): status > Exited with status 0
quit
ghuard@gdx0042:~$ ./taktuk -o status -f $OAR_NODEFILE broadcast exec \( uptime \)
gdx0134.orsay.grid5000.fr-10: uptime (4620): output >  18:13:20 up 31 min,  0 users,  load average: 0.00, 0.00, 0.00
gdx0104.orsay.grid5000.fr-7: uptime (4630): output >  18:13:20 up  1:43,  0 users,  load average: 0.00, 0.00, 0.00
gdx0081.orsay.grid5000.fr-5: uptime (4630): output >  18:13:20 up  1:43,  0 users,  load average: 0.00, 0.00, 0.00
gdx0115.orsay.grid5000.fr-8: uptime (4627): output >  18:13:20 up  1:43,  0 users,  load average: 0.00, 0.00, 0.00
gdx0042.orsay.grid5000.fr-1: uptime (4703): output >  18:13:20 up  1:44,  1 user,  load average: 0.00, 0.00, 0.00
gdx0053.orsay.grid5000.fr-2: uptime (4631): output >  18:13:20 up  1:46,  0 users,  load average: 0.01, 0.02, 0.00
gdx0075.orsay.grid5000.fr-3: uptime (4630): output >  18:13:20 up  1:46,  0 users,  load average: 0.00, 0.00, 0.00
gdx0078.orsay.grid5000.fr-4: uptime (4635): output >  18:13:20 up  1:46,  0 users,  load average: 0.00, 0.00, 0.00
gdx0088.orsay.grid5000.fr-6: uptime (4631): output >  18:13:20 up  1:46,  0 users,  load average: 0.00, 0.00, 0.00
gdx0122.orsay.grid5000.fr-9: uptime (4637): output >  18:13:20 up  1:43,  0 users,  load average: 0.00, 0.00, 0.00
ghuard@gdx0042:~$ ./taktuk -o status -o output='"$rank > $line\n"' -f $OAR_NODEFILE broadcast exec \( uptime \)
1 >  18:13:48 up  1:45,  1 user,  load average: 0.00, 0.00, 0.00
2 >  18:13:48 up  1:46,  0 users,  load average: 0.01, 0.02, 0.00
5 >  18:13:48 up  1:44,  0 users,  load average: 0.00, 0.00, 0.00
6 >  18:13:48 up  1:46,  0 users,  load average: 0.00, 0.00, 0.00
7 >  18:13:48 up  1:43,  0 users,  load average: 0.00, 0.00, 0.00
8 >  18:13:48 up  1:43,  0 users,  load average: 0.00, 0.00, 0.00
9 >  18:13:48 up  1:44,  0 users,  load average: 0.00, 0.00, 0.00
10 >  18:13:48 up 31 min,  0 users,  load average: 0.00, 0.00, 0.00
3 >  18:13:48 up  1:47,  0 users,  load average: 0.00, 0.00, 0.00
4 >  18:13:48 up  1:47,  0 users,  load average: 0.00, 0.00, 0.00
ghuard@gdx0042:~$ ./taktuk -m gdx0075.orsay.grid5000.fr -[ exec [ uptime ] -] -m gdx0042.orsay.grid5000.fr -[ -m gdx0088.orsay.grid5000.fr -[ exec { hostname } -] exec \( id \) -]
gdx0088.orsay.grid5000.fr-3: hostname (4641): output > gdx0088.orsay.grid5000.fr
gdx0075.orsay.grid5000.fr-1: uptime (4640): output >  18:15:02 up  1:48,  0 users,  load average: 0.00, 0.00, 0.00
gdx0075.orsay.grid5000.fr-1: uptime (4640): status > Exited with status 0
gdx0042.orsay.grid5000.fr-2: id (4734): output > uid=15037(ghuard) gid=15000(grenoble) groups=15000(grenoble)
gdx0042.orsay.grid5000.fr-2: id (4734): status > Exited with status 0
gdx0088.orsay.grid5000.fr-3: hostname (4641): status > Exited with status 0
network state
gdx0042.orsay.grid5000.fr (0, 1)
    gdx0075.orsay.grid5000.fr (1, 1)
    gdx0042.orsay.grid5000.fr (2, 1)
        gdx0088.orsay.grid5000.fr (3, 1)
quit
ghuard@gdx0042:~$ ./taktuk -s -w1 -f $OAR_NODEFILE 
network state
gdx0042.orsay.grid5000.fr (0, 1)
    gdx0042.orsay.grid5000.fr (1, 1)
        gdx0075.orsay.grid5000.fr (2, 1)
        gdx0088.orsay.grid5000.fr (3, 1)
        gdx0134.orsay.grid5000.fr (4, 1)
    gdx0053.orsay.grid5000.fr (5, 1)
        gdx0081.orsay.grid5000.fr (6, 1)
        gdx0122.orsay.grid5000.fr (7, 1)
    gdx0078.orsay.grid5000.fr (8, 1)
        gdx0115.orsay.grid5000.fr (9, 1)
    gdx0104.orsay.grid5000.fr (10, 1)
quit
ghuard@gdx0042:~$ 

POLARIS INRIA Project team