TakTuk: Difference between revisions

From Grid5000
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
= Short Explication about how it work =  
= Short Explanation about how it work =  
By default, TakTuk use a tree to launch programs on all reserved nodes.                                                                                it initiates a few connections in parallel (the deployment window) and distribute the remaining deployment work to already
By default, TakTuk uses a tree to launch programs on all reserved nodes.                                                                                it initiates a few connections in parallel (the deployment window) and distributes the remaining deployment work to already
deployed peers using an adaptive work-stealing algorithm.(Extract of [http://taktuk.gforge.inria.fr/Documents/TakTuk_UserGuide.pdf A guide of TakTuk use] by Guillaume Huard)
deployed peers using an adaptive work-stealing algorithm (Extract of [http://taktuk.gforge.inria.fr/Documents/TakTuk_UserGuide.pdf A guide of TakTuk use] by Guillaume Huard).


[[Image:Taktuk_schema.png|500px]]
[[Image:Taktuk_schema.png|500px]]


= Using TakTuk with base environment =
= Using TakTuk with the base environment =
== Prerequisites ==
== Prerequisites ==


Starting to make a reservation:  
Starting with a reservation:  
  {{Term|location=users@frontale.site.grid5000.fr|cmd=<code class="command">oarsub</code> -I -l nodes=4}}
  {{Term|location=users@frontale.site.grid5000.fr|cmd=<code class="command">oarsub</code> -I -l nodes=4}}
Now you should have:  
Now you should have:  
Line 18: Line 18:
To launch scripts simultaneously on each node:
To launch scripts simultaneously on each node:
  {{Term|location=users@node-15.site.grid5000.fr|cmd=<code class="command">taktuk</code> -f $OAR_FILE_NODES broadcast exec [/home/site/user/testScript.sh]}}
  {{Term|location=users@node-15.site.grid5000.fr|cmd=<code class="command">taktuk</code> -f $OAR_FILE_NODES broadcast exec [/home/site/user/testScript.sh]}}
'''Note''': do not forget to type the characters <code>[</code> and <code>]</code>}
'''Note''': do not forget to type the characters <code>[</code> and <code>]</code>


By default, Taktuk displays a lot of informations but it is not always necessary. So you can add some options on command line to modify correctly the output:
By default, Taktuk displays a lot of informations but it might not be necessary. So you can add some options on command line to modify correctly the output:
  -o connector -o status -o output='"$host: $line\n"'
  -o connector -o status -o output='"$host: $line\n"'


Example:
Example:


To know if time is synchronised on each node (Result formated correctly)
To know if time clock are synchronised on each node (Result formated correctly)
  {{Term|location=users@node-15.site.grid5000.fr|cmd=<code class="command">taktuk</code> -o connector -o status -o output='"$host: $line\n"' -f $OAR_FILE_NODES broadcast exec [date]}}
  {{Term|location=users@node-15.site.grid5000.fr|cmd=<code class="command">taktuk</code> -o connector -o status -o output='"$host: $line\n"' -f $OAR_FILE_NODES broadcast exec [date]}}


Line 46: Line 46:
  node-97.bordeaux.grid5000.fr: model name        :                  Intel(R) Xeon(TM) CPU 3.00GHz
  node-97.bordeaux.grid5000.fr: model name        :                  Intel(R) Xeon(TM) CPU 3.00GHz


= Using TakTuk with your own environment with no taktuk installation on it=
= Using TakTuk with your own environment and no taktuk installation on it=


== Prerequisites ==
== Prerequisites ==
Line 58: Line 58:
== Using Taktuk to launch programs==
== Using Taktuk to launch programs==


To execute command as root for update , you have to had "-l root". This option must be the first option you specify:
To execute command as root for update , you have to use the following option: "-l root" as the first one used on the command line:
{{Term|location=users@frontale.site.grid5000.fr|cmd=<code class="command">taktuk</code> -l root  -s -o connector -o status -o output='"$host: $line\n"' -f $OAR_FILE_NODES broadcast exec ["apt-get update"]}}
{{Term|location=users@frontale.site.grid5000.fr|cmd=<code class="command">taktuk</code> -l root  -s -o connector -o status -o output='"$host: $line\n"' -f $OAR_FILE_NODES broadcast exec ["apt-get update"]}}

Revision as of 11:01, 26 March 2007

Short Explanation about how it work

By default, TakTuk uses a tree to launch programs on all reserved nodes. it initiates a few connections in parallel (the deployment window) and distributes the remaining deployment work to already deployed peers using an adaptive work-stealing algorithm (Extract of A guide of TakTuk use by Guillaume Huard).

Taktuk schema.png

Using TakTuk with the base environment

Prerequisites

Starting with a reservation:

Terminal.png users@frontale.site.grid5000.fr:
oarsub -I -l nodes=4

Now you should have:

Terminal.png users@node-15.site.grid5000.fr:


Using Taktuk to launch scripts

To launch scripts simultaneously on each node:

Terminal.png users@node-15.site.grid5000.fr:
taktuk -f $OAR_FILE_NODES broadcast exec [/home/site/user/testScript.sh]

Note: do not forget to type the characters [ and ]

By default, Taktuk displays a lot of informations but it might not be necessary. So you can add some options on command line to modify correctly the output:

-o connector -o status -o output='"$host: $line\n"'

Example:

To know if time clock are synchronised on each node (Result formated correctly)

Terminal.png users@node-15.site.grid5000.fr:
taktuk -o connector -o status -o output='"$host: $line\n"' -f $OAR_FILE_NODES broadcast exec [date]

Output

node-101.bordeaux.grid5000.fr: Fri Mar 23 09:38:46 CET 2007
node-23.bordeaux.grid5000.fr: Fri Mar 23 09:38:46 CET 2007
node-24.bordeaux.grid5000.fr: Fri Mar 23 09:38:46 CET 2007
node-67.bordeaux.grid5000.fr: Fri Mar 23 09:38:46 CET 2007
node-97.bordeaux.grid5000.fr: Fri Mar 23 09:38:46 CET 2007

To know cpu's installed on nodes:

plemoine@node-101:$ taktuk -o connector -o status -o output='"$host: $line\n"' -f $OAR_FILE_NODES broadcast exec ["cat /proc/cpuinfo | grep 'model name'"] | uniq

Output

node-101.bordeaux.grid5000.fr: model name       :                   Intel(R) Xeon(TM) CPU 3.00GHz
node-23.bordeaux.grid5000.fr: model name        : AMD Opteron(tm) Processor 248
node-24.bordeaux.grid5000.fr: model name        : AMD Opteron(tm) Processor 248
node-67.bordeaux.grid5000.fr: model name        :                   Intel(R) Xeon(TM) CPU 3.00GHz
node-97.bordeaux.grid5000.fr: model name        :                   Intel(R) Xeon(TM) CPU 3.00GHz

Using TakTuk with your own environment and no taktuk installation on it

Prerequisites

Starting to make a reservation:

Terminal.png users@frontale.site.grid5000.fr:
oarsub -I -l nodes=4 -q deploy

Deploy environment:

Terminal.png users@frontale.site.grid5000.fr:
kadeploy -p part -f $OAR_FILE_NODES -e sid-x64-nfs-1.0

Using Taktuk to launch programs

To execute command as root for update , you have to use the following option: "-l root" as the first one used on the command line:

Terminal.png users@frontale.site.grid5000.fr:
taktuk -l root -s -o connector -o status -o output='"$host: $line\n"' -f $OAR_FILE_NODES broadcast exec ["apt-get update"]