| rpc_cs_example {pbdRPC} | R Documentation |
Example Functions of RPC Related to pbdCS
Description
Example functions of RPC related to pbdCS
Usage
check_cs(machine, cmd = .pbd_env$RPC.CS$check)
kill_cs(machine, cmd = .pbd_env$RPC.CS$kill)
start_cs(machine, cmd = .pbd_env$RPC.CS$start,
preload = .pbd_env$RPC.CS$preload)
Arguments
machine |
A machine configuration. See |
cmd |
the main command to be executed on the server. |
preload |
further commands preloaded before the main |
Details
Using either ssh or plink to launch a pbdCS R cluster.
NO further input from stdin is expected.
Outputs or errors may not be captured by R.
start_cs() starts a pbdCS R cluster on remote servers.
Typical commands to launch a pbdCS R cluster is given in the example.
The linux/unix commands are as the following:
1)
nohupis for the non-stop call after disconnection.2)
mpiexec -np 4is for launching 4 MPI instances.3)
Rscript -e 'pbdCS::pbdserver()'is for R to start the pbdCS R cluster within MPI in batch.4)
> .rrlogis to direct thestdoutto a file.rrlog5)
2>&1is to turnstderrtostdoutwhich is the file.cslog.6)
< /dev/nullis to getstdinfrom/dev/nullwhich is nothing happen.7)
&is to put the batch command for the pbdCS R cluster in background.
check_cs() checks if there is a pbdCS R cluster on a remote
server. Lunix/unix commands ps and grep are used.
kill_cs() kills the pbdCS R cluster if found.
Lunix/unix commands ps, grep, awk, and kill
are used.
Value
Mainly the message received at the command line will be printed, but may not be captured by R.
Examples
## Not run:
library(pbdRPC, quietly = TRUE)
# rpcopt_set(user = "snoweye", hostname = "192.168.56.101")
m <- machine(user = "snoweye", hostname = "192.168.56.101")
check_cs(m) # pid 2857 (may differ)
kill_cs(m) # all pbdCS pids are killed
check_cs(m) # make sure no pbdCS R cluster is running
### use "; " to bypass multiple commands
preload <- "source ~/work-my/00_set_devel_R; "
### start a new pbdCS R cluster
start_cs(m, preload = preload)
check_cs(m)
kill_cs(m)
### Example: for module load on supercomputers
preload <- "module load r; " # e.g. via module load r
start_cs(m, preload = preload)
check_cs(m)
kill_cs(m)
## End(Not run)