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