Title: | Crew Launcher Plugins for Traditional High-Performance Computing Clusters |
---|---|
Description: | In computationally demanding analysis projects, statisticians and data scientists asynchronously deploy long-running tasks to distributed systems, ranging from traditional clusters to cloud services. The 'crew.cluster' package extends the 'mirai'-powered 'crew' package with worker launcher plugins for traditional high-performance computing systems. Inspiration also comes from packages 'mirai' by Gao (2023) <https://github.com/shikokuchuo/mirai>, 'future' by Bengtsson (2021) <doi:10.32614/RJ-2021-048>, 'rrq' by FitzJohn and Ashton (2023) <https://github.com/mrc-ide/rrq>, 'clustermq' by Schubert (2019) <doi:10.1093/bioinformatics/btz284>), and 'batchtools' by Lang, Bischl, and Surmann (2017). <doi:10.21105/joss.00135>. |
Authors: | William Michael Landau [aut, cre] , Michael Gilbert Levin [aut] , Brendan Furneaux [aut] , Eli Lilly and Company [cph, fnd] |
Maintainer: | William Michael Landau <[email protected]> |
License: | MIT + file LICENSE |
Version: | 0.3.3.9000 |
Built: | 2024-11-18 03:39:02 UTC |
Source: | https://github.com/wlandau/crew.cluster |
In computationally demanding analysis projects,
statisticians and data scientists asynchronously
deploy long-running tasks to distributed systems,
ranging from traditional clusters to cloud services.
The crew.cluster
package extends the
mirai
-powered
crew
package with worker
launcher plugins for traditional
high-performance computing systems.
Inspiration also comes from packages
mirai
,
future
,
rrq
,
clustermq
,
and batchtools
.
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
R6
class to launch and manage LSF workers.
See crew_launcher_lsf()
.
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
crew::crew_class_launcher
-> crew.cluster::crew_class_launcher_cluster
-> crew_class_launcher_lsf
crew::crew_class_launcher$active()
crew::crew_class_launcher$booting()
crew::crew_class_launcher$call()
crew::crew_class_launcher$crashes()
crew::crew_class_launcher$done()
crew::crew_class_launcher$errors()
crew::crew_class_launcher$forward()
crew::crew_class_launcher$launch()
crew::crew_class_launcher$rotate()
crew::crew_class_launcher$scale()
crew::crew_class_launcher$set_name()
crew::crew_class_launcher$settings()
crew::crew_class_launcher$start()
crew::crew_class_launcher$summary()
crew::crew_class_launcher$tally()
crew::crew_class_launcher$terminate()
crew::crew_class_launcher$terminate_workers()
crew::crew_class_launcher$unlaunched()
crew::crew_class_launcher$wait()
crew.cluster::crew_class_launcher_cluster$initialize()
crew.cluster::crew_class_launcher_cluster$launch_worker()
crew.cluster::crew_class_launcher_cluster$terminate_worker()
validate()
Validate the launcher.
crew_class_launcher_lsf$validate()
NULL
(invisibly). Throws an error if a field is invalid.
script()
Generate the job script.
crew_class_launcher_lsf$script(name, attempt)
name
Character of length 1, name of the job. For inspection purposes, you can supply a mock job name.
attempt
Positive integer, number of the current attempt. The attempt number increments each time a worker exits without completing all its tasks, and it resets back to 1 if a worker instance successfully completes all its tasks and then exits normally. By assigning vector arguments to the cluster-specific options of the controller, you can configure different sets of resources for different attempts.
Includes everything except the worker-instance-specific
job name and the worker-instance-specific
call to crew::crew_worker()
, both of which get inserted at
the bottom of the script at launch time.
Character vector of the lines of the job script.
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { launcher <- crew_launcher_lsf( lsf_cwd = getwd(), lsf_log_output = "log_file_%J.log", lsf_log_error = NULL, lsf_memory_gigabytes_limit = 4 ) launcher$script(name = "my_job_name") }
Other lsf:
crew_controller_lsf()
,
crew_launcher_lsf()
,
crew_options_lsf()
## ------------------------------------------------ ## Method `crew_class_launcher_lsf$script` ## ------------------------------------------------ if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { launcher <- crew_launcher_lsf( lsf_cwd = getwd(), lsf_log_output = "log_file_%J.log", lsf_log_error = NULL, lsf_memory_gigabytes_limit = 4 ) launcher$script(name = "my_job_name") }
## ------------------------------------------------ ## Method `crew_class_launcher_lsf$script` ## ------------------------------------------------ if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { launcher <- crew_launcher_lsf( lsf_cwd = getwd(), lsf_log_output = "log_file_%J.log", lsf_log_error = NULL, lsf_memory_gigabytes_limit = 4 ) launcher$script(name = "my_job_name") }
R6
class to launch and manage PBS/TORQUE workers.
See crew_launcher_pbs()
.
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
crew::crew_class_launcher
-> crew.cluster::crew_class_launcher_cluster
-> crew_class_launcher_pbs
crew::crew_class_launcher$active()
crew::crew_class_launcher$booting()
crew::crew_class_launcher$call()
crew::crew_class_launcher$crashes()
crew::crew_class_launcher$done()
crew::crew_class_launcher$errors()
crew::crew_class_launcher$forward()
crew::crew_class_launcher$launch()
crew::crew_class_launcher$rotate()
crew::crew_class_launcher$scale()
crew::crew_class_launcher$set_name()
crew::crew_class_launcher$settings()
crew::crew_class_launcher$start()
crew::crew_class_launcher$summary()
crew::crew_class_launcher$tally()
crew::crew_class_launcher$terminate()
crew::crew_class_launcher$terminate_workers()
crew::crew_class_launcher$unlaunched()
crew::crew_class_launcher$wait()
crew.cluster::crew_class_launcher_cluster$initialize()
crew.cluster::crew_class_launcher_cluster$launch_worker()
crew.cluster::crew_class_launcher_cluster$terminate_worker()
validate()
Validate the launcher.
crew_class_launcher_pbs$validate()
NULL
(invisibly). Throws an error if a field is invalid.
script()
Generate the job script.
crew_class_launcher_pbs$script(name, attempt)
name
Character of length 1, name of the job. For inspection purposes, you can supply a mock job name.
attempt
Positive integer, number of the current attempt.
The attempt number increments each time a worker exits
without completing all its tasks, and it resets
back to 1 if a worker instance successfully completes
all its tasks and then exits normally.
By assigning vector arguments
to certain cluster-specific options of the controller,
you can configure different sets of resources for different attempts.
See cluster-specific option functions
like crew_options_slurm()
for details.
Includes everything except the worker-instance-specific
job name and the worker-instance-specific
call to crew::crew_worker()
, both of which get inserted at
the bottom of the script at launch time.
Character vector of the lines of the job script.
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { launcher <- crew_launcher_pbs( pbs_cores = 2, pbs_memory_gigabytes_required = 4 ) launcher$script(name = "my_job_name") }
Other pbs:
crew_controller_pbs()
,
crew_launcher_pbs()
,
crew_options_pbs()
## ------------------------------------------------ ## Method `crew_class_launcher_pbs$script` ## ------------------------------------------------ if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { launcher <- crew_launcher_pbs( pbs_cores = 2, pbs_memory_gigabytes_required = 4 ) launcher$script(name = "my_job_name") }
## ------------------------------------------------ ## Method `crew_class_launcher_pbs$script` ## ------------------------------------------------ if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { launcher <- crew_launcher_pbs( pbs_cores = 2, pbs_memory_gigabytes_required = 4 ) launcher$script(name = "my_job_name") }
R6
class to launch and manage SGE workers.
See crew_launcher_sge()
.
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
crew::crew_class_launcher
-> crew.cluster::crew_class_launcher_cluster
-> crew_class_launcher_sge
crew::crew_class_launcher$active()
crew::crew_class_launcher$booting()
crew::crew_class_launcher$call()
crew::crew_class_launcher$crashes()
crew::crew_class_launcher$done()
crew::crew_class_launcher$errors()
crew::crew_class_launcher$forward()
crew::crew_class_launcher$launch()
crew::crew_class_launcher$rotate()
crew::crew_class_launcher$scale()
crew::crew_class_launcher$set_name()
crew::crew_class_launcher$settings()
crew::crew_class_launcher$start()
crew::crew_class_launcher$summary()
crew::crew_class_launcher$tally()
crew::crew_class_launcher$terminate()
crew::crew_class_launcher$terminate_workers()
crew::crew_class_launcher$unlaunched()
crew::crew_class_launcher$wait()
crew.cluster::crew_class_launcher_cluster$initialize()
crew.cluster::crew_class_launcher_cluster$launch_worker()
crew.cluster::crew_class_launcher_cluster$terminate_worker()
validate()
Validate the launcher.
crew_class_launcher_sge$validate()
NULL
(invisibly). Throws an error if a field is invalid.
script()
Generate the job script.
crew_class_launcher_sge$script(name, attempt)
name
Character of length 1, name of the job. For inspection purposes, you can supply a mock job name.
attempt
Positive integer, number of the current attempt. The attempt number increments each time a worker exits without completing all its tasks, and it resets back to 1 if a worker instance successfully completes all its tasks and then exits normally. By assigning vector arguments to the cluster-specific options of the controller, you can configure different sets of resources for different attempts.
Includes everything except the worker-instance-specific
job name and the worker-instance-specific
call to crew::crew_worker()
, both of which get inserted at
the bottom of the script at launch time.
Character vector of the lines of the job script.
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { launcher <- crew_launcher_sge( sge_cores = 2, sge_memory_gigabytes_required = 4 ) launcher$script(name = "my_job_name") }
Other sge:
crew_class_monitor_sge
,
crew_controller_sge()
,
crew_launcher_sge()
,
crew_monitor_sge()
,
crew_options_sge()
## ------------------------------------------------ ## Method `crew_class_launcher_sge$script` ## ------------------------------------------------ if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { launcher <- crew_launcher_sge( sge_cores = 2, sge_memory_gigabytes_required = 4 ) launcher$script(name = "my_job_name") }
## ------------------------------------------------ ## Method `crew_class_launcher_sge$script` ## ------------------------------------------------ if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { launcher <- crew_launcher_sge( sge_cores = 2, sge_memory_gigabytes_required = 4 ) launcher$script(name = "my_job_name") }
R6
class to launch and manage SLURM workers.
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
crew::crew_class_launcher
-> crew.cluster::crew_class_launcher_cluster
-> crew_class_launcher_slurm
crew::crew_class_launcher$active()
crew::crew_class_launcher$booting()
crew::crew_class_launcher$call()
crew::crew_class_launcher$crashes()
crew::crew_class_launcher$done()
crew::crew_class_launcher$errors()
crew::crew_class_launcher$forward()
crew::crew_class_launcher$launch()
crew::crew_class_launcher$rotate()
crew::crew_class_launcher$scale()
crew::crew_class_launcher$set_name()
crew::crew_class_launcher$settings()
crew::crew_class_launcher$start()
crew::crew_class_launcher$summary()
crew::crew_class_launcher$tally()
crew::crew_class_launcher$terminate()
crew::crew_class_launcher$terminate_workers()
crew::crew_class_launcher$unlaunched()
crew::crew_class_launcher$wait()
crew.cluster::crew_class_launcher_cluster$initialize()
crew.cluster::crew_class_launcher_cluster$launch_worker()
crew.cluster::crew_class_launcher_cluster$terminate_worker()
validate()
Validate the launcher.
crew_class_launcher_slurm$validate()
NULL
(invisibly). Throws an error if a field is invalid.
script()
Generate the job script.
crew_class_launcher_slurm$script(name, attempt)
name
Character of length 1, name of the job. For inspection purposes, you can supply a mock job name.
attempt
Positive integer, number of the current attempt. The attempt number increments each time a worker exits without completing all its tasks, and it resets back to 1 if a worker instance successfully completes all its tasks and then exits normally. By assigning vector arguments to the cluster-specific options of the controller, you can configure different sets of resources for different attempts.
Includes everything except the worker-instance-specific
job name and the worker-instance-specific
call to crew::crew_worker()
, both of which get inserted at
the bottom of the script at launch time.
Character vector of the lines of the job script.
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { launcher <- crew_launcher_slurm( slurm_log_output = "log_file_%A.log", slurm_log_error = NULL, slurm_memory_gigabytes_per_cpu = 4096 ) launcher$script(name = "my_job_name") }
Other slurm:
crew_class_monitor_slurm
,
crew_controller_slurm()
,
crew_launcher_slurm()
,
crew_monitor_slurm()
,
crew_options_slurm()
## ------------------------------------------------ ## Method `crew_class_launcher_slurm$script` ## ------------------------------------------------ if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { launcher <- crew_launcher_slurm( slurm_log_output = "log_file_%A.log", slurm_log_error = NULL, slurm_memory_gigabytes_per_cpu = 4096 ) launcher$script(name = "my_job_name") }
## ------------------------------------------------ ## Method `crew_class_launcher_slurm$script` ## ------------------------------------------------ if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { launcher <- crew_launcher_slurm( slurm_log_output = "log_file_%A.log", slurm_log_error = NULL, slurm_memory_gigabytes_per_cpu = 4096 ) launcher$script(name = "my_job_name") }
SGE monitor R6
class
See crew_monitor_sge()
.
crew.cluster::crew_class_monitor_cluster
-> crew_class_monitor_sge
jobs()
List SGE jobs.
crew_class_monitor_sge$jobs(user = ps::ps_username())
user
Character of length 1, user name of the jobs to list.
A tibble
with one row per SGE job and columns with
specific details.
terminate()
Terminate one or more SGE jobs.
crew_class_monitor_sge$terminate(jobs = NULL, all = FALSE)
jobs
Character vector of job names or job IDs to terminate.
Ignored if all
is set to TRUE
.
all
Logical of length 1, whether to terminate all the jobs
under your user name. This terminates ALL your SGE jobs,
regardless of whether crew.cluster
launched them,
so use with caution!
NULL
(invisibly).
Other sge:
crew_class_launcher_sge
,
crew_controller_sge()
,
crew_launcher_sge()
,
crew_monitor_sge()
,
crew_options_sge()
SLURM monitor R6
class
See crew_monitor_slurm()
.
crew.cluster::crew_class_monitor_cluster
-> crew_class_monitor_slurm
jobs()
List SLURM jobs.
crew_class_monitor_slurm$jobs(user = ps::ps_username())
user
Character of length 1, user name of the jobs to list.
This function loads the entire SLURM queue for all users, so it may take several seconds to execute. It is intended for interactive use, and should especially be avoided in scripts where it is called frequently. It requires SLURM version 20.02 or higher, along with the YAML plugin.
A tibble
with one row per SLURM job and columns with
specific details.
terminate()
Terminate one or more SLURM jobs.
crew_class_monitor_slurm$terminate(jobs = NULL, all = FALSE)
jobs
Character vector of job names or job IDs to terminate.
Ignored if all
is set to TRUE
.
all
Logical of length 1, whether to terminate all the jobs
under your user name. This terminates ALL your SLURM jobs,
regardless of whether crew.cluster
launched them,
so use with caution!
NULL
(invisibly).
Other slurm:
crew_class_launcher_slurm
,
crew_controller_slurm()
,
crew_launcher_slurm()
,
crew_monitor_slurm()
,
crew_options_slurm()
Create an R6
object to submit tasks and
launch workers on LSF workers.
crew_controller_lsf( name = NULL, workers = 1L, host = NULL, port = NULL, tls = crew::crew_tls(mode = "automatic"), tls_enable = NULL, tls_config = NULL, seconds_interval = 0.25, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, seconds_exit = NULL, retry_tasks = TRUE, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_lsf(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, lsf_cwd = NULL, lsf_log_output = NULL, lsf_log_error = NULL, lsf_memory_gigabytes_limit = NULL, lsf_memory_gigabytes_required = NULL, lsf_cores = NULL )
crew_controller_lsf( name = NULL, workers = 1L, host = NULL, port = NULL, tls = crew::crew_tls(mode = "automatic"), tls_enable = NULL, tls_config = NULL, seconds_interval = 0.25, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, seconds_exit = NULL, retry_tasks = TRUE, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_lsf(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, lsf_cwd = NULL, lsf_log_output = NULL, lsf_log_error = NULL, lsf_memory_gigabytes_limit = NULL, lsf_memory_gigabytes_required = NULL, lsf_cores = NULL )
name |
Name of the client object. If |
workers |
Integer, maximum number of parallel workers to run. |
host |
IP address of the |
port |
TCP port to listen for the workers. If |
tls |
A TLS configuration object from |
tls_enable |
Deprecated on 2023-09-15 in version 0.4.1.
Use argument |
tls_config |
Deprecated on 2023-09-15 in version 0.4.1.
Use argument |
seconds_interval |
Number of seconds between
polling intervals waiting for certain internal
synchronous operations to complete,
such as checking |
seconds_timeout |
Number of seconds until timing
out while waiting for certain synchronous operations to complete,
such as checking |
seconds_launch |
Seconds of startup time to allow.
A worker is unconditionally assumed to be alive
from the moment of its launch until |
seconds_idle |
Maximum number of seconds that a worker can idle
since the completion of the last task. If exceeded, the worker exits.
But the timer does not launch until |
seconds_wall |
Soft wall time in seconds.
The timer does not launch until |
seconds_exit |
Deprecated on 2023-09-21 in version 0.1.2.9000. No longer necessary. |
retry_tasks |
|
tasks_max |
Maximum number of tasks that a worker will do before
exiting. See the |
tasks_timers |
Number of tasks to do before activating
the timers for |
reset_globals |
|
reset_packages |
|
reset_options |
|
garbage_collection |
|
crashes_error |
Positive integer scalar. If a worker exits
|
r_arguments |
Optional character vector of command line arguments
to pass to |
options_metrics |
Either |
options_cluster |
An options list from
|
verbose |
Deprecated. Use |
command_submit |
Deprecated. Use |
command_terminate |
Deprecated. Use |
command_delete |
Deprecated on 2024-01-08 (version 0.1.4.9001).
Use |
script_directory |
Deprecated. Use |
script_lines |
Deprecated. Use |
lsf_cwd |
Deprecated. Use |
lsf_log_output |
Deprecated. Use |
lsf_log_error |
Deprecated. Use |
lsf_memory_gigabytes_limit |
Deprecated.
Use |
lsf_memory_gigabytes_required |
Deprecated.
Use |
lsf_cores |
Deprecated. Use |
WARNING: the crew.cluster
LSF plugin is experimental
and has not actually been tested on a LSF cluster. Please proceed
with caution and report bugs to
https://github.com/wlandau/crew.cluster.
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
Other lsf:
crew_class_launcher_lsf
,
crew_launcher_lsf()
,
crew_options_lsf()
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { controller <- crew_controller_lsf() controller$start() controller$push(name = "task", command = sqrt(4)) controller$wait() controller$pop()$result controller$terminate() }
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { controller <- crew_controller_lsf() controller$start() controller$push(name = "task", command = sqrt(4)) controller$wait() controller$pop()$result controller$terminate() }
Create an R6
object to submit tasks and
launch workers on a PBS or TORQUE cluster.
crew_controller_pbs( name = NULL, workers = 1L, host = NULL, port = NULL, tls = crew::crew_tls(mode = "automatic"), tls_enable = NULL, tls_config = NULL, seconds_interval = 0.25, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, seconds_exit = NULL, retry_tasks = TRUE, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_pbs(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, pbs_cwd = NULL, pbs_log_output = NULL, pbs_log_error = NULL, pbs_log_join = NULL, pbs_memory_gigabytes_required = NULL, pbs_cores = NULL, pbs_walltime_hours = NULL )
crew_controller_pbs( name = NULL, workers = 1L, host = NULL, port = NULL, tls = crew::crew_tls(mode = "automatic"), tls_enable = NULL, tls_config = NULL, seconds_interval = 0.25, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, seconds_exit = NULL, retry_tasks = TRUE, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_pbs(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, pbs_cwd = NULL, pbs_log_output = NULL, pbs_log_error = NULL, pbs_log_join = NULL, pbs_memory_gigabytes_required = NULL, pbs_cores = NULL, pbs_walltime_hours = NULL )
name |
Name of the client object. If |
workers |
Integer, maximum number of parallel workers to run. |
host |
IP address of the |
port |
TCP port to listen for the workers. If |
tls |
A TLS configuration object from |
tls_enable |
Deprecated on 2023-09-15 in version 0.4.1.
Use argument |
tls_config |
Deprecated on 2023-09-15 in version 0.4.1.
Use argument |
seconds_interval |
Number of seconds between
polling intervals waiting for certain internal
synchronous operations to complete,
such as checking |
seconds_timeout |
Number of seconds until timing
out while waiting for certain synchronous operations to complete,
such as checking |
seconds_launch |
Seconds of startup time to allow.
A worker is unconditionally assumed to be alive
from the moment of its launch until |
seconds_idle |
Maximum number of seconds that a worker can idle
since the completion of the last task. If exceeded, the worker exits.
But the timer does not launch until |
seconds_wall |
Soft wall time in seconds.
The timer does not launch until |
seconds_exit |
Deprecated on 2023-09-21 in version 0.1.2.9000. No longer necessary. |
retry_tasks |
|
tasks_max |
Maximum number of tasks that a worker will do before
exiting. See the |
tasks_timers |
Number of tasks to do before activating
the timers for |
reset_globals |
|
reset_packages |
|
reset_options |
|
garbage_collection |
|
crashes_error |
Positive integer scalar. If a worker exits
|
r_arguments |
Optional character vector of command line arguments
to pass to |
options_metrics |
Either |
options_cluster |
An options list from
|
verbose |
Deprecated. Use |
command_submit |
Deprecated. Use |
command_terminate |
Deprecated. Use |
command_delete |
Deprecated on 2024-01-08 (version 0.1.4.9001).
Use |
script_directory |
Deprecated. Use |
script_lines |
Deprecated. Use |
pbs_cwd |
Deprecated. Use |
pbs_log_output |
Deprecated. Use |
pbs_log_error |
Deprecated. Use |
pbs_log_join |
Deprecated. Use |
pbs_memory_gigabytes_required |
Deprecated.
Use |
pbs_cores |
Deprecated. Use |
pbs_walltime_hours |
Deprecated. Use |
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
Other pbs:
crew_class_launcher_pbs
,
crew_launcher_pbs()
,
crew_options_pbs()
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { controller <- crew_controller_pbs() controller$start() controller$push(name = "task", command = sqrt(4)) controller$wait() controller$pop()$result controller$terminate() }
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { controller <- crew_controller_pbs() controller$start() controller$push(name = "task", command = sqrt(4)) controller$wait() controller$pop()$result controller$terminate() }
Create an R6
object to submit tasks and
launch workers on Sun Grid Engine (SGE) workers.
crew_controller_sge( name = NULL, workers = 1L, host = NULL, port = NULL, tls = crew::crew_tls(mode = "automatic"), tls_enable = NULL, tls_config = NULL, seconds_interval = 0.25, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, seconds_exit = NULL, retry_tasks = TRUE, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_sge(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, sge_cwd = NULL, sge_envvars = NULL, sge_log_output = NULL, sge_log_error = NULL, sge_log_join = NULL, sge_memory_gigabytes_limit = NULL, sge_memory_gigabytes_required = NULL, sge_cores = NULL, sge_gpu = NULL )
crew_controller_sge( name = NULL, workers = 1L, host = NULL, port = NULL, tls = crew::crew_tls(mode = "automatic"), tls_enable = NULL, tls_config = NULL, seconds_interval = 0.25, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, seconds_exit = NULL, retry_tasks = TRUE, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_sge(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, sge_cwd = NULL, sge_envvars = NULL, sge_log_output = NULL, sge_log_error = NULL, sge_log_join = NULL, sge_memory_gigabytes_limit = NULL, sge_memory_gigabytes_required = NULL, sge_cores = NULL, sge_gpu = NULL )
name |
Name of the client object. If |
workers |
Integer, maximum number of parallel workers to run. |
host |
IP address of the |
port |
TCP port to listen for the workers. If |
tls |
A TLS configuration object from |
tls_enable |
Deprecated on 2023-09-15 in version 0.4.1.
Use argument |
tls_config |
Deprecated on 2023-09-15 in version 0.4.1.
Use argument |
seconds_interval |
Number of seconds between
polling intervals waiting for certain internal
synchronous operations to complete,
such as checking |
seconds_timeout |
Number of seconds until timing
out while waiting for certain synchronous operations to complete,
such as checking |
seconds_launch |
Seconds of startup time to allow.
A worker is unconditionally assumed to be alive
from the moment of its launch until |
seconds_idle |
Maximum number of seconds that a worker can idle
since the completion of the last task. If exceeded, the worker exits.
But the timer does not launch until |
seconds_wall |
Soft wall time in seconds.
The timer does not launch until |
seconds_exit |
Deprecated on 2023-09-21 in version 0.1.2.9000. No longer necessary. |
retry_tasks |
|
tasks_max |
Maximum number of tasks that a worker will do before
exiting. See the |
tasks_timers |
Number of tasks to do before activating
the timers for |
reset_globals |
|
reset_packages |
|
reset_options |
|
garbage_collection |
|
crashes_error |
Positive integer scalar. If a worker exits
|
r_arguments |
Optional character vector of command line arguments
to pass to |
options_metrics |
Either |
options_cluster |
An options list from
|
verbose |
Deprecated. Use |
command_submit |
Deprecated. Use |
command_terminate |
Deprecated. Use |
command_delete |
Deprecated on 2024-01-08 (version 0.1.4.9001).
Use |
script_directory |
Deprecated. Use |
script_lines |
Deprecated. Use |
sge_cwd |
Deprecated. Use |
sge_envvars |
Deprecated. Use |
sge_log_output |
Deprecated. Use |
sge_log_error |
Deprecated. Use |
sge_log_join |
Deprecated. Use |
sge_memory_gigabytes_limit |
Deprecated.
Use |
sge_memory_gigabytes_required |
Deprecated.
Use |
sge_cores |
Deprecated. Use |
sge_gpu |
Deprecated. Use |
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
Other sge:
crew_class_launcher_sge
,
crew_class_monitor_sge
,
crew_launcher_sge()
,
crew_monitor_sge()
,
crew_options_sge()
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { controller <- crew_controller_sge() controller$start() controller$push(name = "task", command = sqrt(4)) controller$wait() controller$pop()$result controller$terminate() }
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { controller <- crew_controller_sge() controller$start() controller$push(name = "task", command = sqrt(4)) controller$wait() controller$pop()$result controller$terminate() }
Create an R6
object to submit tasks and
launch workers on SLURM workers.
crew_controller_slurm( name = NULL, workers = 1L, host = NULL, port = NULL, tls = crew::crew_tls(mode = "automatic"), tls_enable = NULL, tls_config = NULL, seconds_interval = 0.25, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, seconds_exit = NULL, retry_tasks = TRUE, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_slurm(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, slurm_log_output = NULL, slurm_log_error = NULL, slurm_memory_gigabytes_required = NULL, slurm_memory_gigabytes_per_cpu = NULL, slurm_cpus_per_task = NULL, slurm_time_minutes = NULL, slurm_partition = NULL )
crew_controller_slurm( name = NULL, workers = 1L, host = NULL, port = NULL, tls = crew::crew_tls(mode = "automatic"), tls_enable = NULL, tls_config = NULL, seconds_interval = 0.25, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, seconds_exit = NULL, retry_tasks = TRUE, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_slurm(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, slurm_log_output = NULL, slurm_log_error = NULL, slurm_memory_gigabytes_required = NULL, slurm_memory_gigabytes_per_cpu = NULL, slurm_cpus_per_task = NULL, slurm_time_minutes = NULL, slurm_partition = NULL )
name |
Name of the client object. If |
workers |
Integer, maximum number of parallel workers to run. |
host |
IP address of the |
port |
TCP port to listen for the workers. If |
tls |
A TLS configuration object from |
tls_enable |
Deprecated on 2023-09-15 in version 0.4.1.
Use argument |
tls_config |
Deprecated on 2023-09-15 in version 0.4.1.
Use argument |
seconds_interval |
Number of seconds between
polling intervals waiting for certain internal
synchronous operations to complete,
such as checking |
seconds_timeout |
Number of seconds until timing
out while waiting for certain synchronous operations to complete,
such as checking |
seconds_launch |
Seconds of startup time to allow.
A worker is unconditionally assumed to be alive
from the moment of its launch until |
seconds_idle |
Maximum number of seconds that a worker can idle
since the completion of the last task. If exceeded, the worker exits.
But the timer does not launch until |
seconds_wall |
Soft wall time in seconds.
The timer does not launch until |
seconds_exit |
Deprecated on 2023-09-21 in version 0.1.2.9000. No longer necessary. |
retry_tasks |
|
tasks_max |
Maximum number of tasks that a worker will do before
exiting. See the |
tasks_timers |
Number of tasks to do before activating
the timers for |
reset_globals |
|
reset_packages |
|
reset_options |
|
garbage_collection |
|
crashes_error |
Positive integer scalar. If a worker exits
|
r_arguments |
Optional character vector of command line arguments
to pass to |
options_metrics |
Either |
options_cluster |
An options list from
|
verbose |
Deprecated. Use |
command_submit |
Deprecated. Use |
command_terminate |
Deprecated. Use |
command_delete |
Deprecated on 2024-01-08 (version 0.1.4.9001).
Use |
script_directory |
Deprecated. Use |
script_lines |
Deprecated. Use |
slurm_log_output |
Deprecated. Use |
slurm_log_error |
Deprecated. Use |
slurm_memory_gigabytes_required |
Deprecated.
Use |
slurm_memory_gigabytes_per_cpu |
Deprecated.
Use |
slurm_cpus_per_task |
Deprecated. Use |
slurm_time_minutes |
Deprecated. Use |
slurm_partition |
Deprecated. Use |
WARNING: the crew.cluster
SLURM plugin is experimental
and has not actually been tested on a SLURM cluster. Please proceed
with caution and report bugs to
https://github.com/wlandau/crew.cluster.
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
Other slurm:
crew_class_launcher_slurm
,
crew_class_monitor_slurm
,
crew_launcher_slurm()
,
crew_monitor_slurm()
,
crew_options_slurm()
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { controller <- crew_controller_slurm() controller$start() controller$push(name = "task", command = sqrt(4)) controller$wait() controller$pop()$result controller$terminate() }
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) { controller <- crew_controller_slurm() controller$start() controller$push(name = "task", command = sqrt(4)) controller$wait() controller$pop()$result controller$terminate() }
Create an R6
object to launch and maintain
workers as LSF jobs.
crew_launcher_lsf( name = NULL, seconds_interval = 0.5, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, tls = crew::crew_tls(mode = "automatic"), r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_lsf(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, lsf_cwd = NULL, lsf_log_output = NULL, lsf_log_error = NULL, lsf_memory_gigabytes_limit = NULL, lsf_memory_gigabytes_required = NULL, lsf_cores = NULL )
crew_launcher_lsf( name = NULL, seconds_interval = 0.5, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, tls = crew::crew_tls(mode = "automatic"), r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_lsf(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, lsf_cwd = NULL, lsf_log_output = NULL, lsf_log_error = NULL, lsf_memory_gigabytes_limit = NULL, lsf_memory_gigabytes_required = NULL, lsf_cores = NULL )
name |
Name of the launcher. |
seconds_interval |
Number of seconds between
polling intervals waiting for certain internal
synchronous operations to complete,
such as checking |
seconds_timeout |
Number of seconds until timing
out while waiting for certain synchronous operations to complete,
such as checking |
seconds_launch |
Seconds of startup time to allow.
A worker is unconditionally assumed to be alive
from the moment of its launch until |
seconds_idle |
Maximum number of seconds that a worker can idle
since the completion of the last task. If exceeded, the worker exits.
But the timer does not launch until |
seconds_wall |
Soft wall time in seconds.
The timer does not launch until |
tasks_max |
Maximum number of tasks that a worker will do before
exiting. See the |
tasks_timers |
Number of tasks to do before activating
the timers for |
reset_globals |
|
reset_packages |
|
reset_options |
|
garbage_collection |
|
crashes_error |
Positive integer scalar. If a worker exits
|
tls |
A TLS configuration object from |
r_arguments |
Optional character vector of command line arguments
to pass to |
options_metrics |
Either |
options_cluster |
An options list from
|
verbose |
Deprecated. Use |
command_submit |
Deprecated. Use |
command_terminate |
Deprecated. Use |
command_delete |
Deprecated on 2024-01-08 (version 0.1.4.9001).
Use |
script_directory |
Deprecated. Use |
script_lines |
Deprecated. Use |
lsf_cwd |
Deprecated. Use |
lsf_log_output |
Deprecated. Use |
lsf_log_error |
Deprecated. Use |
lsf_memory_gigabytes_limit |
Deprecated.
Use |
lsf_memory_gigabytes_required |
Deprecated.
Use |
lsf_cores |
Deprecated. Use |
WARNING: the crew.cluster
LSF plugin is experimental.
Please proceed with caution and report bugs to
https://github.com/wlandau/crew.cluster.
To launch a LSF worker, this launcher
creates a temporary job script with a call to crew::crew_worker()
and submits it as an LSF job with sbatch
. To see most of the lines
of the job script in advance, use the script()
method of the launcher.
It has all the lines except for the job name and the
call to crew::crew_worker()
, both of
which will be inserted at the last minute when it is time
to actually launch a worker.
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
Other lsf:
crew_class_launcher_lsf
,
crew_controller_lsf()
,
crew_options_lsf()
Create an R6
object to launch and maintain
workers as jobs on a PBS or TORQUE cluster.
crew_launcher_pbs( name = NULL, seconds_interval = 0.5, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, tls = crew::crew_tls(mode = "automatic"), r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_pbs(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, pbs_cwd = NULL, pbs_log_output = NULL, pbs_log_error = NULL, pbs_log_join = NULL, pbs_memory_gigabytes_required = NULL, pbs_cores = NULL, pbs_walltime_hours = NULL )
crew_launcher_pbs( name = NULL, seconds_interval = 0.5, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, tls = crew::crew_tls(mode = "automatic"), r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_pbs(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, pbs_cwd = NULL, pbs_log_output = NULL, pbs_log_error = NULL, pbs_log_join = NULL, pbs_memory_gigabytes_required = NULL, pbs_cores = NULL, pbs_walltime_hours = NULL )
name |
Name of the launcher. |
seconds_interval |
Number of seconds between
polling intervals waiting for certain internal
synchronous operations to complete,
such as checking |
seconds_timeout |
Number of seconds until timing
out while waiting for certain synchronous operations to complete,
such as checking |
seconds_launch |
Seconds of startup time to allow.
A worker is unconditionally assumed to be alive
from the moment of its launch until |
seconds_idle |
Maximum number of seconds that a worker can idle
since the completion of the last task. If exceeded, the worker exits.
But the timer does not launch until |
seconds_wall |
Soft wall time in seconds.
The timer does not launch until |
tasks_max |
Maximum number of tasks that a worker will do before
exiting. See the |
tasks_timers |
Number of tasks to do before activating
the timers for |
reset_globals |
|
reset_packages |
|
reset_options |
|
garbage_collection |
|
crashes_error |
Positive integer scalar. If a worker exits
|
tls |
A TLS configuration object from |
r_arguments |
Optional character vector of command line arguments
to pass to |
options_metrics |
Either |
options_cluster |
An options list from
|
verbose |
Deprecated. Use |
command_submit |
Deprecated. Use |
command_terminate |
Deprecated. Use |
command_delete |
Deprecated on 2024-01-08 (version 0.1.4.9001).
Use |
script_directory |
Deprecated. Use |
script_lines |
Deprecated. Use |
pbs_cwd |
Deprecated. Use |
pbs_log_output |
Deprecated. Use |
pbs_log_error |
Deprecated. Use |
pbs_log_join |
Deprecated. Use |
pbs_memory_gigabytes_required |
Deprecated.
Use |
pbs_cores |
Deprecated. Use |
pbs_walltime_hours |
Deprecated. Use |
WARNING: the crew.cluster
PBS plugin is experimental
and has not actually been tested on a PBS cluster. Please proceed
with caution and report bugs to
https://github.com/wlandau/crew.cluster.
To launch a PBS/TORQUE worker, this launcher
creates a temporary job script with a call to crew::crew_worker()
and submits it as an PBS job with qsub
. To see most of the lines
of the job script in advance, use the script()
method of the launcher.
It has all the lines except for the job name and the
call to crew::crew_worker()
, both of
which will be inserted at the last minute when it is time
to actually launch a worker.
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
Other pbs:
crew_class_launcher_pbs
,
crew_controller_pbs()
,
crew_options_pbs()
Create an R6
object to launch and maintain
workers as Sun Grid Engine (SGE) jobs.
crew_launcher_sge( name = NULL, seconds_interval = 0.5, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, tls = crew::crew_tls(mode = "automatic"), r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_sge(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, sge_cwd = NULL, sge_envvars = NULL, sge_log_output = NULL, sge_log_error = NULL, sge_log_join = NULL, sge_memory_gigabytes_limit = NULL, sge_memory_gigabytes_required = NULL, sge_cores = NULL, sge_gpu = NULL )
crew_launcher_sge( name = NULL, seconds_interval = 0.5, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, tls = crew::crew_tls(mode = "automatic"), r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_sge(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, sge_cwd = NULL, sge_envvars = NULL, sge_log_output = NULL, sge_log_error = NULL, sge_log_join = NULL, sge_memory_gigabytes_limit = NULL, sge_memory_gigabytes_required = NULL, sge_cores = NULL, sge_gpu = NULL )
name |
Name of the launcher. |
seconds_interval |
Number of seconds between
polling intervals waiting for certain internal
synchronous operations to complete,
such as checking |
seconds_timeout |
Number of seconds until timing
out while waiting for certain synchronous operations to complete,
such as checking |
seconds_launch |
Seconds of startup time to allow.
A worker is unconditionally assumed to be alive
from the moment of its launch until |
seconds_idle |
Maximum number of seconds that a worker can idle
since the completion of the last task. If exceeded, the worker exits.
But the timer does not launch until |
seconds_wall |
Soft wall time in seconds.
The timer does not launch until |
tasks_max |
Maximum number of tasks that a worker will do before
exiting. See the |
tasks_timers |
Number of tasks to do before activating
the timers for |
reset_globals |
|
reset_packages |
|
reset_options |
|
garbage_collection |
|
crashes_error |
Positive integer scalar. If a worker exits
|
tls |
A TLS configuration object from |
r_arguments |
Optional character vector of command line arguments
to pass to |
options_metrics |
Either |
options_cluster |
An options list from
|
verbose |
Deprecated. Use |
command_submit |
Deprecated. Use |
command_terminate |
Deprecated. Use |
command_delete |
Deprecated on 2024-01-08 (version 0.1.4.9001).
Use |
script_directory |
Deprecated. Use |
script_lines |
Deprecated. Use |
sge_cwd |
Deprecated. Use |
sge_envvars |
Deprecated. Use |
sge_log_output |
Deprecated. Use |
sge_log_error |
Deprecated. Use |
sge_log_join |
Deprecated. Use |
sge_memory_gigabytes_limit |
Deprecated.
Use |
sge_memory_gigabytes_required |
Deprecated.
Use |
sge_cores |
Deprecated. Use |
sge_gpu |
Deprecated. Use |
To launch a Sun Grid Engine (SGE) worker, this launcher
creates a temporary job script with a call to crew::crew_worker()
and submits it as an SGE job with qsub
. To see most of the lines
of the job script in advance, use the script()
method of the launcher.
It has all the lines except for the job name and the
call to crew::crew_worker()
, both of
which will be inserted at the last minute when it is time
to actually launch a worker.
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
Other sge:
crew_class_launcher_sge
,
crew_class_monitor_sge
,
crew_controller_sge()
,
crew_monitor_sge()
,
crew_options_sge()
Create an R6
object to launch and maintain
workers as SLURM jobs.
crew_launcher_slurm( name = NULL, seconds_interval = 0.5, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, tls = crew::crew_tls(mode = "automatic"), r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_slurm(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, slurm_log_output = NULL, slurm_log_error = NULL, slurm_memory_gigabytes_required = NULL, slurm_memory_gigabytes_per_cpu = NULL, slurm_cpus_per_task = NULL, slurm_time_minutes = NULL, slurm_partition = NULL )
crew_launcher_slurm( name = NULL, seconds_interval = 0.5, seconds_timeout = 60, seconds_launch = 86400, seconds_idle = 300, seconds_wall = Inf, tasks_max = Inf, tasks_timers = 0L, reset_globals = TRUE, reset_packages = FALSE, reset_options = FALSE, garbage_collection = FALSE, crashes_error = 5L, tls = crew::crew_tls(mode = "automatic"), r_arguments = c("--no-save", "--no-restore"), options_metrics = crew::crew_options_metrics(), options_cluster = crew.cluster::crew_options_slurm(), verbose = NULL, command_submit = NULL, command_terminate = NULL, command_delete = NULL, script_directory = NULL, script_lines = NULL, slurm_log_output = NULL, slurm_log_error = NULL, slurm_memory_gigabytes_required = NULL, slurm_memory_gigabytes_per_cpu = NULL, slurm_cpus_per_task = NULL, slurm_time_minutes = NULL, slurm_partition = NULL )
name |
Name of the launcher. |
seconds_interval |
Number of seconds between
polling intervals waiting for certain internal
synchronous operations to complete,
such as checking |
seconds_timeout |
Number of seconds until timing
out while waiting for certain synchronous operations to complete,
such as checking |
seconds_launch |
Seconds of startup time to allow.
A worker is unconditionally assumed to be alive
from the moment of its launch until |
seconds_idle |
Maximum number of seconds that a worker can idle
since the completion of the last task. If exceeded, the worker exits.
But the timer does not launch until |
seconds_wall |
Soft wall time in seconds.
The timer does not launch until |
tasks_max |
Maximum number of tasks that a worker will do before
exiting. See the |
tasks_timers |
Number of tasks to do before activating
the timers for |
reset_globals |
|
reset_packages |
|
reset_options |
|
garbage_collection |
|
crashes_error |
Positive integer scalar. If a worker exits
|
tls |
A TLS configuration object from |
r_arguments |
Optional character vector of command line arguments
to pass to |
options_metrics |
Either |
options_cluster |
An options list from
|
verbose |
Deprecated. Use |
command_submit |
Deprecated. Use |
command_terminate |
Deprecated. Use |
command_delete |
Deprecated on 2024-01-08 (version 0.1.4.9001).
Use |
script_directory |
Deprecated. Use |
script_lines |
Deprecated. Use |
slurm_log_output |
Deprecated. Use |
slurm_log_error |
Deprecated. Use |
slurm_memory_gigabytes_required |
Deprecated.
Use |
slurm_memory_gigabytes_per_cpu |
Deprecated.
Use |
slurm_cpus_per_task |
Deprecated. Use |
slurm_time_minutes |
Deprecated. Use |
slurm_partition |
Deprecated. Use |
WARNING: the crew.cluster
SLURM plugin is experimental
and has not actually been tested on a SLURM cluster. Please proceed
with caution and report bugs to
https://github.com/wlandau/crew.cluster.
To launch a SLURM worker, this launcher
creates a temporary job script with a call to crew::crew_worker()
and submits it as an SLURM job with sbatch
. To see most of the lines
of the job script in advance, use the script()
method of the launcher.
It has all the lines except for the job name and the
call to crew::crew_worker()
, both of
which will be inserted at the last minute when it is time
to actually launch a worker.
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
Other slurm:
crew_class_launcher_slurm
,
crew_class_monitor_slurm
,
crew_controller_slurm()
,
crew_monitor_slurm()
,
crew_options_slurm()
Create an R6
object to monitor SGE cluster jobs.
crew_monitor_sge( verbose = TRUE, command_list = as.character(Sys.which("qstat")), command_terminate = as.character(Sys.which("qdel")) )
crew_monitor_sge( verbose = TRUE, command_list = as.character(Sys.which("qstat")), command_terminate = as.character(Sys.which("qdel")) )
verbose |
Deprecated. Use |
command_list |
Character of length 1, file path to the executable to list jobs. |
command_terminate |
Deprecated. Use |
Other sge:
crew_class_launcher_sge
,
crew_class_monitor_sge
,
crew_controller_sge()
,
crew_launcher_sge()
,
crew_options_sge()
Create an R6
object to monitor SLURM cluster jobs.
crew_monitor_slurm( verbose = TRUE, command_list = as.character(Sys.which("squeue")), command_terminate = as.character(Sys.which("scancel")) )
crew_monitor_slurm( verbose = TRUE, command_list = as.character(Sys.which("squeue")), command_terminate = as.character(Sys.which("scancel")) )
verbose |
Deprecated. Use |
command_list |
Character of length 1, file path to the executable to list jobs. |
command_terminate |
Deprecated. Use |
Other slurm:
crew_class_launcher_slurm
,
crew_class_monitor_slurm
,
crew_controller_slurm()
,
crew_launcher_slurm()
,
crew_options_slurm()
Set options for LSF job management.
crew_options_lsf( verbose = FALSE, command_submit = as.character(Sys.which("bsub")), command_terminate = as.character(Sys.which("bkill")), script_directory = tempdir(), script_lines = character(0L), cwd = getwd(), log_output = "/dev/null", log_error = "/dev/null", memory_gigabytes_limit = NULL, memory_gigabytes_required = NULL, cores = NULL )
crew_options_lsf( verbose = FALSE, command_submit = as.character(Sys.which("bsub")), command_terminate = as.character(Sys.which("bkill")), script_directory = tempdir(), script_lines = character(0L), cwd = getwd(), log_output = "/dev/null", log_error = "/dev/null", memory_gigabytes_limit = NULL, memory_gigabytes_required = NULL, cores = NULL )
verbose |
Logical, whether to see console output and error messages when submitting worker. |
command_submit |
Character of length 1, file path to the executable to submit a worker job. |
command_terminate |
Character of length 1,
file path to the executable to terminate a worker job.
Set to |
script_directory |
Character of length 1, directory path to the
job scripts. Just before each job submission, a job script
is created in this folder. Script base names are unique to each
launcher and worker, and the launcher deletes the script when the
worker is manually terminated. |
script_lines |
Optional character vector of additional lines to be
added to the job script just after the more common flags.
An example would be |
cwd |
Character of length 1, directory to
launch the worker from (as opposed to
the system default). |
log_output |
Character of length 1, file pattern to control
the locations of the LSF worker log files. By default, both standard
output and standard error go to the same file.
|
log_error |
Character of length 1, file pattern for standard
error. |
memory_gigabytes_limit |
Positive numeric vector,
usually with a single element.
Supply a vector to make
|
memory_gigabytes_required |
Positive numeric vector,
usually with a single element.
Supply a vector to make
|
cores |
Optional positive integer vector, usually with
a single element.
Supply a vector to make
|
A classed list of options.
Arguments memory_gigabytes_limit
, memory_gigabytes_required
,
and cores
are retryable options.
Each of these arguments be a vector where each successive element is
used during a retry if the worker previously exited without
completing all its assigned tasks.
The last element of the vector is used if there are more retries than
the length of the vector.
Control the number of allowable retries with crashes_error
argument of the controller.
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
Other lsf:
crew_class_launcher_lsf
,
crew_controller_lsf()
,
crew_launcher_lsf()
crew_options_lsf()
crew_options_lsf()
Set options for PBS job management.
crew_options_pbs( verbose = FALSE, command_submit = as.character(Sys.which("qsub")), command_terminate = as.character(Sys.which("qdel")), script_directory = tempdir(), script_lines = character(0L), cwd = TRUE, log_output = "/dev/null", log_error = NULL, log_join = TRUE, memory_gigabytes_required = NULL, cores = NULL, walltime_hours = 12 )
crew_options_pbs( verbose = FALSE, command_submit = as.character(Sys.which("qsub")), command_terminate = as.character(Sys.which("qdel")), script_directory = tempdir(), script_lines = character(0L), cwd = TRUE, log_output = "/dev/null", log_error = NULL, log_join = TRUE, memory_gigabytes_required = NULL, cores = NULL, walltime_hours = 12 )
verbose |
Logical, whether to see console output and error messages when submitting worker. |
command_submit |
Character of length 1, file path to the executable to submit a worker job. |
command_terminate |
Character of length 1,
file path to the executable to terminate a worker job.
Set to |
script_directory |
Character of length 1, directory path to the
job scripts. Just before each job submission, a job script
is created in this folder. Script base names are unique to each
launcher and worker, and the launcher deletes the script when the
worker is manually terminated. |
script_lines |
Optional character vector of additional lines to be
added to the job script just after the more common flags.
An example would be |
cwd |
Logical of length 1, whether to set the working directory
of the worker to the working directory it was launched from.
|
log_output |
Character of length 1, file or directory path to PBS
worker log files for standard output.
|
log_error |
Character of length 1, file or directory path to PBS
worker log files for standard error.
|
log_join |
Logical, whether to join the stdout and stderr log
files together into one file. |
memory_gigabytes_required |
Optional positive numeric vector,
usually with a single element.
Supply a vector to make
|
cores |
Optional positive integer vector,
usually with a single element.
Supply a vector to make
|
walltime_hours |
Numeric vector, usually with a single element.
Supply a vector to make
|
A classed list of options.
Arguments memory_gigabytes_required
, cores
,
and walltime_hours
are retryable options.
Each of these arguments be a vector where each successive element is
used during a retry if the worker previously exited without
completing all its assigned tasks.
The last element of the vector is used if there are more retries than
the length of the vector.
Control the number of allowable retries with crashes_error
argument of the controller.
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
Other pbs:
crew_class_launcher_pbs
,
crew_controller_pbs()
,
crew_launcher_pbs()
crew_options_pbs()
crew_options_pbs()
Set options for SGE job management.
crew_options_sge( verbose = FALSE, command_submit = as.character(Sys.which("qsub")), command_terminate = as.character(Sys.which("qdel")), script_directory = tempdir(), script_lines = character(0L), cwd = TRUE, envvars = FALSE, log_output = "/dev/null", log_error = NULL, log_join = TRUE, memory_gigabytes_limit = NULL, memory_gigabytes_required = NULL, cores = NULL, gpu = NULL )
crew_options_sge( verbose = FALSE, command_submit = as.character(Sys.which("qsub")), command_terminate = as.character(Sys.which("qdel")), script_directory = tempdir(), script_lines = character(0L), cwd = TRUE, envvars = FALSE, log_output = "/dev/null", log_error = NULL, log_join = TRUE, memory_gigabytes_limit = NULL, memory_gigabytes_required = NULL, cores = NULL, gpu = NULL )
verbose |
Logical, whether to see console output and error messages when submitting worker. |
command_submit |
Character of length 1, file path to the executable to submit a worker job. |
command_terminate |
Character of length 1,
file path to the executable to terminate a worker job.
Set to |
script_directory |
Character of length 1, directory path to the
job scripts. Just before each job submission, a job script
is created in this folder. Script base names are unique to each
launcher and worker, and the launcher deletes the script when the
worker is manually terminated. |
script_lines |
Optional character vector of additional lines to be
added to the job script just after the more common flags.
An example would be |
cwd |
Logical of length 1, whether to
launch the worker from the current working directory (as opposed to
the user home directory). |
envvars |
Logical of length 1, whether to forward the environment
variables of the current session to the SGE worker. |
log_output |
Character of length 1, file or directory path to SGE
worker log files for standard output.
|
log_error |
Character of length 1, file or directory path to SGE
worker log files for standard error.
|
log_join |
Logical, whether to join the stdout and stderr log
files together into one file. |
memory_gigabytes_limit |
Optional numeric vector, usually
with a single element.
Supply a vector to make
|
memory_gigabytes_required |
Optional positive numeric vector,
usually with a single element.
Supply a vector to make
|
cores |
Optional positive integer vector, usually with a single
element.
Supply a vector to make
|
gpu |
Optional integer vector, usually with a single element.
Supply a vector to make
|
A classed list of options.
Arguments memory_gigabytes_limit
, memory_gigabytes_required
,
cores
, and gpu
are retryable options.
Each of these arguments be a vector where each successive element is
used during a retry if the worker previously exited without
completing all its assigned tasks.
The last element of the vector is used if there are more retries than
the length of the vector.
Control the number of allowable retries with crashes_error
argument of the controller.
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
Other sge:
crew_class_launcher_sge
,
crew_class_monitor_sge
,
crew_controller_sge()
,
crew_launcher_sge()
,
crew_monitor_sge()
crew_options_sge()
crew_options_sge()
Set options for SLURM job management.
crew_options_slurm( verbose = FALSE, command_submit = as.character(Sys.which("sbatch")), command_terminate = as.character(Sys.which("scancel")), script_directory = tempdir(), script_lines = character(0L), log_output = "/dev/null", log_error = "/dev/null", memory_gigabytes_required = NULL, memory_gigabytes_per_cpu = NULL, cpus_per_task = NULL, time_minutes = NULL, partition = NULL )
crew_options_slurm( verbose = FALSE, command_submit = as.character(Sys.which("sbatch")), command_terminate = as.character(Sys.which("scancel")), script_directory = tempdir(), script_lines = character(0L), log_output = "/dev/null", log_error = "/dev/null", memory_gigabytes_required = NULL, memory_gigabytes_per_cpu = NULL, cpus_per_task = NULL, time_minutes = NULL, partition = NULL )
verbose |
Logical, whether to see console output and error messages when submitting worker. |
command_submit |
Character of length 1, file path to the executable to submit a worker job. |
command_terminate |
Character of length 1,
file path to the executable to terminate a worker job.
Set to |
script_directory |
Character of length 1, directory path to the
job scripts. Just before each job submission, a job script
is created in this folder. Script base names are unique to each
launcher and worker, and the launcher deletes the script when the
worker is manually terminated. |
script_lines |
Optional character vector of additional lines to be
added to the job script just after the more common flags.
An example would be |
log_output |
Character of length 1, file pattern to control
the locations of the SLURM worker log files. By default, both standard
output and standard error go to the same file.
|
log_error |
Character of length 1, file pattern for standard
error. |
memory_gigabytes_required |
Positive numeric vector,
usually with a single element.
Supply a vector to make Each element is of |
memory_gigabytes_per_cpu |
Positive numeric vector,
usually with a single element.
Supply a vector to make
|
cpus_per_task |
Optional positive integer vector,
usually with a single element.
Supply a vector to make
|
time_minutes |
Numeric of length 1, usually with a single element.
Supply a vector to make
|
partition |
Character of vector, usually with a single element.
Supply a vector to make
|
A classed list of options.
Arguments memory_gigabytes_required
, memory_gigabytes_per_cpu
,
cpus_per_task
, time_minutes
, and partition
are retryable options.
Each of these arguments be a vector where each successive element is
used during a retry if the worker previously exited without
completing all its assigned tasks.
The last element of the vector is used if there are more retries than
the length of the vector.
Control the number of allowable retries with crashes_error
argument of the controller.
The template files at
https://github.com/mschubert/clustermq/tree/master/inst
informed the development of the crew
launcher plugins in
crew.cluster
, and we would like to thank
Michael Schubert for developing clustermq
and releasing it under
the permissive Apache License 2.0.
See the NOTICE
and README.md
files in the crew.cluster
source code for additional attribution.
Other slurm:
crew_class_launcher_slurm
,
crew_class_monitor_slurm
,
crew_controller_slurm()
,
crew_launcher_slurm()
,
crew_monitor_slurm()
crew_options_slurm()
crew_options_slurm()