MantisBT - Open CASCADE
View Issue Details
0022146Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2010-12-14 13:482018-07-07 02:34
pdn 
abv 
normalfeature 
assignedopen 
All
 
[OCCT] 7.4.0* 
0022146: Integration of OCC in-house parallelization tool
Integration of MP (Multy Process) data and process into OSD. Detailed
documentation is given in hxx
No tags attached.
related to 0026365assigned kgv Open CASCADE Optimization of work of OSD_Parallel class members for GeomLib_CheckCurveOnSurface 
related to 0029935verified bugmaster Open CASCADE Foundation Classes - introduce OSD_ThreadPool class defining a thread pool 
related to 0024826closed bugmaster Community Wrapping of parallelisation algorithms 
zip OCC22146_v1_pdn.zip (10,453) 2010-12-14 11:49
https://tracker.dev.opencascade.org/
zip OSD_MProcess_new.zip (9,592) 2014-08-05 12:26
https://tracker.dev.opencascade.org/
Issue History
2010-12-14 13:49pdnCC => msv, agv, abv
2010-12-14 14:33bugmasterStatusnew => closed
2010-12-14 14:33bugmasterResolution@0@ => unable to reproduce
2011-08-02 11:31bugmasterCategoryOCCT:MOA => OCCT:Modeling Algorithms
2014-08-05 12:25abvNote Added: 0030571
2014-08-05 12:25abvAssigned Tobugmaster => azn
2014-08-05 12:25abvStatusclosed => assigned
2014-08-05 12:26abvFile Added: OSD_MProcess_new.zip
2014-08-05 12:26abvFixed in VersionEMPTY =>
2014-08-05 12:26abvTarget Version => 6.8.0
2014-08-05 12:26abvDescription Updatedbug_revision_view_page.php?rev_id=7794#r7794
2014-08-05 12:27abvNote Added: 0030572
2014-08-05 12:27abvRelationship addedrelated to 0025115
2014-08-05 12:28abvRelationship addedrelated to 0024826
2014-08-05 19:29abvSeveritytrivial => feature
2014-08-05 19:29abvResolutionunable to reproduce => open
2014-08-19 10:51aznAssigned Toazn => abv
2014-08-19 10:51aznNote Added: 0030870
2014-08-21 12:43abvAssigned Toabv => azn
2014-08-21 12:54abvNote Added: 0030992
2014-10-29 13:46abvTarget Version6.8.0 => 7.1.0
2016-01-08 01:27abvAssigned Toazn => abv
2016-10-28 16:28msvTarget Version7.1.0 => 7.2.0
2016-11-01 06:25abvNote Added: 0059665
2017-07-20 12:37kgvRelationship addedrelated to 0026365
2017-07-21 10:35msvTarget Version7.2.0 => 7.3.0
2017-12-05 17:09msvTarget Version7.3.0 => 7.4.0*
2018-07-07 02:34kgvRelationship addedrelated to 0029935

Notes
(0030571)
abv   
2014-08-05 12:25   
It seems there is still a demand for hawing own paralleling tool, to be used if TBB is not wanted
(0030572)
abv   
2014-08-05 12:27   
OSD_MProcess_new.zip contains most up-to-date version of in-house tool
(0030870)
azn   
2014-08-19 10:51   
Please review the initial integration of parallelization wrapping. Brunch CR24826.
(0030992)
abv   
2014-08-21 12:54   
As we discussed, apart of a number of syntax / coding remarks, there are a few major issues with proposed implementation:

- it allocates (dynamically) an object for each element of the sequence of objects to be processed, this might be too expensive

- there seem to be no actual difference between ForEach and For, perhaps single For will be sufficient

- it is not clear how this will work if some cycle executed in parallel starts another (nested) parallel cycle. Current implementation will obviously start new N threads each time, this can be not optimal. Perhaps we should have N threads permanently allocated (as TBB likely does) and organize their work so as to avoid contention in case of nested calls.
(0059665)
abv   
2016-11-01 06:25   
The tool is implemented in 0024826 (class OSD_Parallel), but remarks above seems to be still relevant.