TakTuk: Difference between revisions
No edit summary |
No edit summary |
||
Line 5: | Line 5: | ||
= Short Explanation about TakTuk mechanics = | = Short Explanation about TakTuk mechanics = | ||
To speed up the remote execution of the same command on a large number of nodes, TakTuk both | To speed up the remote execution of the same command on a large number of nodes, TakTuk both | ||
* uses a deployment tree to initiate connections | * uses a deployment tree to initiate several connections to remote peers at the same time | ||
* initiates a few connections in parallel (the deployment window) | * initiates locally a few connections in parallel (the deployment window) | ||
The balance beetween the two mechanism is ensured by an adaptive work-stealing algorithm combined with an on-line evaluation of the local machine load (see [http://taktuk.gforge.inria.fr/Documents/TakTuk_UserGuide.pdf A guide of TakTuk use] by Guillaume Huard for more details). | |||
[[Image:Taktuk_schema.png|500px]] | [[Image:Taktuk_schema.png|500px]] | ||
Therefore, for taktuk to operate correctly, peers should be able to connect to each other. By default, TakTuk | Therefore, for taktuk to operate correctly, peers should be able to connect to each other. By default, TakTuk uses ssh connections. So, to check if Taktuk execution can work, please follow instructions on this page: [https://www.grid5000.fr/index.php/Public_key_authentication#Test_key_authentication_3 Test key authentication] | ||
= Using TakTuk with the base environment = | = Using TakTuk with the base environment = |
Revision as of 09:25, 30 March 2007
During the course of an experiment on G5k, one often wants to run programs or scripts on all the reserved nodes simultaneously. For instance, to send data to remote workers. This could be achieved sequentially with a loop construct in a script, but this method does not scale well. That's why a launcher for parallel commands named TakTuk has been installed on each G5k site.
Short Explanation about TakTuk mechanics
To speed up the remote execution of the same command on a large number of nodes, TakTuk both
- uses a deployment tree to initiate several connections to remote peers at the same time
- initiates locally a few connections in parallel (the deployment window)
The balance beetween the two mechanism is ensured by an adaptive work-stealing algorithm combined with an on-line evaluation of the local machine load (see A guide of TakTuk use by Guillaume Huard for more details).
Therefore, for taktuk to operate correctly, peers should be able to connect to each other. By default, TakTuk uses ssh connections. So, to check if Taktuk execution can work, please follow instructions on this page: Test key authentication
Using TakTuk with the base environment
Prerequisites
You have a reservation:
Therefore you're on the reserved node:
Connections from this node and between nodes with your account are possible
Using Taktuk to launch scripts
To launch scripts simultaneously on each node:
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 [c'est pas trés clair pour l'utilité des options connector et status]:
-o connector -o status -o output='"$host: $line\n"'
Example:
To know if time clock are synchronised on each node (Result formated correctly)
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:
Deploy environment:
Using Taktuk to launch programs
[Ca ne me dit pas ce qu'il faut faire pour executer sans taktuk, mais seulement comment executer en tant que root : à mon avis, il manque une étape] 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: