並列計算におけるリソースの共有

Wolfram言語の記号的な並列計算アーキテクチャにより,並列プロセス間で通信したりリソースを共有したりするための非常に便利なメカニズムが提供される.Wolframシステムの基盤は,任意のクラスタやプロセッサネットワーク上でシームレスに実行している,WSTPベースのメッセージパッシング上に実装されている仮想共有メモリモデルである.

共有変数と共有関数

SetSharedVariable サブカーネル間で値を共有するようにシンボルを設定する

SetSharedFunction サブカーネル間で下向きの値を共有するように関数を設定する

$SharedVariables$SharedFunctions 共有変数,関数のリスト

UnsetShared 変数,関数の共有を中止する

同期

CriticalSection 共有リソースへの並行アクセスを同期する

定義のブロードキャスト

DistributeDefinitions 全並列サブカーネルに定義を分配する

ParallelNeeds 全並列サブカーネルに同じパッケージをロードする

ParallelEvaluate 全並列サブカーネルでひとつの式を評価する

ClearDistributedDefinitions 以前に配布された定義を消去する