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間での追加の同期がない場合、変更が表示されるのはジョブが完了してからになる可能性があります。