<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Binary Grey Wolf Optimizer for Mapping Real Time Applications on MPSOCs Architecture⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Farid Boumaza</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Djaafar Zouache</string-name>
          <email>djaafarzouache@yahoo.fr</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mouhoub Belazzoug</string-name>
          <email>belazoug.mouhoub@gmail.com</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Atmane Hadji</string-name>
          <email>a.hadji@centre-univ-mila.dz</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Abdelkader Aroui</string-name>
          <email>aroui_kader@yahoo.fr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>(LAPECI) Laboratory of Parallel, Embedded architectures and Intensive Computing, University of Oran1</institution>
          ,
          <addr-line>Oran 31000</addr-line>
          ,
          <country country="DZ">Algeria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Center for Space Techniques</institution>
          ,
          <addr-line>Palestine Avenue, 31200 Arzew, Oran</addr-line>
          ,
          <country country="DZ">Algeria</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Computer Science Department, University of Mohamed El Bachir El Ibrahimi</institution>
          ,
          <addr-line>Bordj Bou Arreridj 34030</addr-line>
          ,
          <country country="DZ">Algeria</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>LISI Laboratory, Computer Science Department, University Center A. Boussouf Mila</institution>
          ,
          <addr-line>43000 Mila</addr-line>
          ,
          <country country="DZ">Algeria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>With the growing complexity of real-time applications, Multi-Processor Systems-on-Chip (MPSoCs) have become a vital solution for meeting stringent performance, power, and scalability requirements. Eficient task mapping plays a crucial role in optimizing the performance of such systems, particularly for real-time applications that demand strict timing constraints. Traditional mapping techniques, including static and dynamic strategies, struggle with balancing execution time, energy eficiency, and communication overhead in heterogeneous MPSoC architectures. In this paper, we propose a novel approach for optimizing task mapping in MPSoCs, based on the Grey Wolf Optimizer (GWO), a bio-inspired metaheuristic renowned for its efectiveness in solving complex optimization problems. This methodology aims to minimize task execution times and communication delays by intelligently mapping real-time tasks onto heterogeneous processing elements (PEs), while also adhering to real-time constraints and reducing energy consumption. The results confirm that the improved GWO algorithm is a powerful tool for addressing the challenges of real-time task mapping in MPSoCs, providing a robust and scalable solution for future embedded systems.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Multi-Processor Systems-on-Chip</kwd>
        <kwd>Grey Wolf Optimizer</kwd>
        <kwd>Mapping</kwd>
        <kwd>Energy Optimization</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Embedded systems [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ] are specialized electronic systems designed for specific applications,
typically operating without conventional input/output interfaces like keyboards or screens. They often
incorporate one or more systems-on-chip (SoCs), which are inherently heterogeneous and complex,
comprising various processors such as FPGAs, DSPs, and general-purpose processors (GPs), each
supporting dedicated or reconfigurable functions.
      </p>
      <p>
        Embedded applications are frequently complex and often hierarchical, as seen in applications like
MPEG [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], H.263, and H.264 encoders [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. These applications consist of components requiring diverse
processing approaches, generally divided into two main types: irregular processing, which involves
task-level parallelism, and regular processing, which focuses on data-level parallelism. The latter often
represents high-performance computing (HPC) functions commonly found in embedded real-time
applications.
      </p>
      <p>
        Given the specific demands of hierarchical applications, a single mapping strategy is often insuficient
to address both processing types optimally. Instead, an efective approach requires separate handling of
regular and irregular processing components [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ]. This leads us to propose a new strategy involving
hierarchical mapping, where a global strategy is applied to irregular (parallel processing) tasks.
      </p>
      <p>Our approach uses the Binary Multi-objective Grey Wolf Optimizer (BMOGWO) to optimize the
mapping on the MPSoC architecture, these techniques enable eficient task mapping that addresses
both real-time constraints and energy optimization in complex embedded applications.</p>
      <p>The rest of the paper is organized as follows: Section 2 discusses the definitions and the necessary
mathematical formulations for problem mapping onto the MPSoCs architecture. In Section 3, the
proposed mapping strategies are presented. Experimental results are provided in Section 4, and the
paper concludes with Section 5.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Definition and formulation</title>
      <p>Communications between the tasks of our application and the components of our target architecture is
represented by two directed graphs.</p>
      <sec id="sec-2-1">
        <title>Definition 1</title>
        <p>The application graph, also known as the Task Graph (TG), is a directed graph (, ), where each
vertex  ∈  represents a module or task within the application. Each directed edge (,  ), denoted as
 ∈ , signifies a communication link between tasks  and  . The weight of the edge  , represented
by  , indicates the volume of data transferred between  and  , reflecting communication demand
and aiding in optimizing resource allocation (see Fig. 1).</p>
      </sec>
      <sec id="sec-2-2">
        <title>Definition 2</title>
        <p>The architecture graph, denoted as  (Architecture Graph), is a directed graph  (,  ) where each
vertex  ∈  represents a node within the topology. The directed edge (,  ), denoted as  ∈  ,
signifies a physical link that directly connects two elements,  and  , within the architecture. The
weight of the edge  , represented by  , encapsulates critical characteristics of the physical link,
including bandwidth, latency, and energy consumption. This comprehensive representation allows for
efective analysis and optimization of communication pathways in Multi-Procesur-on-Chip (MPSoC)
architectures (see Fig. 2).</p>
      </sec>
      <sec id="sec-2-3">
        <title>Definition 3</title>
        <p>The mapping of the application graph (, ) onto the architecture graph  (,  ) is defined by the
mapping function:
map :  →  such that
map() =  ∀  ∈  , ∃  ∈ .
(1)</p>
        <p>
          This mapping is valid under the condition that the number of tasks | | is greater than or equal to the
number of processing elements || (see Fig. 3) [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>
          The mapping process is crucial in optimizing resource allocation within MPSoCs, as it determines
how application tasks are distributed across the available processing elements. An efective mapping
strategy not only facilitates parallel execution of tasks but also minimizes communication overhead,
ensuring that system performance and energy eficiency are maximized [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. This approach is especially
important in heterogeneous architectures, where diverse processing capabilities must be leveraged to
meet the demands of complex applications.
        </p>
        <p>Our application is defined as a set of tasks  = {1, 2, . . . , }, while the target architecture is
represented as a set of processors  = {1, 2, . . . , }. It is important to note that each processor can
operate in multiple modes, denoted as 1, 2, 3. This capability of processors to function in various
modes introduces greater diversity in optimization strategies for task placement.</p>
        <p>
          By enabling processors to adapt their operational modes based on the specific requirements of
tasks, we can achieve more eficient resource utilization and improved performance. This multi-mode
functionality allows for fine-tuning of processing capabilities, enabling better handling of both regular
and irregular task types. As a result, it facilitates enhanced flexibility in mapping strategies, leading to
optimized execution times and reduced energy consumption within the multiprocessor system-on-chip
(MPSoC) framework [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
2.1. Execution Time and Communication Duration
        </p>
        <sec id="sec-2-3-1">
          <title>The execution time of a task is defined as follows:</title>
          <p>=</p>
          <p>Taille()</p>
          <p>where: -  is the execution time of task  on processor . - Taille() denotes the size of task  for
processor . -  is the frequency of processor  operating in mode .</p>
          <p>The overall execution time for the application is given by:</p>
          <p>= max() for  = 1, . . . , number of tasks
where  is the maximum execution time among all tasks , taking into account their dependencies.</p>
          <p>The duration of communication  between tasks  and  is calculated as:
 =</p>
          <p>Min  |,|
×</p>
          <p>∑︁ latency(, )

where: -  is the communication duration between tasks  and . -  represents the data
volume that needs to be communicated between tasks  and . - Min  |,| denotes the minimum
bandwidth of the path connecting processors  and . - The summation ∑︀ latency(, ) accounts
for the cumulative latency across the communication path.</p>
          <p>This approach ensures that both execution and communication times are adequately considered for
optimizing task mapping in MPSoCs, thereby improving overall system performance and eficiency.
2.2. Energy Consumption
The energy consumption  in a multiprocessor system-on-chip (MPSoC) can be categorized into
execution energy and communication energy.
2.2.1. Execution Energy
The energy consumed during the execution of a task  on processor  in mode  is defined as:
exec = Size × 
where:
- exec is the execution energy of task .
- Size represents the number of cycles required for task  to execute on processor  in mode .
-  denotes the energy consumption per cycle for processor  in mode .
(2)
(3)
(4)
(5)
2.2.2. Communication Energy
The energy consumed due to communication between tasks  and  assigned to processors  and  is
given by:</p>
          <p>com = ∑︁  × ,</p>
          <p>=1
where:
- com is the communication energy between tasks  and .
-  represents the volume of data exchanged between tasks  and .
- , is the energy cost associated with the communication link between processors  and .
2.2.3. Total Energy Consumption
The total energy consumption for executing all tasks and their communications within the system can
be expressed as:</p>
          <p>task
total = ∑︁ (exec + com)</p>
          <p>=1
where:
- total is the overall energy consumption for all tasks in the application.
- The summation encompasses both the execution energy and communication energy across all tasks.
2.3. Task Placement Indicator
An auxiliary variable  is used to indicate the placement of tasks on processors, defined as follows:
 =
{︃1 if task  is placed on processor  and operates in mode</p>
          <p>0 otherwise</p>
          <p>This formulation allows for a comprehensive analysis of energy consumption during task execution
and inter-task communication, facilitating the optimization of task mapping strategies in MPSoCs. By
minimizing both execution and communication energy, the overall eficiency and sustainability of the
system can be significantly enhanced.
(6)
(7)
(8)</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Proposed Resolution Method</title>
      <p>The comprehensive problem we aim to address is the Assignment, and Scheduling (AS) problem. This
encompasses the assignment and scheduling of application tasks and their associated communications
onto the resources of a target architecture, with the objective of achieving specified performance metrics.</p>
      <p>
        In our approach, we consider multiple objectives, including minimizing energy consumption and
maximizing performance eficiency. These goals are crucial for the operation of mobile embedded
systems, as they directly influence battery life [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Reducing energy consumption is essential to prolong
battery longevity, while maximizing execution speed necessitates minimizing task completion times.
However, these objectives often conflict; for example, operating components in energy-saving modes
can lead to increased execution times.
      </p>
      <p>To navigate these conflicting objectives, we adopt a multi-objective optimization strategy that seeks
to find an efective compromise among the various goals. Specifically, we propose an approach utilizing
the Multi-Objective Grey Wolf Optimizer (MOGWO) technique. This method is improved to eficiently
tackle the AS problem by balancing energy eficiency with performance requirements, ultimately
enhancing the overall efectiveness of task mapping in MPSoCs.</p>
      <p>
        By integrating these advanced optimization techniques, our approach aims to provide a robust
solution that aligns with the dynamic demands of mobile embedded systems while addressing the
critical constraints of energy consumption and execution time.
3.1. Grey Wolf Optimizer (GWO)
The Grey Wolf Optimizer (GWO), introduced by [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. in 2014, is a metaheuristic algorithm inspired by
the natural hierarchy and hunting behavior of grey wolves. In GWO, wolves are categorized into four
social ranks that determine their roles in the optimization process:
• Alpha ( ) Wolf: Holds the best solution based on the objective function.
• Beta ( ) Wolf: Holds the second-best solution.
• Delta ( ) Wolf: Holds the third-best solution.
• Omega () Wolves: All remaining solutions in the population, which follow the guidance of the
top three wolves.
      </p>
      <p>In the hunting process, the alpha, beta, and delta wolves primarily guide the search, while the omega
wolves follow, refining their positions based on these leaders.
3.1.1. Stages of GWO
Grey wolves use three organized hunting stages in GWO: encircling, hunting, and attacking. The
encircling behavior is mathematically represented by the following equations:</p>
      <p>⃗ = ⃒⃒⃒ ⃗ · ⃗() − ⃗()⃒⃒⃒
⃗( + 1) = ⃗() − ⃗ · ⃗
⃗ = 2 · ⃗ · ⃗1 − ⃗</p>
      <p>⃗ = 2 · ⃗2</p>
      <p>Here,  is the iteration counter, ⃗ represents the position of a wolf, ⃗ denotes the position of the
prey, and ⃗ and ⃗ are coeficient vectors. The vectors ⃗ and ⃗ are defined as:</p>
      <p>
        where ⃗1 and ⃗2 are random vectors within [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ], and the values of ⃗ decrease linearly from 2 to 0 as
iterations progress.
3.1.2. Hunting Mechanism
In GWO, the best solutions ( ,  , and  ) direct the search towards the optimal solution. The distance
between each wolf and these leaders is computed as:
 = ⃒⃒⃒ ⃗2 ·  − ⃒⃒⃗
⃗ ⃗ ⃒
 = ⃒⃒⃒ ⃗3 ·  − ⃒⃒⃗
⃗ ⃗ ⃒
The wolves’ updated positions are calculated as:
 = ⃒⃒⃒ ⃗1 ·  − ⃒⃒⃗
⃗ ⃗ ⃒
1 = ⃗ − 1 · 
⃗ ⃗
2 = ⃗ − 2 · 
⃗ ⃗
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
      </p>
      <p>
        The next position of a wolf is derived by averaging the three leaders’ positions:
3 = ⃗ − 3 · 
⃗ ⃗
⃗( + 1) =
1 + ⃗2 + ⃗3
⃗
3
(18)
(19)
3.1.3. Attacking Mechanism
The vector ⃗ controls the balance between exploration and exploitation, with its elements set within
the range [− , ] and gradually reducing from 2 to 0. This is formulated as:
2
⃗ = 2 −  · maxIter (20)
where maxIter is the maximum number of iterations, and  is the current iteration. As the algorithm
progresses, GWO transitions from exploration to exploitation, allowing wolves to converge towards the
prey, representing the optimal solution.
3.2. GWO for Mullti-Objective Problems (MOGWO)
Despite the initial design of the Grey Wolf Optimizer (GWO) for single-objective problems, The authors
in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] (2016) extended the algorithm to address multi-objective optimization, introducing the
MultiObjective Grey Wolf Optimizer (MOGWO) as the first adaptation of GWO for multi-objective tasks.
MOGWO integrates two crucial mechanisms for handling multiple objectives:
• An archive, or storage, maintains a set of non-dominated solutions during the optimization
process, preserving diversity and facilitating Pareto front convergence.
• A leader selection strategy selects the first (  ), second ( ), and third ( ) leader solutions from
the archive to guide the search.
      </p>
      <p>
        The archive includes a control mechanism that determines whether new solutions should be added,
which ensures it only holds relevant non-dominated solutions. At each iteration, newly obtained
non-dominated solutions are compared with those already stored, updating the archive to reflect the
best trade-ofs achieved so far, as illustrated in Figure 4. In the multi-objective domain, comparing
solutions is complex due to the Pareto front concept, where solutions are not directly comparable by a
single measure [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. To address this, MOGWO extends the GWO’s hierarchy of the best three wolves
(alpha, beta, and delta) by selecting leaders from the least crowded regions of the objective space. This
selection mechanism directs the rest of the wolves towards promising regions, improving exploration
 =
      </p>
      <p>Where  is the number of non-dominated solutions in the -th segment, and  is a constant greater
than 1. This approach ensures a bias toward selecting solutions from less crowded regions, fostering
diversity and enhancing the search efectiveness across the Pareto front.
3.3. Binary Grey Wolf Optimizer for Multi-Objective Problems (BMOGWO)
The MOGWO was initially developed for continuous optimization tasks and thus cannot directly address
the mapping challenges on MPSoCs architectures. To adapt MOGWO for such discrete multi-objective
mapping tasks, a binary version was developed by introducing a sigmoid-based activation function to
transform continuous position vectors into binary values.</p>
      <p>
        In the original MOGWO, candidate solutions move continuously within the real-valued search space.
However, to facilitate binary movement, the continuous position update equation must be adapted.
This modified position update equation for binary space is defined as:
across the Pareto front and guiding convergence toward global optimality [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Figure 5 demonstrates
how MOGWO prioritizes solutions from sparsely populated regions to ensure a well-distributed front.
      </p>
      <p>MOGWO employs a roulette-wheel selection approach based on probabilities assigned to each
segment or hypercube of the objective space:
+1 =
{︃1 if sigmoid (︀ 1+2+3 )︀ ≥ rand</p>
      <p>
        3
0 otherwise
sigmoid() =
Here, +1 represents the binary position in dimension  at iteration , while rand is a uniformly

distributed random value between [
        <xref ref-type="bibr" rid="ref1">0,1</xref>
        ], and the sigmoid function is defined as:
      </p>
      <p>
        The intermediate variables 1, 2, and 3, originally defined in equations (16), (17), and (18), are
transformed to binary space as follows:
(21)
(22)
(23)
Here, rand is a random number drawn from a uniform distribution [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ], and 
represents
the continuous step size for dimension , which is computed using a sigmoid transformation as follows:

,,


,,
=
      </p>
      <p>1
1 + − 10(1
,, − 0.5)
3.4. Description of Our Approach
In our design flow, the placement and scheduling phase is crucial as it directly influences the application’s
implementation on a specialized architecture. This phase takes the following inputs:
• Application model: A detailed representation of the application, outlining its structure and
dependencies.
• Target architecture model: A model of the hardware architecture, defining the available
resources and their interconnections.
• Performance and energy constraints: Specific requirements that the implementation must
meet, including limits on execution time and energy consumption.</p>
      <p>• Objective functions: Metrics to be optimized, such as minimizing latency, energy usage.</p>
      <p>The output of this phase is a mapped assignment of tasks and communications to physical resources,
with an optimized scheduling of tasks across these resources to meet the specified performance and
energy constraints. The figure 7 present the global description of our approach.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Experimentation and Results</title>
      <p>Our approach was implemented using the JAVA programming language, and all experiments were
conducted on a system with an Intel(R) Core(TM) i5-7300HQ CPU running Windows 10. Following
the execution of our binary MOGWO-based mapping solution, configured with the properties and
parameters detailed in Table 1, we obtained the following results:
4.1. Comparison of BMOWGO, MOPSO, and NSGA-II
In validating our proposed solution for mapping applications on MPSoCs, we implemented the Binary
Multi-Objective Grey Wolf Optimizer (BMOGWO) and compared it with two other widely used
multiobjective optimization techniques: Multi-Objective Particle Swarm Optimization (MOPSO) and
Nondominated Sorting Genetic Algorithm II (NSGA-II). We conducted the comparison on a set of examples of
average size, evaluating execution time and energy consumption across varying numbers of processors
and task quantities.</p>
      <p>The table 2 summarizes the performance of the three methods, highlighting BMOGWO’s
efectiveness in optimizing both execution time and energy consumption. The study ofers insight into each
algorithm’s performance under diferent MPSoC configurations, demonstrating the adaptability and
eficiency of BMOGWO for discrete mapping challenges in MPSoC environments.</p>
      <p>The results illustrate that BMOGWO consistently delivers lower execution times and energy
consumption compared to MOPSO and NSGA-II, particularly in configurations with higher task loads and
processor counts. This demonstrates BMOGWO’s potential as a highly efective solution for application
mapping in MPSoC environments, particularly where discrete and energy-eficient mapping is critical.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>In this paper, we introduced a novel approach leveraging the multi-objective variant of the Grey Wolf
Optimizer (GWO) to tackle the challenging problem of mapping hierarchical real-time applications onto
a hierarchical MPSoC architecture. Our approach was further refined by adapting GWO with a binary
encoding scheme, enabling efective optimization of both execution time and energy consumption—critical
factors in real-time embedded systems.</p>
      <p>The results obtained from our experimental analysis were benchmarked against two well-established
metaheuristic algorithms, demonstrating that our proposed solution consistently surpassed these
alternatives in both execution time and energy eficiency. These promising findings underscore the
eficacy of our approach for optimizing task mapping in MPSoC environments.</p>
      <p>With additional experiments and simulations, we are confident that our method will continue to prove
efective in addressing similar multi-objective optimization challenges within real-time and embedded
systems, contributing valuable insights to this field.</p>
      <sec id="sec-5-1">
        <title>The authors have not employed any Generative AI tools.</title>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>T.</given-names>
            <surname>Noergaard</surname>
          </string-name>
          ,
          <article-title>Embedded systems architecture: a comprehensive guide for engineers and programmers</article-title>
          , Newnes,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R.</given-names>
            <surname>Zurawski</surname>
          </string-name>
          , Embedded Systems Handbook:
          <article-title>Embedded systems design and verification</article-title>
          , CRC press,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Noll</surname>
          </string-name>
          ,
          <article-title>Mpeg digital audio coding</article-title>
          ,
          <source>IEEE signal processing magazine</source>
          <volume>14</volume>
          (
          <year>1997</year>
          )
          <fpage>59</fpage>
          -
          <lpage>81</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bialkowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Barkowsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kaup</surname>
          </string-name>
          ,
          <article-title>Overview of low-complexity video transcoding from h</article-title>
          . 263 to h.
          <volume>264</volume>
          , in: 2006
          <source>IEEE International Conference on Multimedia and Expo</source>
          , IEEE,
          <year>2006</year>
          , pp.
          <fpage>49</fpage>
          -
          <lpage>52</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>F.</given-names>
            <surname>Boumaaza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. E. H.</given-names>
            <surname>Benyamina</surname>
          </string-name>
          ,
          <article-title>Mapping multi objectifs d 'application intensive sur architecture mpsoc (</article-title>
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A. E. H.</given-names>
            <surname>Benyamina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Boulet</surname>
          </string-name>
          <article-title>, Multi-objective mapping for noc architectures</article-title>
          .,
          <source>J. Digit. Inf. Manag</source>
          .
          <volume>5</volume>
          (
          <year>2007</year>
          )
          <fpage>378</fpage>
          -
          <lpage>384</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>K.</given-names>
            <surname>Laredj</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Belarbi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. E.</given-names>
            <surname>Benyamina</surname>
          </string-name>
          ,
          <article-title>Metrics for real-time solutions design</article-title>
          ,
          <source>in: Intelligent Computing: Proceedings of the 2018 Computing Conference</source>
          , Volume
          <volume>2</volume>
          , Springer,
          <year>2019</year>
          , pp.
          <fpage>411</fpage>
          -
          <lpage>425</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Aroui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Boulet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Benhaoua</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. K.</given-names>
            <surname>Singh</surname>
          </string-name>
          , et al.,
          <article-title>Novel metric for load balance and congestion reducing in network on-chip,</article-title>
          <source>Scalable Computing: Practice and Experience</source>
          <volume>21</volume>
          (
          <year>2020</year>
          )
          <fpage>309</fpage>
          -
          <lpage>321</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>W.</given-names>
            <surname>Wolf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. A.</given-names>
            <surname>Jerraya</surname>
          </string-name>
          , G. Martin,
          <article-title>Multiprocessor system-on-chip (mpsoc) technology, IEEE transactions on computer-aided design of integrated circuits and systems 27 (</article-title>
          <year>2008</year>
          )
          <fpage>1701</fpage>
          -
          <lpage>1713</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Mehran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Saeidi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Khademzadeh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Afzali-Kusha</surname>
          </string-name>
          ,
          <article-title>Spiral: A heuristic mapping algorithm for network on chip</article-title>
          ,
          <source>IEICE Electronics Express</source>
          <volume>4</volume>
          (
          <year>2007</year>
          )
          <fpage>478</fpage>
          -
          <lpage>484</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S.</given-names>
            <surname>Mirjalili</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Mirjalili</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lewis</surname>
          </string-name>
          , Grey wolf optimizer,
          <source>Advances in engineering software 69</source>
          (
          <year>2014</year>
          )
          <fpage>46</fpage>
          -
          <lpage>61</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S.</given-names>
            <surname>Mirjalili</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Saremi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Mirjalili</surname>
          </string-name>
          , L. d. S.
          <article-title>Coelho, Multi-objective grey wolf optimizer: a novel algorithm for multi-criterion optimization</article-title>
          ,
          <source>Expert systems with applications 47</source>
          (
          <year>2016</year>
          )
          <fpage>106</fpage>
          -
          <lpage>119</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>F.</given-names>
            <surname>Boumaza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. E. H.</given-names>
            <surname>Benyamina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zouache</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Abualigah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Alsayat</surname>
          </string-name>
          ,
          <article-title>An improved harris hawks optimization algorithm based on bi-goal evolution and multi-leader selection strategy for multi-objective optimization</article-title>
          .,
          <source>Ingénierie des Systèmes d'Information</source>
          <volume>28</volume>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Al-Tashi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Abdulkadir</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. M.</given-names>
            <surname>Rais</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mirjalili</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Alhussian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. G.</given-names>
            <surname>Ragab</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Alqushaibi</surname>
          </string-name>
          ,
          <article-title>Binary multi-objective grey wolf optimizer for feature selection in classification</article-title>
          ,
          <source>IEEE Access 8</source>
          (
          <year>2020</year>
          )
          <fpage>106247</fpage>
          -
          <lpage>106263</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>