ValueStore
説明
ValueStore
は、特定のジョブによって所有されるデータを格納するオブジェクトです。オブジェクトの各エントリは、値とそれに対応するキーで構成されます。所有するジョブが削除されると、ValueStore
オブジェクトも削除されます。ValueStore
を使用して、ジョブの実行中に MATLAB® クライアントによって取得できる、MATLAB ワーカーからのデータを格納します (ジョブがまだ実行中であっても)。
すべての MATLAB プロセス クライアントまたはワーカーは、いつでも
ValueStore
にエントリを書き込むことができます。すべての MATLAB プロセス クライアントまたはワーカーは、その後、このエントリをいつでもValueStore
から読み取ることができます。しかし、異なるプロセスによって実行される操作の順序は保証されません。ValueStore
はシステム メモリ内に保持されないため、大きな結果の保存に使用できます。
作成
以下を作成すると、ValueStore
オブジェクトが自動的に作成されます。
parallel.Job
オブジェクトである、クラスター上のジョブ。ジョブを作成するには、関数batch
、createJob
、またはcreateCommunicatingJob
を使用します。ProcessPool
オブジェクトである、ローカル マシン上のプロセス ワーカーの並列プール。プロセス プールを作成するには、関数parpool
を使用します。ThreadPool
オブジェクトである、ローカル マシン上のスレッド ワーカーの並列プール。スレッド プールを作成するには、関数parpool
を使用します。 (R2023b 以降)ClusterPool
オブジェクトである、マシンのクラスター上にあるワーカーの並列プール。クラスター プールを作成するには、関数parpool
を使用します。
関数 getCurrentValueStore
を使用して、ワーカー上の ValueStore
オブジェクトにアクセスできます。次に、ジョブまたは並列プールに関連付けられている ValueStore
プロパティを使用して、クライアント上の ValueStore
オブジェクトを取得できます。たとえば、バッチ ジョブの実行とワーカーからのデータの取得を参照してください。
プロパティ
オブジェクト関数
例
制限
'HasSharedFileSystem'
がfalse
に設定されているparallel.cluster.Generic
クラスターを使用する場合、ジョブの実行中にValueStore
に対し加えられた変更の表示/非表示は、特定の実装によって異なります。MATLAB クライアントとワーカーJobStorageLocation
間での追加の同期がない場合、変更が表示されるのはジョブが完了してからになる可能性があります。