Modified Binary Particle Swarm optimization algorithm application to

Microprocessors and Microsystems xxx (2013) xxx–xxx
Contents lists available at SciVerse ScienceDirect
Microprocessors and Microsystems
journal homepage: www.elsevier.com/locate/micpro
Modified Binary Particle Swarm optimization algorithm application
to real-time task assignment in heterogeneous multiprocessor
K. Prescilla a,⇑, A. Immanuel Selvakumar b
a
b
Department of Electronics and Communication Engineering, Karunya University, Karunya Nagar, Coimbatore 641 114, India
Department of Electrical and Electronics Engineering, Karunya University, Karunya Nagar, Coimbatore 641 114, India
a r t i c l e
i n f o
Article history:
Available online xxxx
Keywords:
Heterogeneous processors
Multiprocessors
Modified BPSO
Novel BPSO
Periodic tasks
Scheduling
Task assignment
Real-time Systems
a b s t r a c t
Task assignment in a heterogeneous multiprocessor is a NP-hard problem, so approximate methods are
used to solve the problem. In this paper the Modified Binary Particle Swarm Optimization (Modified
BPSO) algorithm and Novel Binary Particle Swarm (Novel BPSO) Optimization are applied to solve the
real-time task assignment in heterogeneous multiprocessor. The problem consists of a set of independent
periodic task, which has to be assigned to a heterogeneous multiprocessor without exceeding the utilization bound. The objective is to schedule maximum number of tasks with minimum energy consumption. The execution times and deadlines of the tasks are assumed to be known. Here Modified BPSO
performance is compared with Novel BPSO and Ant Colony Optimization algorithm (ACO). Experimental
results show that Modified BPSO performs better than Novel BPSO and ACO for consistent utilization
matrix and ACO performs better than Modified BPSO and Novel BPSO for inconsistent utilization matrix.
Ó 2013 Elsevier B.V. All rights reserved.
1. Introduction
Scheduling of task in a real-time system is important, because
many of them are implemented in critical application. Due to the
need to handle, different computationally intensive applications
that have diverse computational requirements by a real-time system, they incorporate heterogeneous multiprocessors. Multiprocessor in a real-time system consists of a number of tasks with
different deadlines. Therefore selection of an appropriate task
scheduling algorithm is central to the proper functioning of the
system. Static scheduling has the ability to consider complex
dependencies, communication delays, and resource contention
among jobs when constructing the static schedule. It also guarantees absence of deadlocks and unpredictable delays. Scheduling of
real-time tasks in multiprocessor systems can be solved by two
steps (i) Task allocation to processors and (ii) Scheduling tasks
on individual processors. Partitioning method is appropriate for
task allocation to multiprocessors, because it reduces the complex
multiprocessor scheduling into uniprocessor one. There are multiple objectives to be optimized for this problem.
A heterogeneous Multiprocessor has two or more processors
with different speed (or) memory space (or) special processing
capabilities. Task assignment in a heterogeneous multiprocessor
system is a multiobjective combinatorial optimization problem,
⇑ Corresponding author. Mobile: +91 9092412458.
E-mail addresses: [email protected] (K. Prescilla), immanuel.
[email protected] (A. Immanuel Selvakumar).
which is NP hard [1]. Since it is an NP-hard problem, it cannot be
solved within polynomial time, so approximate methods are used
to get near-optimal solutions within reasonable time. Approximate
algorithms are called heuristics [2]. In this paper, the heuristics selected to partition are Modified BPSO and Novel BPSO.
2. Problem statement
Let s, f, X represent a minimization problem of task assignment
for a heterogeneous multiprocessor system, where S represents the
set of candidate schedules, f is the objective function which assigns
an objective function value f(s) to each schedule s 2 S and X represents the constraint. The constraints are a task should be assigned
to only one processor and the total utilization of each processor
should not exceed unity. The goal is to find a globally optimal feasible solution s⁄, that is, a minimum energy feasible solution to the
minimization problem. The tasks are assigned by partitioning approach. In partitioned scheduling problem each task is assigned
to a specific processor and there is no inter-processor migration.
The off-line version of the task assignment problem is considered,
that is, determining each task’s processor assignment without
exceeding each processor’s computing capacity and violating task
deadlines. The computation times and deadlines of the given tasks
are known a prior and will not change over time. The tasks are
independent and thus there are no precedence constraints among
them. And there is no inter-task communication.
Let P = {P1, P2, . . . , Pm} denotes an arbitrary Heterogeneous Multiprocessor Platform with pre-emptive processors based on CMOS
0141-9331/$ - see front matter Ó 2013 Elsevier B.V. All rights reserved.
http://dx.doi.org/10.1016/j.micpro.2013.05.003
Please cite this article in press as: K. Prescilla, A. Immanuel Selvakumar, Modified Binary Particle Swarm optimization algorithm application to real-time
task assignment in heterogeneous multiprocessor, Microprocess. Microsyst. (2013), http://dx.doi.org/10.1016/j.micpro.2013.05.003
2
K. Prescilla, A. Immanuel Selvakumar / Microprocessors and Microsystems xxx (2013) xxx–xxx
technology. Each processor Pj is limited to operating only one
instruction per clock cycle, and runs at variable speed according
to the type of task it is performing. si,j denotes the clock frequency,
i.e., the speed, of Pj for a particular task Ti,ei,j denotes the execution
time for Ti on processor Pj. Hence, ei,j and si,j are correlated by: ei,j = ci/si,j, where ci is the number of clock cycles to execute Ti. The energy consumption of Ti on Pj per period, Ei,j, is given by:
Ei;j ¼ Power i;j ei;j C ef s3i;j
k
2
!
ei;j ¼
C ef
k
2
ci s2i;j
ð1Þ
where Cef and k are constants [3,4]. Therefore, the energy consumption incurred by executing Ti on Pj is almost linearly related to the
product of ci and s2i;j : Ei;j / ci s2i;j A Periodic Task Set T = {T1, T2, . . . , Tn} is comprised of n real-time tasks. A real-time task Ti is represented by the tuple (e, p) where is the estimated worst-case
execution time (WCET) and p is the period. Ti generates an infinite
sequence of task instances of execution time at most e time units
each, with instances being generated exactly p time units apart,
and each instance has a deadline p time units after its arrival. The
task assignment problem consists of two objectives. The first one
is called resource objective; that is, searching for a solution in which
each of the tasks is assigned to a specific processor in such a way
that the cumulative utilization of any processor does not exceed
the utilization bound of the EDF algorithm [5]. This objective represents a decision problem which is proven to be NP-hard in [6]. The
second one is called energy objective; that is, minimizing the cumulative energy consumption of all assigned tasks in a solution. The resource objective is given precedence over the energy objective.
3. Related work
Xu and Parnas [7] explained why pre-run-time scheduling is
essential if one wishes to guarantee that timing constraints will
be satisfied in a large complex hard-real-time system. Braun
et al. [8] gave a Comparison of Eleven Static Heuristics for Mapping
a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems. A collection of 11 heuristics from the literature has
been selected, adapted, implemented, and analyzed under one set
of common assumptions. The objective was to minimize the makespan. Aydin and Yang [9] addressed the problem of partitioning
periodic real-time tasks in a multiprocessor platform by considering both feasibility and energy-awareness perspectives. Baruah [1]
proves that the heterogeneous multiprocessor partitioning problem is intractable (NP-hard in the strong sense). The author proposed an efficient (i.e., polynomial-time) algorithm for solving
the Task assignment problem (TAP). His algorithm6 transforms a
TAP instance into an Integer Linear Programming (ILP) problem,
and then applies an approximation technique based on the idea
of LP relaxations to solve the ILP in polynomial time. This algorithm
is guaranteed to be able to find a feasible assignment solution to
the TAP instances that meet certain constraints. Khanesar et al.
[10] proposed Novel Binary Particle Swarm Optimization algorithm. It has a new interpretation for the velocity of binary PSO.
The main difficulty of older version of binary PSO which is choosing proper value for w is solved. The previous direction and previous state of each particle is also taken into account and helped
finding good solutions for problems. Lee et al. [11] proposed Modified Binary Particle Swarm Optimization which adopts concepts of
the genotype–phenotype representation and the mutation operator of genetic algorithms. Its main feature is that the BPSO can be
treated as a continuous PSO. Chen et al. [12] presented a new algorithm based on ant colony optimization (ACO) meta-heuristic for
solving the problem of determining whether a set of periodic tasks
can be assigned to a set of heterogeneous processors without deadline violations. A local search heuristic that can be used by various
meta-heuristics to improve the assignment solution is proposed
and its time and space complexity is analyzed.
4. Binary Particle Swarm Optimization algorithms
4.1. Binary Particle Swarm Optimization (BPSO)
Particle swarm optimization (PSO) was developed in 1995 by
James Kennedy and Russell Eberhart. The PSO is a population based
search algorithm based on the simulation of the social behavior of
birds, bees or a school of fishes. PSO applies the concept of social
interaction to problem solving. It uses a number of particles that
constitute a swarm moving around in the search space looking
for the best solution. Each particle is treated as a point in a N
dimensional space which adjusts its ‘‘flying’’ according to its own
flying experience as well as the flying experience of other particles.
Each particle has fitness value and velocity directing the flight. Particles follow two current best solutions pbest and gbest. Each particle keeps track of its coordinates in the solution space which are
associated with the best solution that has achieved so far by that
particle. This value is called personal best, Pibest. Another value
tracked by the PSO is the best value obtained so far by any particle
in the neighborhood of that particle. This value is called Pgbest. The
basic concept of PSO lies in accelerating each particle toward its
pbest and the gbest locations, with a random weighted acceleration at each time step. The PSO process then is iterated a fixed
number of times or until a minimum error based on desired performance index is achieved. In the binary PSO, the particle’s personal
best and global best is updated as in real-valued version. The major
difference between binary PSO with real-valued version is that
velocities of the particles are defined in terms of probabilities that
a bit will change to one. In binary PSO small numbers for Vmax promotes exploration. If Vmax = 0, then the search changes into a pure
random search [13].
4.2. Novel Binary Particle Swarm Optimization
In this algorithm, Pibest the and Pgbest of the swarm are updated
as in real-valued or binary version. The major difference between
this algorithm and other version of binary PSO is the interpretation
of velocity. Here, as in real-valued version of PSO, velocity of a particle is the rate at which the particle changes its bit’s value. There
are two vectors for each particle, they are: ~
V 0j and ~
V 1j . ~
V 0j is the
V 1j
probability of the bits of the particle to change to zero while ~
is the probability that bits of particle change to one. The probability
of change in jth bit of ith particle is defined as follows
(
V ci;j ¼
V 1i;j ; if xi;j ¼ 0
ð2Þ
V 0i;j ; if xi;j ¼ 1
V 0j and ~
V 1j is
V ci;j is the velocity of particle. The update algorithm for ~
shown below. Consider that the jth bit of ith best particle is one, so
to guide the bit jth of ith particle to its best position, the velocity of
change to one ð~
V 0j Þ for that particle increases and the velocity of
V 1j Þ decreases. The following rules are extracted
change to zero ð~
from this concept.
1
0
0
dij;1
1
dij;1
If Pjibest ¼ 1 then dij;1 ¼ r1 c1 and dij;1 ¼ r 1 c1
Pjibest
¼ r 1 c1
ð4Þ
If Pjgbest ¼ 1 then dij;2 ¼ r 2 c2 and dij;2 ¼ r 2 c2
ð5Þ
If
If
Pjgbest
¼ 0 then
¼ 0 then
1
¼ r 1 c1 and
ð3Þ
1
0
1
dij;2
0
dij;2
¼ r 2 c2 and
¼ r2 c2
ð6Þ
0
where dij ; dij are two temporary values, r1 and r2 are two random
variable in the range of (0, 1) which are updated in each iteration.
Please cite this article in press as: K. Prescilla, A. Immanuel Selvakumar, Modified Binary Particle Swarm optimization algorithm application to real-time
task assignment in heterogeneous multiprocessor, Microprocess. Microsyst. (2013), http://dx.doi.org/10.1016/j.micpro.2013.05.003
3
K. Prescilla, A. Immanuel Selvakumar / Microprocessors and Microsystems xxx (2013) xxx–xxx
Also c1 and c2 are two fixed variables which are determined by user.
Then:
1
1
ð7Þ
0
dij;1
0
dij;2
ð8Þ
V 1ij ¼ wV 1ij þ dij;1 þ dij;2
V 0ij
¼
wV 0ij
þ
þ
where w is the inertia term. In this algorithm if the jth bit in
the global best variable is zero or if the jth bit in the corre-
sponding personal best variable is zero the velocity V 0ij is increased. And the probability of changing to one decreases with
the same rate. In addition, if the jth bit in the global best variable is one V 1ij is increased and V 0ij decreases. In this approach
previously found direction of change to one or change to zero
for a bit is maintained and used, so particles make use of previously found direction. After updating velocity of particles, ~
V 0j
V 1j , the velocity of change is obtained as in (2). A normaland ~
Fig. 1. Flow chart of the Novel BPSO with Local search algorithm.
Please cite this article in press as: K. Prescilla, A. Immanuel Selvakumar, Modified Binary Particle Swarm optimization algorithm application to real-time
task assignment in heterogeneous multiprocessor, Microprocess. Microsyst. (2013), http://dx.doi.org/10.1016/j.micpro.2013.05.003
4
K. Prescilla, A. Immanuel Selvakumar / Microprocessors and Microsystems xxx (2013) xxx–xxx
ization process is also done. Using sigmoid function as introduced in (9).
v 0i;j ðtÞ ¼ sigðv i;j ðtÞÞ ¼ 1=1 þ ev
i;j ðtÞ
(
X ij ðt þ 1Þ ¼
X ij ðtÞ; if r ij < V 0ij
X ij ðtÞ; if r ij > V 0ij
ð10Þ
ð9Þ
And then the next particles state is computed as follows:
where X ij ðtÞ is the 2’s complement of Xij(t) (i.e.), if Xij = 0 then X ij ¼ 1
and if Xij = 1 then X ij ¼ 0. Here rij is a uniform random number
Fig. 2. Flow chart of the Modified BPSO with Local search algorithm.
Please cite this article in press as: K. Prescilla, A. Immanuel Selvakumar, Modified Binary Particle Swarm optimization algorithm application to real-time
task assignment in heterogeneous multiprocessor, Microprocess. Microsyst. (2013), http://dx.doi.org/10.1016/j.micpro.2013.05.003
5
K. Prescilla, A. Immanuel Selvakumar / Microprocessors and Microsystems xxx (2013) xxx–xxx
between 0 and 1. The inertia weight used here maintains the previous direction of bits of particle to the personal best bit or global best
bit whether it is 1 or 0. As in real-valued PSO if the maximum velocity value considered is large, random search will happen. Small values for maximum velocity cause the particle to move less [10]. Here
also the previous states of the bits of the particles are taken into account using Eq. (8).
4.3. Modified Binary Particle Swarm Optimization
The Modified BPSO is described using the genotype and phenotype concept. The velocity and the binary position parameters of
the original BPSO are corresponding to the genotype of position
and phenotype of position of the Modified BPSO, respectively.
The main difference between the PSO and the Modified BPSO is
in the position update function. The next position of the BPSO is
not influenced by the current position but influenced by the velocity only. This implies that when updating a position in the BPSO, it
is meaningless to know where a particle is currently located in the
binary search space. Because of this fact, it seems that velocity is a
particle, even though the binary position already exists in the
BPSO. In Modified BPSO, the concept is that, the velocity and the
position of the original BPSO is taken as a particle and a solution
is transformed by the sigmoid function. Let the velocity and the
binary position of the original BPSO be a genotype xg,i,j and a phenotype xp,i,j, respectively. Then, the update functions of Modified
BPSO are as follows [11]:
v i;j ðt þ 1Þ ¼ wv i;j ðtÞ þ c1
Fig. 3. The number of task assigned for the three algorithms of consistent
utilization matrix.
R1 ðpbest;i;j xp;i;j ðtÞÞ þ c2 R2 ðg best;i;j
xp;i;j ðtÞÞ
ð11Þ
where R1 and R2 are two random variable in the range of (0, 1)
which are updated in each iteration. And c1 and c2 are two fixed
variables which are determined by user. The value of c1 and c2 are
fixed to 2 in this application
xgi;j ðt þ 1Þ ¼ xgi;j ðtÞ þ v i;j ðt þ 1Þ
xpi;j ðt þ 1Þ ¼
0; if randðÞ P Sðxgi;j ðt þ 1ÞÞ
1; if randðÞ; < Sðxgi;j ðt þ 1ÞÞ
ð12Þ
ð13Þ
where
ðxgi;j ðt þ 1ÞÞ ¼ 1=1 þ exgij ðtþ1Þ
Fig. 4. The number of task assigned for the three algorithms of inconsistent
utilization matrix.
ð14Þ
5. Implementation
The algorithms are implemented on IntelÒ Core™ i3 CPU processor with 2.27 GHz processor speed and 2.87 GB usable RAM.
Nine utilization matrices are generated commonly for both Modified BPSO, Novel BPSO and ACO algorithm. The utilization matrixes differ in (i) Number of processor (ii) Number of tasks
(iii) Task heterogeneity and (iv) Processor heterogeneity. The
algorithms are implemented on IntelÒ Core™ i3 CPU processor
with 2.27 GHz processor speed and 2.87 GB usable RAM. The
software used is MATLAB 7.6.0 (R2008a). The utilization matrix
Unm stores the real numbers in the range [0–1], the value of
ui,j denotes the maximum fraction of the computing capacity Pj
of required to execute Ti. A consistent utilization matrix is generated by sorting each speed vector independently, with processor P0 always being the fastest and processor P(m1) the slowest.
In contrast, inconsistent utilization matrices simulate the situation where processor Pj may be faster than processor Pk for some
tasks and slower for others. These utilization matrices are left in
the unsorted, random state as they are generated. The utilization
matrix is created as in [12]. The quality of the solution is measured by the objective function f(s).
Table 1
normalized cumulative energy consumption of all assigned tasks in solution S by the
three algorithms.
Problem instance
Modified BPSO
Novel BPSO
ACO
C1_P4_T100_HT_HP
C2_P8_T60_HT_LP
C3_P4_T80_LT_HP
C4_P8_T50_LT_LP
IC1_P5_T150_HT_HP
IC2_P8_T60_HT_LP
IC3_P4_T100_LT_HP
IC4_P8_T60_LT_LP
IC5_P5_T20_LT_LP
0.385581
0.014091
0.000802
0.000027
1
0.000036
0.001601
0.000064
0.000003
0.350896
0.013641
0.000758
0.000027
0.990991
0.000036
0.001603
0.000065
0
0.340215
0.015264
0.000782
0.000026
0.105714
0.004701
0.001606
0.000068
0.00001
Table 2
Average CPU time consumed by the three algorithms (s) to execute different problem
instances.
Problem instance
Modified BPSO
Novel BPSO
ACO
C1_P4_T100_HT_HP
C2_P8_T60_HT_LP
C3_P4_T80_LT_HP
C4_P8_T50_LT_LP
IC1_P5_T150_HT_HP
IC2_P8_T60_HT_LP
IC3_P4_T100_LT_HP
IC4_P8_T60_LT_LP
IC5_P5_T20_LT_LP
2.886
7.781
18.416
10.596
51.367
0.429
1.962
14.609
0.187
0.741
1.346
0.585
1.369
1.79
1.229
0.706
1.47
0.285
1.346
1.965
0.9
1.379
3.19
1.705
1.105
1.482
0.44
Please cite this article in press as: K. Prescilla, A. Immanuel Selvakumar, Modified Binary Particle Swarm optimization algorithm application to real-time
task assignment in heterogeneous multiprocessor, Microprocess. Microsyst. (2013), http://dx.doi.org/10.1016/j.micpro.2013.05.003
6
K. Prescilla, A. Immanuel Selvakumar / Microprocessors and Microsystems xxx (2013) xxx–xxx
Table 3
Quality of the solution for Modified BPSO, Novel BPSO and ACO and their ranks.
S. no
Problem instance
Quality of the solution
1
2
3
4
5
6
7
8
9
Average rank
C1_P4_T100_HT_HP
C2_P8_T60_HT_LP
C3_P4_T80_LT_HP
C4_P8_T50_LT_LP
IC1_P5_T150_HT_HP
IC2_P8_T60_HT_LP
IC3_P4_T100_LT_HP
IC4_P8_T60_LT_LP
IC5_P5_T20_LT_LP
Modified BPSO
Novel BPSO
ACO
Modified BPSO
Novel BPSO
ACO
80.4541
49.5371
72.4197
41.5300
149.0343
59.4796
98.0576
58.1572
20.4567
74.5028
48.5523
67.4512
39.5271
145.0415
59.4796
96.0564
54.1496
20.6010
75.5418
48.5610
68.4553
40.5229
150.0749
60.1955
98.0493
57.1311
20.4841
1
1
1
1
2
2
1
1
3
1
3
3
3
3
3
2
3
3
1
3
2
2
2
2
1
1
2
2
2
2
ECðsÞ
f ðsÞ ¼ AwardðsÞ þ 1 MaxEC
where ECðsÞ ¼
Pm Pn
j¼1
s
i¼1 Ei;j :Di;j
Rank of the solution
; MaxEC ¼
ð15Þ
Pn
2
i¼1 ci :Maxðsi;j Þ
j ¼ 1; . . . ;
Ei;j ¼ C i :S2i;j
m and
Award(s) is equal to the number of assigned tasks in solution s.
Award(s) reflects the distance between solution s and a feasible
solution. EC(s) is the cumulative energy consumption of all assigned tasks in solution s, and is normalized by the maximum possible energy consumption MaxEC. The Novel BPSO with Local
search algorithm is implemented as shown in the Fig. 1. The Modified BPSO with Local search algorithm is implemented as shown in
the Fig. 2.
6. Result and discussion
The problem instance C1_P4_T100_HT_HP-represents first consistent matrix with four processors and 100 tasks with high task
heterogeneity
and
high
processor
heterogeneity.
IC1_P5_T150_HT_HP represents first inconsistent matrix with five
processors and 150 tasks with high task heterogeneity and high
processor heterogeneity. The number of particles for each problem
instance is considered as equal to the number of processors in that
problem instance. Each problem instance was run on Modified
BPSO algorithm and ACO algorithm until convergence and on Novel BPSO algorithm for nine iterations with varying inertia ‘w’.
For Novel BPSO algorithm, the inertia was initialized to 0.9 and it
is reduced by 0.1 for each iteration. This is done to have smooth
convergence. The number of task assigned by Modified BPSO for
problem instances of consistent utilization matrix is more when
compared to Novel BPSO and ACO implementation. The number
of task assigned by ACO for problem instances of inconsistent utilization matrix is slightly more when compared to Novel BPSO and
Modified BPSO. The performance of Modified BPSO is better than
Novel BPSO in all cases. This is because; the position update of
the Modified BPSO uses the information of the current position
and the velocity. The Novel BPSO and Modified BPSO require a
trained input to get good solutions. The input given to the Modified
BPSO Algorithm is a trained input from Ant Colony Optimization.
One of the disadvantages of BPSO is slow convergence in refined
search stage. So it requires a trained input and more number of
iterations for convergence. ACO does not require a trained input.
It is capable of training on self. So it requires less number of iterations for convergence. Fig. 3 shows the comparison between the
number of task assigned for the three algorithms of consistent utilization matrix. Fig. 4 shows the comparison between the number
of task assigned for the three algorithms of inconsistent utilization
matrix.
Energy consumed is reduced for feasible solutions by using Local Energy algorithm for all the three optimization techniques. The
CPU time taken for Modified BPSO is more compared to Novel BPSO
and ACO.
Table 1 shows the comparison between normalized cumulative
energy consumption of all as assigned tasks in solution s by the
three algorithms for different problem instances. Table 2 shows
the comparison between average CPU time consumed by the three
algorithms for different problem instances. Table 3 shows the quality of the solution and their corresponding ranks.
7. Conclusion
This work has analyzed the performance of different heuristic
algorithms, on scheduling heterogeneous multiprocessor platform.
The major contribution of this work is the application of Modified
BPSO combined with a local search algorithm for solving task
assignment in heterogeneous multiprocessor platform. The task
assignment problem for a heterogeneous multiprocessor is solved
using modified particle swarm optimization and Novel Binary Particle Swarm Optimization algorithm and it is compared with Ant
Colony Optimization algorithm. This was done to find the best suitable algorithm for this application. The results show that modified
particle swarm optimization assigns more number of tasks for
problem instances with consistent utilization matrix, when compared to ACO. But Modified BPSO gives slightly lower performance
for inconsistent utilization matrix compared to ACO. This is because BPSO has weak local search ability. The Modified BPSO performance is higher compared to Novel BPSO for both consistent
and inconsistent utilization matrix. This is because; the position
update of the Modified BPSO uses the information of the current
position and the velocity. Energy optimization is done for feasible
solutions found by all the algorithms. In the case of objective function maximization (i.e. energy minimization) MBPSO performs better for most of the problem instances. But MBPSO takes more time
to solve the problem instance. Since the problem considered is offline scheduling the increase in execution time can be tolerated. The
execution time of the algorithms on nine different problem instances are simulated using MATLAB 7.6.0 (R2008a). The average
execution time taken for Modified BPSO is more compared to Novel
BPSO and ACO because the number of iterations required to get the
optimum result is more compared to other algorithms.
References
[1] S. Baruah, Task partitioning upon heterogeneous multiprocessor platforms,
Real-Time and Embedded Technology and Applications (2004) 1–8.
[2] Marco Dorigo, Thomas Stützle, Ant Colony Optimization, MIT Press, 2004.
[3] T.D. Burd, R.W. Brodersen, Energy efficient CMOS microprocessor design, in:
Proc. Hawaii Int’l Conf. System Science, January 1995, pp. 288–297.
[4] D. Zhu, R. Melhem, B.R. Childers, Scheduling with dynamic voltage/speed
adjustment using slack reclamation in multiprocessor real-time systems, IEEE
Transactions on Parallel and Distributed Systems 14 (7) (2003) 686–700.
[5] Albert M.K. Cheng, Real-Time Systems: Scheduling, Analysis, and Verification,
John Wiley & Sons, 2002.
Please cite this article in press as: K. Prescilla, A. Immanuel Selvakumar, Modified Binary Particle Swarm optimization algorithm application to real-time
task assignment in heterogeneous multiprocessor, Microprocess. Microsyst. (2013), http://dx.doi.org/10.1016/j.micpro.2013.05.003
K. Prescilla, A. Immanuel Selvakumar / Microprocessors and Microsystems xxx (2013) xxx–xxx
[6] S. Baruah, Partitioning real-time tasks among heterogeneous multiprocessors,
in: ICPP, 2004, pp. 1–8.
[7] Jia Xu, David Lorge Parnas, On satisfying timing constraints in hard-real-time
systems, IEEE Transactions on Software Engineering 19 (1) (1993) 70–84.
[8] T. Braun, Howard Jay Siegel, Noah Beck, A comparison of eleven static
heuristics for mapping a class of independent tasks onto heterogeneous
distributed computing systems, Journal of Parallel and Distributed Computing
61 (56) (2001) 810–837.
[9] Hakan Aydin, Qi Yang, Energy-aware partitioning for multiprocessor real-time
systems, in: Proc. Intl. Parallel and Distributed Processing Symposium, 2003,
pp. 9.
[10] Mojtaba Ahmadieh Khanesar, Mohammad Teshnehlab, Mahdi Aliyari
Shoorehdeli, A Novel Binary Particle Swarm Optimization, in: Proceedings of
the 15th Mediterranean Conference on Control & Automation, July 27–29,
2007.
[11] Sangwook Lee, Sangmoon Soak, Sanghoun Oh, Witold Pedrycz, Moongu Jeon,
Modified binary particle swarm optimization, Progress in Natural Science 18
(2008) 1161–1166.
[12] Hua Chen, Albert Mo Kim Cheng, Ying-Wei Kuo, Assigning real-time tasks to
heterogeneous processors by applying ant colony optimization, Journal of
Parallel Distributed Computing 71 (2011) 132–142.
[13] J. Kennedy, R.C. Eberhart, A discrete binary version of the particle swarm
algorithm, in: IEEE International Conference on Systems, Man, and
Cybernetics, 1997.
7
K. Prescilla received the bachelor’s degree in Electrical
and Electronics Engineering from Coimbatore Institute
of Technology, India, in 2004. M.E. in Applied Electronics
from Karunya University, India in 2006. She is currently
pursuing her Ph.D. in real time systems under the
supervision of Prof. Dr. A. Immanuel Selvakumar of
Karunya University. Her research interest is scheduling
in real-time systems. She has four years of teaching and
research experience and she was a member of IEEE.
A. Immanuel Selvakumar received the B.E. degree in
Electrical and Electronics Engineering and M.E. degree
in Power system Engineering from Thiagarajar College
of Engineering, Madurai, India. He received Ph.D. degree
in Electrical and Electronics engineering from Anna
University, Chennai, India. His research topics include
power system operation and control, soft computing
techniques and meta-heuristic optimization techniques.
He is a member of IEEE. He has presented eight papers
in referred International Journals.
Please cite this article in press as: K. Prescilla, A. Immanuel Selvakumar, Modified Binary Particle Swarm optimization algorithm application to real-time
task assignment in heterogeneous multiprocessor, Microprocess. Microsyst. (2013), http://dx.doi.org/10.1016/j.micpro.2013.05.003