## 5 Iwoa-Iga--Enhanced WOA Algorithm Featuring Improved Genetic Mechanism
### Iwoa-Iga: Modified Iwo Algorithm Featuring IGA Characteristics
``` Input:\(enhancedInitMapping,taskGraph,itrWOA,itrIGA,a,C,l,A,p\) stopCriteria:\(itrTotal,OptimalCommCost\) // Find pop, v, fitness and gbestpop, gbestfitness initPopfitness_enhancedInitMapping,pop,ize,meshSize\(getinthest(fitness,pop)\) //\(X^{*}=BestSearchAgent\) while\(stopCriteria\)do for\(i\gets 1\to 1\) to \(itWOA\)do for\(searchAgenti-1\) to pop,ize do  Update parameters \(A,C,a,l,p\) \(\vec{A}=2\vec{a}\vec{r}-\vec{a},\vec{C}=2\vec{r}\) if\(p<0.5\)then if\(|A|<1\)then  Update current solution using Equation (24), finally updating \(pop[i]\) endif if\(|A|\geq 1\)then  Choose random mapping solution-Xrand  Update current mapping solution by the Equation (32), updating \(pop[i]\) endif end if if\(p\geq 0.5\)then  Update Current mapping solution by Equation (28), updating \(pop[i]\) endif for\(particlej\gets 1\) to \(pop\_size\)do \(calCommCost(meshSize,pop[j],hashGraph)\) endfor \(gbestfitness=min(pop[i])\) \(gbestpop=min(pop)\) endfor if\((gbestfitness==optimalCommCost)\)then \(finalmapping\gets gbestpop\) \(optimalCommCost\gets gbestfitness\) endif //Apply IGA to global best solution \(itrIGA\gets 0\) //Take Pop as initial population for IGA to Optimize //Find gbestpop, gbestfitness \(getinthest(fitness,pop)\) \(currentbest\gets gbestpop//X*=best_search



an initial mapping, which is iteratively improved for the population size and number of generations, eventually leading to an optimal mapping solution for a set of benchmarks. ## 6 Simulation Results

The simulation results of the IWOA and IWOA-IGA are examined in this part and compared with those of existing mapping methods. ### Simulation Setup and Scenario

Experiments were conducted on available real-time benchmarks and synthetic task graphs to assess the algorithms. All benchmarks for real-world applications are limited to small-scale tasks, often demanding fewer than 32 cores; consequently, custom benchmarks were produced using task graph tools to evaluate the performance of our method on more challenging issues. TGFF instances can have a problem scale anywhere from 16 to 196, with small-scale (core count < 35), medium-scale (36 < core count < 70), and extensive-scale (core count > 70) problems all taken into account. The TGFF tool takes the heterogeneous communication characteristics of the cores into account and builds task graphs at random depending on this behaviour. The set of real-world benchmark instances we used were video object plan decoder (VOPD), 263 decoder (263 DEC), MPEG-4 decoder, 263 encoder (263 ENC), Mp3 encoder (Mp3 ENC), and MWD. All real-time benchmark applications we examined used the standard network size of 4 \(\times\) 4. This network size is the same as in prior state-of-the-art architectures, allowing for a fair comparison. The VOPD application was divided into 16 subtasks, each of which could be allocated to a 4 \(\times\) 4 mesh. Larger mesh sizes were used for the synthetic task graphs. Details of the real-time benchmark applications are listed in Table 1.

Modifications were implemented in the NoCTweak simulator to conduct a comparative analysis of different application mapping techniques [38]. ENoCTweak was used by applying the algorithm on various real-time and synthetic task graphs. NoCTweak is a SystemC-based open-source NoC simulator that offers a variety of performance characteristics, including energy, latency, communication cost, and throughput. In order to apply the proposed algorithm on both the synthetic and real-time applications, it was run on a computer system equipped with an Intel Core i3 platform, 8 GB of RAM, and a clock frequency of 1.6 Ghz. The simulation environment used to execute the benchmark applications on a 2D NoC architecture is detailed in Table 2. The proposed application mapping approach was implemented in Python to provide the optimal task mapping for the NoC.