An Architecture To Support Dynamic Service Composition in Distributed Real-Time Systems
An Architecture To Support Dynamic Service Composition in Distributed Real-Time Systems
An Architecture To Support Dynamic Service Composition in Distributed Real-Time Systems
Real-Time Systems
4
msg5 msg1 2B msg2B carried out by data buffers, as considered in the application
2
1
msg2 msg4
5
msg1 model above, without explicit control signals.
1 3
3 2A msg2A Beyond the tasks and messages scheduled by the mas-
(a) Distributed application ab- (b) Different versions of service 2 ter, the FTT paradigm also considers the existence of a
straction specific window inside each EC to support the transfer of
non-periodic messages, called asynchronous, e.g., related
2B 3C
msg1 msg2
3B
msg3 to management actions, signalling and logging (CM and
1
2A
3A
4
NRTM). These, however, to do not interfere with the sched-
2
3 uled, i.e., synchronous, messages (SM).
(c) Hidding the different versions EC(i) EC(i+1)
synchronous asynch
window window
Figure 1. Application model abstraction
TM SM2 SM5 SM8 SM9 CM3 NRTM4 TM SM4 SM11 SM9 CM1 NRTM2 NRTM7
mentations of the same service and make it transparent to Figure 2. FTT Elementary Cycle
the other tasks that interact with that service (fig. 1(c)).
Such mechanism is basically a system manager that con- Some important features of the FTT paradigm are: Slave
trols the execution of tasks and transmission of messages nodes are not aware of the particular scheduling policy and
across the distributed system, including the respective mul- the master can change it on–the–fly autonomously or on de-
tiple versions, thus inherently playing the role of composer. mand; Slave nodes are synchronized upon the reception of
To implement this mechanism we use the FTT–paradigm the TM; All dispatching information per EC is conveyed in
that already includes a system manager to control task ex- the TM; The master holds all current timing requirements
ecutions and message transmissions by means of specific of the system; Any changes to such requirements are sub-
trigger messages, and we add the necessary structures to ject to on–line admission control to filter out changes that
support the composition, namely to describe the applica- could jeopardize the system schedulability; The activation
tions and their associated services as well as all the service periods, the deadlines and the offsets are integer multiples
versions available and their properties. of the EC duration.
produce message 1
t t Composer
Producer ( τ 1) W W
1111 0
0000 1 1111 0
0000 1
1 1
t=0 O
m addMessage(id)
1 t
T delMessage(id)
1
produce message 2
App Interface
Producer− ( τ ) W
t
Consumer 2
111 0
000 1
2
t=0 O
m
2 Application Admission Control FTT−
Service−Nodes Ethernet
DB
t
Consumer ( τ 3)
W
111
000
3
t=0
EC Scheduler
m Scheduler Dispatcher
Network W W
m Register
1111
0000 111
000
1 2
t=0
Ethernet
1
{ QoS1
OUT:msg 01
2a
{ QoS2a
IN:msg X1
OUT:msg 12
3
{ QoS3
IN:msg X2
2b
Master
EPIC 266MHz EPIC 266MHz EPIC 266MHz
Intel Mobile Pentium MMX Intel Mobile Pentium MMX
Intel Mobile Pentium MMX
128MB RAM
(a) Configuration of nodes 128MB RAM 128MB RAM
1
{ QoS1
OUT:msg 01
2a
{ QoS2a
IN:msg X1
OUT:msg 12
3
{ QoS3
IN:msg X2 Figure 6. Configuration of nodes
async msgs
async msgs
Master
2b
{ QoS2b
IN:msg X1
OUT:msg 22
uses Switched Ethernet [14]. Then we defined an exper-
imental setup (fig. 6) using computers running RT-Linux.
The FTT EC is set to 1 millisecond. The system executes
(b) New node attach one synthetic application composed of three services simi-
1
{ QoS1
OUT:msg 01
2a
{ QoS2a
IN:msg X1
OUT:msg 12
3
{ QoS3
IN:msg X2
larly to what is shown in fig. 1(b).
Master
2b
{ QoS2b
IN:msg X1
OUT:msg 22
sumer/producer task
1
Fig. 5(a) depicts an illustrative simplified scenario in
which all nodes implement only one service and the appli-
Packets/t
0.8
Producer
Intermediate Consumer 1
1.4 Intermediate Consumer 2
1.2
1
Packets/t
0.8
0.6
0.4
0.2
0
3e+08 3.05e+08 3.1e+08 3.15e+08 3.2e+08
Tiempo
Figure 10. Experiment 2: Interactivation delay
Figure 8. Experiment 2: Message arrivals at
the consumer node
6 Conclusions and Future Work
In this experiment we change a temporal parameter of
one of the consumer/producer tasks. One has an offset of Next generation distributed real–time systems will re-
m
O2A = 100EC for producing the second message, and the quire more flexibility, and the ability of reacting and chang-
m
other has O2B = 200EC for the same. This offset impacts ing their behaviour at run–time, i.e. adaptability. Service–
directly on the QoS of the application, leading to different based approaches can be used in the development of such
end–to–end delays. We can see (figures 8 and 9) how the systems, in order to provide this desired flexibility by means
end–to–end delay is modified from 150 to 250 microsec- of the definition of a model and an architecture that support-
onds every time the service implementation is switched, as dynamic service composition, allowing the applications to
expected. The interactivation delay (fig. 10) shows peaks change dynamically the set of services that compose them,
of ±100 milliseconds when the switching occurs due to the supporting for each service the definition of different ver-
difference between the two different offsets of the transmis- sions or profiles.These aproaches also offer the possibility
sions carried out by the different versions of the intermedi- of providing dynamic QoS management, load balancing and
ate service. fault tolerance.
This experiment shows that when we switch between This paper proposed an architecture to support dynamic
two different profiles, i.e., implementations, of a service, service composition in a distributed embedded real–time
the consumer of the messages produced by such service will environment. This architecture allows an application to be
not notice such switching, except for an anticipation or de- composedof existing services dispersed in the network, and
lay of its activation, caused by the different timing parame- to dynamically switch between different versions of any
ters of the different profiles, which lead to a corresponding given service in a transparent way with respect to service
end–to–end delay modification. This result shows that the location, timing features or set of consumers of its mes-
proposed architecture can support on–line updating of code, sages. The architecture is built as an extension to the FTT
even when its timing characteristics are changed. paradigm. This extension required the introduction of the