Use the same parallel pool for multiple deployed applications
2 views (last 30 days)
Show older comments
I have compiled my code that is making use of the distributed computing toolbox and it is deployed on a server. Multiple requests are calling the executable at the same time. What i've noticed is that each time a request is calling the executable, a new parallel pool is created to be used within this executable. Is it possible to create a 'global' parallel pool that is shared among the processes to avoid the overhead of creating a new pool each time?
1 Comment
Walter Roberson
on 10 May 2023
Edited: Walter Roberson
on 11 May 2023
If it can be done at all, you would need the Production Server.
Answers (1)
Dheeraj
on 1 Dec 2023
Hi,
I understand that you are trying to create a global pool of workers to avoid overhead of creating multiple pool each time.
To achieve this, you can set up a persistent parallel pool that is shared among MATLAB sessions.
Here’s a general approach how you could do this:.
% Initialize parallel pool if not already created
poolobj = gcp('nocreate');
if isempty(poolobj)
parpool(); % You can customize pool settings as needed
end
“gcp” or get current pool checks the existence of current pool and utilizes them for the program.
This approach should help you share a parallel pool among multiple requests on your server, reducing the overhead of creating a new pool for each execution.
You could go through the below MATLAB’s documentation to get a better understanding of “gcp”.
Hope this helps!
1 Comment
Walter Roberson
on 1 Dec 2023
I do not understand how this would permit multiple sessions to share a pool? The different sessions do not have access to the memory of each other to be able to find the active pool information.
Creating persistent pools that stay active for performance reasons is a service of MATLAB Production Server, not of the Parallel Server Toolbox, as far as I understand.
See Also
Categories
Find more on Deployable Archive Creation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!