getCurrentValueStore - Get data storage of current job or pool - MATLAB (original) (raw)

Main Content

Get data storage of current job or pool

Since R2022a

Syntax

Description

[store](#mw%5Fdd282199-1cf2-49b2-9a3a-b172c63ec92d) = getCurrentValueStore gets theValueStore object of the current job or pool on a worker. Use thestore to send data from workers back to clients during the execution of a job. If getCurrentValueStore is executed in a MATLABĀ® session that is not a worker, you get an empty result.

example

Examples

collapse all

Run a simulation on workers and retrieve the data storage of the job on a client. The data storage is a ValueStore object with key-value entries.

The following simulation finds the singular values of random matrices and stores the results in the ValueStore object.

function workerSvdCode(models) % Get the ValueStore of the current job store = getCurrentValueStore; for i = 1:numel(models) % Store simulation results in the ValueStore object pause(1) key = strcat("result_",num2str(i)); store(key) = svd(rand(models(i))); store("progress") = i/numel(models); end end

The following callback function is executed when an entry is added to the ValueStore object.

function handleNewEntry(store,key) if strcmp(key,"progress") fprintf("Progress update: %.2f %%\n",store(key)*100); else fprintf("Result %s added\n",key); end end

Run a batch job on workers using the default cluster profile.

models = [8,16,32,20]; c = parcluster; job = batch(c,@workerSvdCode,0,{models});

Retrieve the ValueStore object on the client while the job is still running. Show the progress of the job.

store = job.ValueStore; store.KeyUpdatedFcn = @handleNewEntry; wait(job);

Result result_1 added Progress update: 25.00 % Result result_2 added Progress update: 50.00 % Result result_3 added Progress update: 75.00 % Result result_4 added Progress update: 100.00 %

Get the entry value as specified by the key "result_1" from the object.

val1 =

4.3318
1.2988
1.1040
0.8813
0.5711
0.3991
0.2092
0.1048

Output Arguments

collapse all

Data storage shared by MATLAB clients and workers, returned as a ValueStore object or an empty double.

Version History

Introduced in R2022a