Bug 569213 - improve the granularity of parallel semantic checking to module internal parts
Summary: improve the granularity of parallel semantic checking to module internal parts
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: titan.plugins (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 10
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-26 08:28 EST by Kristof Szabados CLA
Modified: 2021-04-23 11:10 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kristof Szabados CLA 2020-11-26 08:28:21 EST
We have enabled parallel semantic analysis in the Titan plugins recently.
Which greatly improves semantic checking and code quality checking times on modern (multi-core, multi-thread) processors.
The main reason behind this is simply the fact that in sequential execution the time of the complete duration of the analysis is the sum of the duration of analyzing single modules, while in parallel mode the number could be much smaller (in case there would be no dependencies between the modules it would be the maximum).

The logical step in this direction is to reduce the granularity of elements that are processed in parallel, to take more efficient care of the available processing power.
The idea here is that currently the limiting factor is the large imbalance in the module sizes that can appear in some project.
It could happen, that the project contains a large type description module with several hundred thousand lines of TTCN-3 code + several small TTCN-3 modules which only contain a few tests.
In such case the large module will have a dominating effect on the processing time, thanks to the over time being closely related to the max of the individual processing times (in case of dependencies there is still addition).

By improving the granularity and being able to analyze in parallel part of modules, this limitation would also be lifted.
In this case the large module itself could be processed in parallel on all available hardware cores/threads at the same time.

Bringing the overall utilization of the hardware closer to maximum, and processing time as low as possible.
Comment 1 Denis Roy CLA 2021-04-23 11:10:18 EDT
This bug was migrated to GitLab: https://gitlab.eclipse.org/eclipse/titan/titan.EclipsePlug-ins/-/issues