Skip to content

Collection of bash scripts to perform tasks ranging from distribution in clusters to incremental backups

Notifications You must be signed in to change notification settings

a-granados/distribution_tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bash scripts for multicore parallelization and distribution in clusters

This is a set of bash-scripts for parallel computing and distribution in beowulf-like clusters. Some scripts are designed to distribute computations in a single computer while others send them via ssh or rsh through the network.

Each script has its own "help" and description. Here you find rough description of what they do.

  • distribute.sh. This script would work for the following situation. Imagine you need to execute a program for a large number of different parameter values. Imagine that each run takes a long time and that you have on your disposal a number of computers (nodes) connected through a network and that each computer has a number of processors. This script would distribute your instances through the network, would make sure that the number of instances at each node is not larger than a certain number (number of processors for example). The scripts detects when a node has finished and gives him more work until everything is done. Everything is launched through a network and, ideally, the home folder is a shared folder that each node can see. The nodes, or clients, are written in the file "clientlist", we should be located at the home directory
  • clusters-state.sh. This script checks the state of the nodes of the cluster. It uses rwho to determine the current and past state of the cpu. The RAM usage is obtained login into the machine and executing the "free" command.
  • distribution_parameters_from_file. This is a multicore distribution script. Is a set of two scripts. The main scripts splits a file on a number of blocks depending on the number of cores; the file is supposed to have, in each row, a set of parameters which will be used to launch certain computations. Each block is sent to the second scripts, that executes the computations for each line. Moreover, it modifies a gnuplot script to plot the generated data, which is plotted in parallel.
  • In the folder "examples" you can find more examples of scripts done for particular cases. Most probably they will not do what you need but, with little modifications, merging and combination they could be helpful for you.

About

Collection of bash scripts to perform tasks ranging from distribution in clusters to incremental backups

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages