TakTuk

From Grid5000
Revision as of 09:45, 26 March 2007 by Plemoine (talk | contribs)
Jump to navigation Jump to search

Short Explication 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 deployed peers using an adaptive work-stealing algorithm.(Extract of A guide of TakTuk use by Guillaume Huard)

Taktuk schema.png


== Prerequisites

Starting to make 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 is not always 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 known if time is 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]
[plemoine@frontale plemoine]$ oarsub -I -l nodes=5
Host:Port = frontale.bordeaux.grid5000.fr:54442 
 IdJob = 37679 
Interactive mode : waiting 
plemoine@node-101:/home/bordeaux/plemoine$ taktuk -o connector -o status -o output='"$host: $line\n"' -f $OAR_FILE_NODES broadcast exec [date] | uniq
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
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

Execute command as root:

If you want to executes command as root,