Archived issue #0022146
Foundation Classes - Integration of OCC in-house parallelization tool
Description
Integration of MP (Multy Process) data and process into OSD. Detailed
documentation is given in hxx
documentation is given in hxx
Public activity
7 archived notes
Participants are labeled by their role within this record.
It seems there is still a demand for hawing own paralleling tool, to be used if TBB is not wanted
Attachment 2 (ZIP) contains most up-to-date version of in-house tool
Please review the initial integration of parallelization wrapping. Brunch CR24826.
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.
- 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.
The tool is implemented in #0024826 (class OSD_Parallel), but remarks above seems to be still relevant.
Do we still need this bug opened?
Related records