New Methodology for Feasible Reconfigurable Real-time
Network-on-Chip NoC
Imen Khemaissia
1,2
, Olfa Mosbahi
1
, Mohamed Khalgui
1,4
and Zhiwu Li
3,4
1
National Institute of Applied Sciences and Technology, INSAT, University of Carthage, Carthage, Tunisia
2
Faculty of Sciences, Tunis El-Manar University, Tunis, Tunisia
3
Institute of Systems Engineering, Macau University of Science and Technology, Taipa, Macau
4
School of Electro-Mechanical Engineering, Xidian University, Xian 710071, China
Keywords:
Embedded System, Reconfigurable MPSoC, Multi-agent, Real-time and Low-power Scheduling.
Abstract:
The current research paper is interested in flexible reconfigurable real-time Network-on-Chip (NoC) in Mul-
tiprocessors System-on-Chip MPSoC architectures. A NoC is composed of several nodes where each one
consists of a processor and a router. The reconfiguration of a processor is any operation that permits the
addition-removal-update of periodic dependent OS (Operating System) tasks that are sharing resources. For
two added dependent tasks assigned to different processors, a message is added automatically on the NoC.
After any reconfiguration scenario, several real-time constraints cannot be satisfied since a task can miss its
deadline and a message can take a long time to arrive to its destination. In order to re-obtain the system feasibil-
ity, we propose a new approach that is called CRM (abrev. Cynapsys Reconfigurable MPSoC). A multi-agent
architecture based on a master/slave model is defined where a slave agent is assigned to each node to control
its local feasibility after any reconfiguration scenario, and a master is proposed for the whole architecture if
any perturbation occurs at run-time by proposing software or hardware solutions. A developed tool at LISI
laboratory and Cynapsys is implemented for a real case study in order to evaluate the paper’s contribution.
1 INTRODUCTION
Recently, the embedded systems are based on the MP-
SoC oriented technologies since they meet the re-
quired performance of various applications in indus-
try (Z.Hajduk and J.Sadolewski, 2015). An MPSoC
is a system-on-chip (SoC) which is composed of nu-
merous processors commonly dedicated for embed-
ded applications. Reducing the power consumption
becomes a major concern for the high-performance
and reliability of such systems. The MPSoC can be
adapted to its environment after any external/internal
events that allow to add, remove or update the sys-
tem tasks or messages to be exchanged between the
processors of the chip. A hardware reconfiguration
allows the activation/deactivation of a processor of
the architecture. We found in the literature various
interesting research works which deal with reconfig-
urable real-time embedded systems (X. Wang and Li,
2011), (J. F. Zhang, 2015), (George and Courbin, ),
more specifically the reconfiguration of MPSoC ar-
chitectures (P.K.F. Holzenspies, 2007), (A. Samahi,
2007). Note that various research works on low-
power execution of MPSoC architectures are found
in (H. Javaid and Parameswaran, 2011), (R. Ben Ati-
tallah and Blouin, 2013), (Salehi and Ejlali, 2015).
Multiple algorithms are dedicated to schedule the OS
tasks of embedded systems (N.Q. Wu and Li, 2015),
(Baker, 1991), (Chetto and Chetto, 1989) (Burns and
Wellings, 2001), (T.P.Baker, 1990), (Liu and Layland,
1973). Although all of them are interesting, no one in
the related works deals with the real-time reconfig-
uration of an MPSoC architecture under low-power
and low-memory constraints. This work is original
since there is no related work that treats the low-
power-reconfiguration of MPSoC oriented applica-
tions implemented by periodic OS tasks/messages un-
der precedence constraints and with shared resources.
In this paper, we assume an MPSoC-based applica-
tion denoted in the following by RSys and composed
of n nodes such that each one gathers a processor and
a router. The different processors of RSys execute pe-
riodic OS tasks. They are assumed to be under prece-
dence constraints and with shared resources. We use
the well-known scheduling policy earliest deadline
first (EDF) to schedule the tasks that implement the
Khemaissia, I., Mosbahi, O., Khalgui, M. and Li, Z.
New Methodology for Feasible Reconfigurable Real-Time Network-on-Chip NoC.
DOI: 10.5220/0005992002490257
In Proceedings of the 11th International Joint Conference on Software Technologies (ICSOFT 2016) - Volume 1: ICSOFT-EA, pages 249-257
ISBN: 978-989-758-194-6
Copyright
c
2016 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved
249
different processors of RSys. The immediate priority
ceiling protocol IPCP (Burns and Wellings, 2001) is
utilized to deal with the precedence constraints of de-
pendent tasks. The initial system is considered as fea-
sible, i.e., the utilization of each processor is equal or
less than 1. Several messages will be added too after
the addition of tasks. After the application of succes-
sive reconfiguration scenarios, RSys becomes infeasi-
ble. Also, a message can take a long time to arrive
to its destination. In order to resolve all these prob-
lems, a new approach called CRM (Cynapsys Recon-
figurable MPSoC) is developed at Cynapsys
1
which
is a professional company in the embedded technolo-
gies. Indeed, all the real-time and precedence con-
straints should be satisfied. We propose a multi-agent
architecture based on the master/slave model to han-
dle feasible reconfigurations of RSys. We propose two
types of agents: i) A master agent: Controls the whole
architecture of RSys after applying any reconfigura-
tion scenario. If it receives a disapproval from the
slave agent, then it proposes the modification of real-
time parameters of tasks or their assignment to other
processors of the same MPSoC architecture, or also
the removal of some of them. ii) A slave agent: Is
defined for each processor to inform the master agent
if the energy is increased or the real-time constraints
are violated. We choose to apply the paper’s contri-
bution to FPGA Stratix III and a tool is proposed to
handle all the services provided by the different in-
telligent agents. The remainder of the paper is orga-
nized as follows: the next Section reviews the related
works. Section 3 formalizes the reconfigurable MP-
SoC architectures followed by a case study. Section 4
proposes a methodology for a reconfigurable feasible
real-time application. The implementation, simula-
tion, and analysis are found in Section 5. Finally, the
last Section summarizes this work with the presenta-
tion of future works.
2 STATE OF THE ART
We expose and analyze several research works which
are related to the current contribution. Since this
paper addresses the reconfigurable feasible NoC in
adaptive MPSoC architectures, we start first by pre-
senting the characteristics of MPSoC and NoC. Then
we review some interesting related papers dealing
with the real-time scheduling of OS tasks.
2.1 MPSoC and NoC Characteristics
The MPSoC uses diverse processors usually addres-
1
Cynapsys company: http://www.cynapsys.de/
sed to embedded applications. It is used by structure
that are composed of multiple heterogeneous process-
ing elements with particular services indicating the re-
quirement of the expected application area (J. Sepul-
veda and Strum, 2012). These architectures meet
the performance needs of many applications in dif-
ferent domains such as multimedia, telecommunica-
tion and network security. Because of their compar-
atively high performance, flexibility, and power effi-
ciency, the MPSoC is based on NoC solutions (Hans-
son and Goossens, 2007),(Stensgaard and Sparso,
2008), (F. Martinez Vallina and saniie, 2007). Net-
work on chip (NoC) is known as a new paradigm
assigned for the interconnections within a system on
chip (SoC) that presents a viable communication in-
frastructure (Bobda and Ahmadinia, 2005). Although
all of them are interesting, there is no related work
that deals with the real-time reconfigurable NoC in
MPSoC architectures under low-power constraints.
2.2 Real-time Scheduling
Several successful studies in the literature deal with
the real-time scheduling of OS tasks. The work in
(Liu and Layland, 1973) proposes the earliest dead-
line first (EDF) and the rate monotonic (RM) to
schedule periodic tasks. The work in (Burns and
Wellings, 2001) presents the original priority ceiling
protocol OPCP and immediate priority ceiling proto-
col IPCP in order to solve the scheduling problem of
the tasks that share resources. The research work in
(T.P.Baker, 1990) proposes the stack resource policy
SRP that allows processes with different priorities to
share a single run-time stack. In this paper, we use
the EDF for the scheduling of periodic tasks since it
is optimal under some assumptions.
In summary, a lot of successful investigations have
been done in the domain of reconfigurable MPSoC-
based embedded technologies. None of the previous
works takes into account the feasibility at run-time of
NoC in an MPSoC architecture under real-time and
energy constraints.
3 RECONFIGURABLE MPSoC
RSys
In this section, we start by formalizing the reconfig-
urable MPSoC RSys before exposing a case study that
explains the the problem under consideration.
ICSOFT-EA 2016 - 11th International Conference on Software Engineering and Applications
250
3.1 Formalization
We assume that RSys consists of the
matrix N
i j
of nodes, i.e., RSys =
{N
1,1
,N
1,2
,...,N
2,1
,N
2,2
,N
i, j
,...,N
l,c
} (i [1..l]
and j [1..c]) where l and c represent respec-
tively the numbers of the rows and columns of the
network on chip NoC that is used to connect all
the nodes of RSys (?). RSys is considered to be
reconfigurable and adapted to its environment by
adding/updating/removing OS tasks to/from the
processors. We assume that each node N
i, j
is com-
posed of: (a) Processor Pr
i, j
: Executes periodic OS
tasks τ
i, j,k
(i [1..l], j [1..c] and k [1..n
i, j
]) that
share resources and under precedence constraints,
(b) Router R
i, j
: Is responsible of the message’s
forwarding in the NoC. The latter has a buffer that
contains the list of messages to be added from a
source node to a destination one. We note that all
the processors of RSys share data in a global memory
M
G
.
According to Liu and Layland in (Liu and Lay-
land, 1973), each periodic task τ
i, j,k
(i [1..l], j
[1..c] and k [1..n
i, j
]) may generate many jobs. It
is characterized by: a) Release time R
i, j,k
: The time
when a job starts its execution. If the tasks are syn-
chronous, i.e, R
i, j,k
= 0 b) Period T
i, j,k
: Is the regu-
lar inter-arrival time, c) Deadline D
i, j,k
: The absolute
deadline that is equal to the sum of the release time
and the relative deadline, d) WCET C
i, j,k
: the time
required to execute a job, and e) static priority S
i, j,k
:
The greatest static priority is equal to 1, i.e., S
k
= 1
represents τ
i, j,k
with the highest static priority. We
consider that the tasks of RSys are sharing resources
and are with precedence constraints. We assume that
T
i, j,k
= D
i, j,k
. Each task in RSys is characterized by
inclusion and exclusion sets accordingto user require-
ments respectively where:
Inclusion
set
(τ
i, j,k
): the set of processors that can
handle the execution of τ
i, j,k
.
Exlusion
set
(τ
i, j,k
): the set of processors that can-
not handle the execution of τ
i, j,k
.
According to (I. Khemaissia and Khalgui, 2014),
(Baker, 1991), the processor utilization of periodic
tasks that share resources is calculated as follows :
U
per
(Pr
i, j
) = (
n
i, j
k=1
C
i, j,k
T
i, j,k
+
B
i, j,k
T
i, j,k
),k [1..n
i, j
] (1)
where B
i, j,k
is the blocking factor that is defined as
the time to spend by a task with a higher priority
when blocked. It waits the termination of a task with
a lower priority. In this work, we assume that the
blocking factor B
i, j,k
is assumed to be equal to 1 or 0
(Baker, 1991). The EDF algorithm is used to schedule
the independent tasks. For the schedule of tasks that
share resources, we use the IPCP. The technique pro-
posed in (I. Khemaissia and Khalgui, 2014) (Chetto
and Chetto, 1989) is utilized to deal with the depen-
dent tasks. For example, let us define two dependant
tasks τ
i, j,e
and τ
i, j, f
such that τ
i, j,e
precedes τ
i, j, f
. The
deadlines of the tasks are attributed as follows:
if τ
i, j,e
precedes τ
i, j, f
then S
i, j,e
< S
i, j, f
. The deadline
D
i, j,e
is given by:
D
i, j,e
= min(D
i, j,e
,(D
i, j, f
C
i, j,e
)) (2)
By using Eq. (2), the precedence constraints will be
satisfied. We note that the initial utilization of each
processor U
bef
is equal to:
U
bef
(Pr
i, j
) = U
per
(Pr
i, j
) (3)
According to (X. Wang and Zhou, 2015) (I. khemais-
sia and Bouzayen, 2014), the energy to be consumed
by a processor is proportional to the processor utiliza-
tion. It is given by:
P
i, j
U
bef
(Pr
i, j
)
2
(4)
Let we assume a reconfiguration scenario at a spe-
cific time t. A software reconfiguration is applied
by adding or removing OS tasks and U
bef
increases
to be U
aft
. We assume that the source task τ
i, j,h
exchanges a message m
p
(τ
i, j,h
;τ
a,b,k
) with a target
task destination τ
a,b,k
. A message m
p
(τ
i, j,h
;τ
a,b,k
)
in (I. Khemaissia and Khalgui, 2014) is character-
ized by: (i) A size S
mp
(τ
i, j,h
;τ
a,b,k
), (ii) A trans-
mission period T
mp
(τ
i, j,h
;τ
a,b,k
), (iii) A deadline
D
mp
(τ
i, j,h
;τ
a,b,k
), (iv) A Worst Case Transmission
Time WCTT
p
C
mp
(τ
i, j,h
;τ
a,b,k
), and (v) A static pri-
ority SP
mp
(τ
i, j,h
;τ
a,b,k
) where:
WCTT = S
mp
(τ
i, j,h
;τ
a,b,k
)/debit
NoC
(5)
D
mp
(τ
i, j,h
;τ
a,b,k
) = (D
a,b,k
C
a,b,k
) (6)
In this work, we assume that after each addition of a
pair of tasks a new message is added automatically.
The purpose of this research is to seek the optimal
path between the source task and the destination one
under real-time constraints. According to (B.D. Bui
and Caccamo, 2005), the bus utilization is calculated
as follows:
U
bus
(m
p
(τ
i, j,h
;τ
a,b,k
)) =
m
p=1
C
mp
(τ
i, j,h
;τ
a,b,k
)
T
mp
(τ
i, j,h
;τ
a,b,k
)
(7)
Note that m is the messages number.
3.2 Case Study
The proposed approach in the current paper is applied
to an FPGA Stratix III (Z-A. Obaid and Hamidon,
New Methodology for Feasible Reconfigurable Real-Time Network-on-Chip NoC
251
2009). Thus, we illustrate RSys through a running
example in order to explain the proposed methodol-
ogy by using theoretical tasks. Suppose that a star-
tix FPGA board is composed three Nios II processors
Pr
1,1
, Pr
1,2
and Pr
2,1
. We define the NoC as the com-
munication architecture between the components of
the MPSoC. Initially, RSys does not miss its real-time
constraints and low-power properties. Table 1 lists
the parameters of the different processors. We assume
that its initial utilization U
per
(Pr
2,1
), U
per
(Pr
1,1
) and
U
per
(Pr
1,2
) is equal to 0.8, 0.55 and 0.7, respec-
tively, and all the tasks are released at the time R
i
= 0
with T
i
= D
i
. We consider that S(τ
1
) > S(τ
2
) and
S(τ
5
) < S(τ
7
). By using Eq. (2), D
1
, D
2
, D
5
and
D
7
are equal to 16, 20, 25 and 40, respectively. The
utilization of each processor is equal to 0.8, 0.55 and
0.7, respectively. Then, the initial energy consump-
tion is 0.36, 0.30 and 0.49, respectively. Thus, the
whole initial system is feasible. We assume also that
the NoC can initially support all the added messages
since its utilization is equal to 0.8.
Table 1: Characteristics of the initial periodic tasks.
τ
i
C
k
T
k
Pr
i, j
τ
i
C
k
T
k
Pr
i, j
τ
1
4 20 Pr
1,1
τ
5
5 25 Pr
1,2
τ
2
1 20 Pr
1,1
τ
6
3 30 Pr
1,2
τ
3
3 20 Pr
1,1
τ
7
6 40 Pr
1,2
τ
4
6 40 Pr
1,1
τ
8
5 20 Pr
1,2
Figure 1: Initial scheduling of Pr
1,1
and Pr
1,2
.
Table 2: Characteristics of the initial periodic messages.
Messages C
mp
D
mp
/T
mp
Messages C
mp
D
mp
/T
mp
m1(τ
1
,τ
2
) 3 30 m5(τ
1
,τ
5
) 1 10
m2(τ
1
,τ
3
) 2 20 m6(τ
3
,τ
2
) 5 25
m3(τ
2
,τ
4
) 2 20 m7(τ
4
,τ
6
) 3 30
m4(τ
3
,τ
1
) 2 20 m8(τ
7
,τ
8
) 2 20
Table 3 indicates the parameters of the added pe-
riodic tasks. Furthermore, we activate a new Nios
II processor Pr
2,1
. The processor utilization after
the addition of OS tasks U
aft
(Pr
1,1
), U
aft
(Pr
1,2
) and
U
aft
(Pr
2,1
) will be 1.05, 1.05 and 1.1, respectively.
We deduct that the system is infeasible since the pro-
cessor utilization of each processor exceeds 1. Also
the energy consumption increases to be 1.1, 1.1 and
1.21, respectively.
After the addition of several messages, the bus uti-
lization becomes equal to 1.2 and several messages
Table 3: Characteristics of the added periodic tasks.
τ
k
C
k
T
k
SetInc(τ
i, j,k
)
τ
9
4 10 Pr
1,1
, Pr
2,1
τ
10
2 20 Pr
1,1
, Pr
1,2
τ
11
4 40 Pr
1,1
, Pr
2,1
τ
12
9 30 Pr
1,2
, Pr
2,1
τ
13
4 20 Pr
1,2
, Pr
2,1
τ
14
2 40 Pr
1,2
, Pr
2,1
Figure 2: Scheduling after a reconfiguration scenario.
Table 4: Characteristics of the added periodic messages.
Messages C
mp
D
mp
/T
mp
Messages C
mp
D
mp
/T
mp
m(τ
A9
,τ
10
) 4 40 m(τ
10
,τ
13
) 2 20
m(τ
10
,τ
12
) 4 10 m(τ
9
,τ
14
) 3 30
m(τ
A8
,τ
12
) 2 20 m(τ
13
,τ
14
) 2 10
m(τ
11
,τ
14
) 8 40 m(τ
12
,τ
14
) 3 10
cannot be supported by the NoC. Moreover, the mes-
sages take a long time to be routed. For that new soft-
ware solutions are proposed for the NoC feasibility.
In the sections below, we propose new technical
software solutions to satisfy the real-time constraints
and to reduce the power consumption.
4 CRM: METHODOLOGY FOR
FEASIBLE RECONFIGURABLE
REAL-TIME EMBEDDED
SYSTEMS
We propose in the current paper a new methodology
CRM that deals with the feasible real-time reconfig-
urable MPSoC architectures. We aim to extend the
work in (I. khemaissia and Khalgui, 2014) which is
not interested in the feasibility of the NoC. The differ-
ent steps of this methodology are stated as follows: (i)
Application of reconfiguration scenarios in different
processors, and (ii) Verification of the systems feasi-
bility, i.e., feasibility of each processor and in NoC.
Before we describe these steps in details, let us
define the proposed multi-agent architecture.
ICSOFT-EA 2016 - 11th International Conference on Software Engineering and Applications
252
4.1 Multi-agent based Architecture
We define a multi-agent architecture following the
Master-Slave model: (i) Master Agent Ag
M
: Respon-
sible of the whole system and the NoC feasibility, (ii)
Slave Agent Ag
i, j
: Defined for each node N
i, j
to in-
form Ag
M
if the energy increases or if the local real-
time constraints are not satisfied. Fig. 3 summarizes
the whole contribution of this current research. It
shows the different states of the system and the pro-
posed agents to resolve any destabilization that can
occur before and after applying any reconfiguration
scenario.
Figure 3: CRM Methodology.
4.2 System Feasibility
Many solutions are proposed to re-obtain the system
feasibility in all the processors/NoC of RSys after ap-
plying any reconfiguration scenario that violates real-
time or energy constraints.
4.2.1 Solution 1: Modification of Parameters
The utilization must be modified to ensure the main-
tain of the energy consumption. A technical solution
to be proposed by Ag
M
allows to change the parame-
ters of all the initial and new tasks. We suggest in the
current work the modification of periods as a solution
1.1 or WCETs as a solution 1.2 to guarantee the sat-
isfaction of all the constraints after a such scenario.
According to (I. khemaissia and Khalgui, 2014), the
new periods become:
T
(r)
i, j,k
=
&
(
n
k=1
(
(C
i, j,k
+ B
i, j,k
)
U
per
(Pr
i, j
)
)
'
(8)
Once the periods are modified, we calculate the new
processor utilization of periodic tasks U
(r)
perT
as fol-
lows:
U
(r)
perT
(Pr
i, j
) =
n
k=1
C
i, j,k
T
(r)
i, j,k
+
B
i, j,k
T
(r)
i, j,k
(9)
where n is the number of periodic tasks and r is the
reconfiguration number. Then, the new power con-
sumption is given by:
P
(r)
perT
(Pr
i, j
) (U
(r)
perT
(Pr
i, j
)
2
) (10)
The new values of the constant period of initial and
new tasks to be executed by Pr
1,1
, that are calculated
by Eq. (8), are equal to 33 Time Units. It is equal
to 49 and 12 for the tasks of Pr
1,2
and Pr
2,1
. Then
the new processor utilizations of Pr
1,1
, Pr
1,2
and Pr
2,1
are equal to 0.54, 0.69 and 0.5, respectively. The peri-
ods modification can maintain the utilization of all the
processors of RSys and can stabilize the power con-
sumption. If we modify the WCET of tasks, then the
new C
(r)
k
are given by:
C
(r)
i, j,k
=
U
per
(Pr
i, j
)
n
k=1
B
i, j,k
T
i, j,k
n
k=1
1
T
i, j,k
1,if
U
per
(Pr
i, j
)
n
k=1
B
i, j,k
T
i, j,k
n
k=1
1
T
i, j,k
0
(11)
After the modification of the WCETs, the new pro-
cessor utilization U
(r)
perC
is given by:
U
(r)
perC
(Pr
i, j
) = (
n
k=1
C
(r)
i, j,k
T
i, j,k
+
B
i, j,k
T
i, j,k
) (12)
The new power consumption is:
P
(r)
perC
(Pr
i, j
) (U
(r)
perC
(Pr
i, j
)
2
) (13)
By using Eq. (11), the new constant WCET of old and
new tasks to be executed by Pr
1,1
and Pr
1,2
is equal
to 2 Time Units. It is equal to T6 Time Units for the
tasks of Pr
2,1
. Hence, the new utilizations of Pr
1,1
,
Pr
1,2
and Pr
2,1
are equal to 0.55, 0.51 and 0.45, re-
spectively. The WCETs modification can reduce the
processor utilization of all the processors of RSys and
the power consumption is minimized too. According
to (I. Khemaissia and Khalgui, 2014), if the bus can-
not support the added messages, then we can modify
the parameters of the messages or remove the unim-
portant ones. The new period or the WCTT of each
message is calculated according to (I. Khemaissia and
Khalgui, 2014) as follows:
T
mp
=
m
i=1
C
mp
U
NoC
(periodicmessages)
(14)
New Methodology for Feasible Reconfigurable Real-Time Network-on-Chip NoC
253
or
C
mp
=
1,0 <
U
NoC
(periodicmessages)
m
i=1
1
T
mp
1
U
NoC
(periodicmessages)
m
i=1
1
T
mp
,
U
NoC
(periodicmessages)
m
i=1
1
T
mp
> 1
(15)
where m denotes the number of messages.
After applying Eq. (14), the new utilization of NoC
becomes equal to 0.8. Then the NoC is considered
feasible.
4.2.2 Solution 2: Tasks/Message Removal
As a second solution, Ag
M
suggests to remove some
OS tasks/messages according to their priorities. If we
need to remove a task with precedence constraints,
then it is necessary to verify if the tasks that depends
on it have a lower priority or not. In this case, the
dependent tasks must be removed from the system.
Otherwise, it is not allowed to remove this task. For
example, if we assume to remove these tasks: A
1
and
A
4
from Pr
1.1
, then its processor utilization becomes
equal to 1. If we remove the tasks with the lowest pri-
ority from all the processors, thus we can reduce the
processor utilization. It is similar for the messages,
i.e., if we remove the messages with the lowest prior-
ity, then the utilization of NoC will be reduced. This
solution can provide a feasible real-time system af-
ter any reconfiguration scenario but the values of the
processor/NoC utilization depend on the number of
the removed tasks/messages.
4.2.3 Solution 3: Relocation of Tasks according
to the Bin-packing
We use the bin-packing algorithm to relocate the tasks
according to several conditions that will be described
below (Davis, 2006). The system can be reconfigured
by Ag
M
on two levels in order to be temporally fea-
sible with a low-power. Since we can calculate the
processor utilization of each task, two steps must be
done: (a) Step 1: We relocate the tasks by using one
of the proposed algorithms of the bin-packing, and
(b) Step 2: We modify their parameters by follow-
ing Solution 1 if the current utilization of a proces-
sor exceeds 1. Before applying the bin-packing, we
should start by ordering the tasks in an ascending or-
der and the processors in a descending order accord-
ing to their utilization. Two conditions should be sat-
isfied when we re-locate a task τ
i, j,k
to Pr
i, j
: (i) Con-
dition 1: the processor Pr
i, j
Inclusion
set
(τ
i, j,k
), and
(ii) Condition 2: U
bef
(Pr
i, j
) 1. Algorithm 1 de-
scribes the different followed steps in order to relocate
the tasks according to the next fit descending NFD.
Algorithm 1: Relocation of new tasks according to NFD.
Order the processors in an ascending order;
Order the tasks in a descending order;
for (each processor Pr
i, j
) do
for (each task τ
i, j,k
) do
if (Pr
i, j
is active) and (τ
i, j,k
Inclusion
set
(τ
i, j,k
)) then
Calculate the current processor utilization
U
bef
(Pr
i, j
) after the addition of τ
i, j,k
;
else
if ((U
bef
(Pr
i, j
) 1) then
Assign τ
i, j,k
to Pr
i, j
that satisfies the con-
ditions (conditions 1, 2 and 3);
Re-Calculate U
bef
(Pr
i, j
) after the addi-
tion of τ
i, j,k
to Pr
i, j
;
break;
else
Close the current processor and open the
next one;
Re-Calculate the utilization of the newest
opened processor;
end if
end if
end for
end for
In order to apply the NFD on the running example,
we start by ordering the tasks and the processors in a
descending order and an ascending one, respectively.
We have U
bef
(Pr
1,1
) < U
bef
(Pr
1,2
) < U
bef
(Pr
2,1
). If
we re-order the periodic tasks, we get τ
9
, τ
12
, τ
13
, τ
10
,
τ
11
, τ
14
. Every time we add a task, we should verify
if the processor can include it. The NFD is applied
as follows: τ
9
is packed into Pr
1,1
and will be closed.
Since Pr
1,1
/ SetInc(τ
12
), it will be closed and the
current added task is put into Pr
1,2
. The utilization
of Pr
1,2
becomes equal to 1. Then, it will be closed
and Pr
2,1
is open to support τ
13
. For τ
10
, it will be
packed into Pr
1,1
that is re-opened since Pr
2,1
is not
mentioned in SetInc(τ
10
). If we add τ
11
into Pr
1,1
,
its utilization becomes equal to 1.1. In this case, Ag
M
applies the periods modification. The same solution
is applied when τ
14
is added into Pr
1,2
.
5 EXPERIMENTATION
This section presents an experimentation that applies
low-power reconfigurations of MPSoC-based archi-
tectures. We present firstly the implementation of the
agent-based architecture. After that, theoretical sim-
ulations and analysis are shown to highlight the ad-
vantages of the proposed contribution. We choose to
apply the latter to Stratix III development board.
ICSOFT-EA 2016 - 11th International Conference on Software Engineering and Applications
254
5.1 Implementation of the
Communication Protocol
In this section, we present the main algorithm that
applies the proposed methodology. A protocol is
defined as a system of rules required to make easier
the communication between the different agents
of the system. Before describing the algorithm,
let us present the following used functions. (i)
Send-approval-power(Ag
i, j
,Ag
M
): If the power
consumption is inferior to 1 after a reconfiguration
scenario, then Ag
i, j
sends an approval message to
Ag
M
, (ii) Send-alert-power(Ag
i, j
,Ag
M
): If the power
consumption is superior to 1 after a reconfiguration
scenario, then Ag
i, j
sends a disapproval message to
Ag
M
, (iii) Evaluate-power-consumption(Ag
M
): Once
one of the proposed solutions is applied, Ag
M
com-
putes the difference between the power consumption
before and after the reconfiguration, (iv) Manage-
removal(Ag
i, j
): Each agent Ag
i, j
must update the
memory after any scenario allowing the removal of
tasks from a processor Pr
i, j
, (v) App-sol1.1(): Peri-
ods modification, (vi) App-sol1.2(): WCETs/WCTTs
modification, (vii) App-sol2(): Tasks/messages
removal, and (viii) App-sol3(): Re-location by
applying the bin-packing. Algorithm 2 is developed
to control the power consumption by applying new
software solutions. It is with complexity O(n
2
).
First of all, it reads the parameters of the initial
tasks. Afterwards, it reads the parameter of the added
messages. Finally, it verifies the feasibility of the
system after the reconfiguration. If the utilization of
a processor/NoC exceeds 1, then the agent suggests
one of the proposed solutions that are mentioned
previously.
Algorithm 2: Allocations of OS Tasks/Messages to Recon-
figurable MPSoCs.
for each reconfiguration scenario do
Compute the utilization U
aft
and the NoC uti-
lization;
if U
aft
1 or U
NoC
1 then
Send-approval-power(Ag
i, j
,Ag
M
);
else
Send-alert-power(Ag
i, j
,Ag
M
);
Call(App-sol1.1()) or Call(App-sol1.2()) or
Call(App-sol2())or Call(App-sol3());
// Applying one of these solutions
end if
end for
for each processor do
Compute the utilization after reconfiguration;
Evaluate-power-consumption(Ag
M
);
end for
0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2
0.5635
0.564
0.5645
0.565
0.5655
0.566
Average U
(ia)
Average P
(i)
Solution 1.1
Figure 4: Power consumption after the periods modifica-
tion.
0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2
0.35
0.4
0.45
0.5
Processor utilization after the addition of tasks
P
(i)
WCETs Modification
Figure 5: Power consumption after the WCETs modifica-
tion.
5.2 Simulations
This section presents the obtained results after apply-
ing the proposed solutions. The initial system is as-
sumed to be feasible with low-power. The processor
utilization of each processor Pr
1,1
, Pr
1,2
, and Pr
2,1
is
equal to 0.696532, 0.751534 and 0.803858, respec-
tively. Fig. 4 depicts the power consumption after the
modification of the periods and the WCETs. We can
deduce that the periods modification can stabilize the
power consumption. But, the WCETs modification
can reduce the power consumption since the curves
show important variations. We can conclude that this
theoretical simulation result by Solution 1.2 is more
advantageous than Solution 1.1. Fig. 6 visualizes the
simulation result after applying the bin-packing algo-
rithm. The different values of the power consumption
are in the closed interval [0.5635..0.5655] . Then, we
can neglect the variations. This solution is considered
as effective as well.
6 CONCLUSION
In this paper, a new approach called CRM is devel-
oped for low-power reconfigurable MPSoC-based ar-
chitectures. Initially, the system is feasible with low-
New Methodology for Feasible Reconfigurable Real-Time Network-on-Chip NoC
255
0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2
0.563
0.5635
0.564
0.5645
0.565
0.5655
0.566
Average U
(ia)
Average P
(i)
BFD
FFD
NFD
RFD
WFD
Figure 6: Power consumption after applying the bin-
packing.
power. However, after many reconfiguration scenar-
ios, the power consumption becomes bigger and some
real-time requirements may not be satisfied. A multi-
agent architecture based on the master-slave model
is proposed, where software/hardware technical solu-
tions are applied in order to obtain a feasible real-time
system guaranteeing the minimization or the maintain
of the power consumption. This new methodology
is applied to confidential projects at Cynapsys. To
our best knowledge, no studies dealing with reconfig-
urable real-time MPSoC under low-power constraints
were suggested before. As a future work, we will
be interested in aperiodic/sporadic tasks. Also, we
will be interested in the reconfigurable routing of pe-
riodic/sporadic messages under low-power and low-
memory constraints.
REFERENCES
A. Samahi, E. B. (2007). Automated integration and com-
munication synthesis of reconfigurable mpsoc plat-
form. In Second NASA/ESA Conference on Adaptive
Hardware and Systems, Edinburgh.
Baker, T. (1991). Stack-based scheduling of realtime pro-
cesses. Journal of Real-Time Systems.
B.D. Bui, R. P. and Caccamo, M. (2005). Real-time
Scheduling of Concurrent Transactions in Multi-
domain Ring Buses. IEEE Transactions on Comput-
ers.
Bobda, C. and Ahmadinia, A. (2005). Dynamic intercon-
nection of reconfigurable modules on reconfigurable
devices. Design and Test of Computers.
Burns, A. and Wellings, A. (2001). Scheduling algorithms
for multiprogramming in a hard real time environ-
ment. In Addison Wesley Longmain.
Chetto, H. and Chetto, M. (1989). Some results of the earli-
est deadline scheduling algorithm. IEEE Transactions
on Software Engineering.
Davis, T. (2006). Bin Packing. http://www.geometer.org/
mathcircles.
F. Martinez Vallina, N. J. and saniie, J. (2007). Nova inter-
connect for dynamically reconfigurable noc systems.
IEEE Electro/Information Technology.
George, L. and Courbin, P. Reconfiguration of unipro-
cessor sporadic real-time systems: the sensitivity ap-
proach. In chapter in IGI-Global Knowledge on Re-
configurable Embedded.
H. Javaid, M. Shafique, J. H. and Parameswaran, S. (2011).
System-level application-aware dynamic power man-
agement in adaptive pipelined MPSoCs for multime-
dia. Computer-Aided Design, San Jose, CA.
Hansson, A. and Goossens, K. (2007). Trade-offs in the con-
figuration of a network on chip for multiple use-cases.
Procedings of International Symposium on Networks
on Chip (NOCS), Princeton, NJ.
I. Khemaissia, O. Mosbahi, M. K. and Bouzayen, W.
(2014). New Reconfigurable Middleware for Feasible
Adaptive RT-Linux. pervasive and computing embed-
ded and communication systems, Lisbon, Portugal.
I. Khemaissia, O. M. and Khalgui, M. (2014). New au-
tomatic agent-based solutions for feasible reconfig-
urable MP-SoC architectures. Proceedings of the 14th
International Conference on Application of Concur-
rency to System Design, Tunisia.
I. Khemaissia, O. M. and Khalgui, M. (2014). Reconfig-
urable CAN in real-time embedded platforms. Pro-
ceedings of the 11th International Conference on
Informatics in Control, Automation and Robotics
(ICINCO), Austria.
J. F. Zhang, M. Khalgui, Z. W. L. G. F. O. M. H. B. S.
(2015). Reconfigurable coordination of distributed
discrete event control systems. In IEEE Transactions
on Control Systems Technology.
J. Sepulveda, R. Pires, G. G. W. J. C. and Strum, M. (2012).
QoSS hierarchical NoC-based architecture for MP-
SoC dynamic protection. International Journal of Re-
configurable Computing.
Liu, C. L. and Layland, J. W. (1973). Scheduling algo-
rithms for multiprogramming in a hard real time envi-
ronment. J. Assoc. Comput. Mach.
N.Q. Wu, M. Z. and Li, Z. (2015). Short-term schedul-
ing of crude-oil operations: Petri net-based control-
theoretic approach. IEEE Robotics and Automation
Magazine.
P.K.F. Holzenspies, G.J.M. Smit, J. K. (2007). Map-
ping streaming applications on a reconfigurable mp-
soc platform at run-time. In International Symposium
System-on-Chip, Tampere.
R. Ben Atitallah, E. Senn ; D. Chillet, M. L. and Blouin,
D. (2013). An efficient framework for power-aware
design of heterogeneous MPSoC. IEEE Transactions
on Industrial Informatics.
Salehi, M. and Ejlali, A. (2015). A Hardware platform for
evaluating low-energy multiprocessor embedded sys-
tems based on COTS devices. IEEE Transactions on
Industrial Electronics.
Stensgaard, M. and Sparso, J. (2008). Renoc : A network-
on-chip architecture with reconfigurable topology.
Second ACM/IEEE International Symposium on
Networks-on-Chip.
ICSOFT-EA 2016 - 11th International Conference on Software Engineering and Applications
256
T.P.Baker (1990). A stack-based resource allocation policy
for realtime processes. In Real-Time Systems Sympo-
sium.
X. Wang, M. K. and Li, Z. W. (2011). Dynamic low power
reconfigurations of real-time embedded systems. In
in: Proc. 1st Pervas. Embedded Comput. Commu.
Syst, Portugal.
X. Wang, I. Khemaissia, M. K. Z. W. L. O. M. and Zhou, M.
(2015). Dynamic low-power reconfiguration of real-
time systems with periodic and probabilistic tasks.
IEEE Transactions on Automation Science and Engi-
neering.
Z-A. Obaid, A. S. and Hamidon, M. (2009). FPGA-based
implementation of digital logic design using altera
DE2 board. International Journal of Computer Sci-
ence and Network Security.
Z.Hajduk, B. and J.Sadolewski (2015). Architecture of fpga
embedded multiprocessor programmable controller.
In iIEEE Transactions on Industrial Electronics.
New Methodology for Feasible Reconfigurable Real-Time Network-on-Chip NoC
257