Use the same parallel pool for multiple deployed applications
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Walter Roberson
2023-5-10
编辑:Walter Roberson
2023-5-11
If it can be done at all, you would need the Production Server.
回答(1 个)
Dheeraj
2023-12-1
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 个评论
Walter Roberson
2023-12-1
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Deployable Archive Creation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!