Fig 1.
Steps of parallelization of nested loops.
Fig 2.
Repetition space and tiled repetition space for data dependency code.
Fig 3.
An example of how to calculate the critical path in the loop repetition space [8].
Fig 4.
Wavefront parallelization of nested loops using diagonal execution strategy [9].
Fig 5.
Structure of the two-part chromosome.
Table 1.
Summary of the related research studies.
Fig 6.
Nested loop dependencies and tiling strategies for optimized scheduling in IoT systems.
Fig 7.
Movement of each particle in the PSO.
Fig 8.
Processor-to-tile assignment matrix.
Fig 9.
Wavefront scheduling with different wave angles.
(A) Balanced task distribution, (B) steeper angles with task overlap, (C) shallow angles with a wider distribution.
Fig 10.
Bit flipping changes and Gene swapping as mutation operator in the suggested PSOALS.
Fig 11.
Main interface of the implemented software platform.
Table 2.
Configuration Parameters of the PSOALS.
Fig 12.
Convergence of the proposed algorithm for the problem with dimensions 4 × 4 (Vcomputation = 1, Vcommunication = 4).
Fig 13.
Stability of the proposed algorithm for the problem with dimension 5 × 5, (Vcomputation = 8, Vcommunication = 4) over 30 independent executions.
Table 3.
The standard deviation of the different methods.
Fig 14.
Box plot of the proposed algorithm compared with other methods for the problem with dimensions 5 × 5 (Vcomputation = 8, Vcommunication = 4).
Table 4.
Workload used to evaluate the PSOALS method.
Table 5.
Problem with dimensions 6 × 6 with 2 processors.
Table 6.
Problem with dimensions 4 × 6 with two processors.
Table 7.
Problem with dimensions 8 × 4 with 3 processors.
Table 8.
Problem with dimensions 10 × 6 with 3 processors.
Table 10.
Problem with dimensions 10 × 10 with three processors.
Table 11.
Problem with dimensions 9 × 4 with 3 processors.
Table 9.
Problem with dimensions 9 × 7 with 4 processors.
Fig 15.
Evaluation of the suggested loop parallelization method in different loop dimensions in terms of execution time.