WISH: Support also SnowParam(type = "PSOCK")
まだ誰も着手していません。
評価
調査の方向性
Start at the SnowParam() entry point and trace how its type argument is passed to parallel::makeCluster(). Compare the existing SOCK, MPI, and FORK handling with the PSOCK option, then run the relevant SnowParam tests if available. Done means type = "PSOCK" is accepted and uses the intended parallel cluster behavior without breaking existing types.
索引モデルが issue の本文から書いたものです。
説明
Background
SnowParam() supports type = "SOCK" (default), type = "MPI", and type = "FORK". The former two stems from the days of snow package and the latter was introduced with the parallel package. The type argument is passed to parallel::makeCluster() as-is;
> parallel::makeCluster
function (spec, type = getClusterOption("type"), ...)
{
switch(type, PSOCK = makePSOCKcluster(names = spec, ...),
FORK = makeForkCluster(nnodes = spec, ...), SOCK = snow::makeSOCKcluster(names = spec,
...), MPI = snow::makeMPIcluster(count = spec, ...),
stop("unknown cluster type"))
}
<environment: namespace:parallel>
Wish
Please add support also for type = "PSOCK", which is the default for parallel::makeCluster() [since day one back in 2014, I think]. It looks like it would be quite straightforward to do this.
Why add this? Because, PSOCK clusters have undergone lots of improvements since snow was incorporated into parallel. For example, in R (>= 4.0.0), the nodes ("workers") of PSOCK cluster is set up in parallel, instead of sequentially. This makes the setup much faster, e,g.

Source: https://www.jottr.org/2021/06/10/parallelly-1.26.0/
In addition, this parallel setup strategy avoids port clashes that we saw in parallel (< 4.0.0), and still in snow (since it's deprecated and not improved on), e.g.
Error in `socketConnection(port = port, server = TRUE, blocking = TRUE,
open = "a+b")`: cannot open the connection
FYI, I haven't seen those type of errors since R (< 4.0.0), except from revdep checking packages relying on snow. More recently while revdep checking Bioconductor package DMCFB that uses SnowParam in it's package tests.
- 主要言語
- R
- スター
- 69
- フォーク
- 32
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Bioconductor/BiocParallel のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
Bioconductor/BiocParallel#286 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 50/100
Bioconductor/BiocParallel#285 ·
-
Bioconductor/BiocParallel#284 · コメント 2 件 · 担当者 1 名 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
Bioconductor/BiocParallel#283 · コメント 2 件 ·
-
DoparParam: Captured stdout is relayed to stdout for some foreach adapters and stderr for others オープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
Bioconductor/BiocParallel#277 ·
Bioconductor/BiocParallel の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
briandconnelly/airnow#9 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
OHDSI/CohortConstructor#774 ·
-
pre-review R TeX Track: 5 (DSAIS)
難易度 1/5 1時間未満 初心者へのやさしさ 60/100
openjournals/joss-reviews#11330 · コメント 7 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100