RemoteBatchMapSubmit

RemoteBatchMapSubmit[env,f,list]

リモートバッチ送信環境 env を使って flist の第1レベルの各要素に適用される配列バッチジョブを送信する.

RemoteBatchMapSubmit[f,list]

$DefaultRemoteBatchSubmissionEnvironmentを使って配列ジョブを送信する.

詳細とオプション

  • RemoteBatchMapSubmitは送信バッチジョブを使って関数をリストにマッピングする.
  • 現在サポートされているバッチ計算のプロバイダは,"AWSBatch""AzureBatch""CharityEngine"である.
  • RemoteBatchMapSubmitは,バッチ計算プロバイダ上の結果の配列ジョブを表すRemoteBatchJobObjectを返す.配列ジョブは複数の子ジョブからなるリモートのバッチジョブである.
  • 環境 envRemoteBatchSubmissionEnvironmentでなければならない.
  • 必須の環境設定がないバッチ計算プロバイダが使われると,envRemoteBatchMapSubmit["CharityEngine",f,list]のような文字列としてのプロバイダ名になるだろうが,これはRemoteBatchMapSubmit[RemoteBatchSubmissionEnvironment["CharityEngine"],f,list]と等価である.
  • 入力の配列 list は(Methodオプションで指定された方法で)連続するスパンに分割される.各スパンはマスターの配列ジョブの子ジョブで別々に処理される.
  • 子ジョブで(例えばRemoteProviderSettingsオプションの効果として)複数のプロセッサコアが使える場合は,内部的にParallelMapを使って評価を使用可能なコアに分散する.
  • 一般に,関数 f の各評価は,以前の特定の評価によって生成された大域状態には依存できない.評価はMethodオプションに従って複数の分離された子ジョブに分散される(さらに,各子ジョブ内の複数の並列カーネルに分散される可能性もある)ためである.ただし,計算値を記憶する関数等大域的な状態を限定的かつ日和見的に使用する手法を使用して,ジョブのパフォーマンスを最適化できる場合がある.
  • RemoteBatchMapSubmitが返すRemoteBatchJobObject"JobType"特性の値は"Array"である.
  • RemoteBatchMapSubmitは次のオプションをサポートする.
  • ForwardCloudCredentialsAutomaticローカルセッションのWolfram Cloud認証情報をリモートセッションにコピーするかどうか
    IncludeDefinitionsTrue式の依存関係を自動的に含めるかどうか
    Initialization None各子ジョブのマスターカーネルで1度だけ評価する式
    LicensingSettingsAutomatic使用するライセンス設定
    Method Automatic評価を子ジョブに割り当てる方法
    RemoteInputFiles<||>プロバイダにアップロードするローカルファイルの連想
    RemoteProviderSettings<||>各子ジョブについてのプロバイダ特有の設定の連想
    TimeConstraintAutomatic各子ジョブのタイムアウト
  • Initialization式を使って入力ファイルをインポートし,ジョブ関数内でアクセスできるようにそのコンテンツを変数に保存することができる. »
  • IncludeDefinitionsオプションの値は,ジョブ関数と,指定されている場合はInitialization式の,両方に適用される.
  • LicensingSettingsオプションのデフォルト値はAutomaticで,カーネル数と有効期限がジョブの設定に基づく新たなオンデマンドのライセンス資格を作ることができる.デフォルトのカーネル数の上限はすべての子ジョブが同時に実行されるという仮定に基づいている.
  • デフォルトのオンデマンドライセンス設定を使ってジョブを実行するときは,Wolfram Engineライセンスの使用によってWolframサービスクレジットの口座残高に対して従量制で課金される.
  • Methodオプションは次のパッキングメソッド指定をサポートする.
  • "FinestGrained"各ジョブに可能な最小の評価数を割り当てる(プロバイダによって強制されるジョブ数の制限内)
    "EvaluationsPerJob"nプロバイダーによって適用されるジョブ数の制限内で,それぞれ n 個の評価に可能な限り近い適切な数のジョブを選択する(Length[list]n で割り切れない場合は残りを含む単一の追加ジョブになる)
    "JobCount"nLength[list]とプロバイダによって強制されるジョブ数の制限のいずれか小さい方まで,厳密に n 個のジョブにバランスよく評価を分散する
    Automatic"JobCount"Round[]に等しい
  • デフォルトのパッキングメソッドMethodAutomaticは,ジョブ数とジョブごとの評価数の差を最小にしようとする.
  • Methodオプションは{"JobCount"10,"FinestGrained"}のようなリストに設定することもできる.ここで,最初の要素は上記の表からのパッキングメソッド,2番目の要素はParallelize(および関連関数)でサポートされる並列化メソッドである.
  • 並列化メソッドが指定されると,そのメソッドが各子ジョブ内のParallelMapに渡される.デフォルトの並列化メソッドはAutomaticである.配列ジョブが各子ジョブに単一のコアだけを与えるように設定されている場合は,並列化メソッドを設定しても効果はない.
  • RemoteProviderSettingsオプションとTimeConstraintオプションで指定されるタイムアウトの値は,どちらも,マスターの配列ジョブではなく,各子ジョブに別々に適用される.

例題

すべて開くすべて閉じる

  (1)

1から100までの各整数を2乗する配列バッチジョブを送信する:

子ジョブにおける評価の分布を可視化する:

各子ジョブの状態の自動更新を可視化したものを見る:

終了した子ジョブからの要素だけを含む疎な配列を,配列ジョブの実行中に入手する:

配列ジョブが完全に終了した後で,結果を密な配列として入手する:

スコープ  (1)

デフォルトのリモート送信環境を使って配列ジョブを送信する:

オプション  (5)

Initialization  (1)

初期化の式を使ってインポートした入力ファイルを変数に割り当てる.こうすることでジョブ関数で使えるようになる:

Method  (4)

MethodAutomaticという設定は,子ジョブの数とジョブごとの評価の数をできるだけ近付けようとする:

Method"FinestGrained"という設定は,プロバイダに強制された子ジョブの最大数の範囲で各子ジョブ内の評価の数をできるだけ少なくしようとする:

Method"EvaluationsPerJob"n という設定は,厳密に n 個の評価を各子ジョブに入れ,余は1つの追加ジョブに入れようとする:

Method"JobCount"n という設定は,厳密に n 個の子ジョブに評価を分散しようとする:

考えられる問題  (1)

デフォルトのオンデマンドライセンス設定を使うと,サービスクレジットの口座残高が配列子ジョブと配列子ジョブプロセッサおよびTimeConstraintの数に基づいてライセンス資格の作成に不十分な場合はRemoteBatchMapSubmitがジョブの送信を拒む:

デフォルトで,RemoteBatchMapSubmitは子ジョブが同時実行されるとの仮定の下にライセンス資格を要求する.子ジョブが同時実行されない場合は,LicensingSettingsオプションを使って並列カーネルの上限数資格を下げることができる:

子ジョブ,子ジョブあたりのプロセッサコアの数および/または子ジョブのTimeConstraintの数を減らすこともできる:

"CheckCreditsBalance"Falseの資格設定をLicensingSettingsオプションに与えることで残高チェックを無効にすることもできる:

Wolfram Research (2020), RemoteBatchMapSubmit, Wolfram言語関数, https://reference.wolfram.com/language/ref/RemoteBatchMapSubmit.html.

テキスト

Wolfram Research (2020), RemoteBatchMapSubmit, Wolfram言語関数, https://reference.wolfram.com/language/ref/RemoteBatchMapSubmit.html.

CMS

Wolfram Language. 2020. "RemoteBatchMapSubmit." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/RemoteBatchMapSubmit.html.

APA

Wolfram Language. (2020). RemoteBatchMapSubmit. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RemoteBatchMapSubmit.html

BibTeX

@misc{reference.wolfram_2024_remotebatchmapsubmit, author="Wolfram Research", title="{RemoteBatchMapSubmit}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/RemoteBatchMapSubmit.html}", note=[Accessed: 17-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_remotebatchmapsubmit, organization={Wolfram Research}, title={RemoteBatchMapSubmit}, year={2020}, url={https://reference.wolfram.com/language/ref/RemoteBatchMapSubmit.html}, note=[Accessed: 17-November-2024 ]}