Real-Time Systems

, Volume 50, Issue 2, pp 230–269

Holistic schedulability analysis for multipacket messages in AFDX networks

  • J. Javier Gutiérrez
  • J. Carlos Palencia
  • Michael González Harbour
Article

DOI: 10.1007/s11241-013-9192-2

Cite this article as:
Gutiérrez, J.J., Palencia, J.C. & González Harbour, M. Real-Time Syst (2014) 50: 230. doi:10.1007/s11241-013-9192-2

Abstract

The ARINC-664, Part 7 (AFDX) standard defines a communication network based on Ethernet and the UDP/IP protocols. Contrary to general-purpose Ethernet, the timing behavior in AFDX is deterministic due to the use of special network switches and end systems with static routing tables and traffic policing at the sending end through mechanisms called virtual links. Even though the latencies in this network are bounded, there are scheduling and contention effects that need to be analyzed. In this paper we develop a response-time analysis for multipacket messages transmitted through an AFDX network including the scheduling of the virtual links and sub-virtual links, and also the contention in the end systems and in the switches. This analysis allows us to obtain worst-case latencies and output jitter for the network messages with a precise modeling of the sending and receiving ends. These results can be integrated in a holistic approach with the response time analysis of the threads in the processing nodes to obtain end-to-end response times in heterogeneous distributed systems.

Keywords

Real-time AFDX Schedulability Analysis Response-time analysis Networks Distributed Systems 

Nomenclature: Summary of notation

Most of the basic notation is defined in Sect. 3, “System model and assumptions”. In this section we list other notation used throughout the document. As general criteria for the notation we use the following:

Busy Period: identified with ‘BP

Equal or Higher priority: identified with ‘EHP

End System: identified with ‘ES

Higher priority: identified with ‘HP

Interference: identified with the letter ‘I

Jitter: identified with the letter ‘J

Latency: identified with the letter ‘L

Lower priority: identified with ‘LP

Message stream: identified with ‘MS

Number of instances of a message in the busy period: identified with letter ‘Q’, as in the response time analysis literature

Response time: identified with the letter ‘R

Switch: identified with “Sw

Switch queue: identified with “SQ

Transmission on the Ethernet link: identified as “Tr

Virtual Link Queue: identified with ‘VLQ

Work: identified with letter ‘w’ as is done in response time literature

Latencies are usually worst-case numbers. For best case numbers we use the same notation with a “b” superscript, so these are not repeated here. The list of notation is as follows:

BAGi: the bandwidth allocation gap for virtual link VLi, in time units

BPk: the length of the busy period for any message of VLk

EHP(VLk): the set of VLs that have as destination port in a switch the outgoing port of VLk with an equal or higher priority, including itself

ESk: the set of VLs in the same end system as VLk (excluding itself)

HP(VLk): the set of VLs that have as destination port in a switch the outgoing port of VLk, with a higher priority

IVL(ik): the worst-case interference on a message from stream σi being sent through VLk from the messages of the other VLs in the same end system (see Eq. (17))

Jpj: the worst-case release jitter of the packets arriving at the switch through VLj

Lmaxi: largest Ethernet frame for virtual link VLi, in bytes

LTr(i) the worst-case transmission latency on the Ethernet link of a last packet of a message belonging to stream σi (see Eq. (9))

\(L_{Tr_{max (k)}}\): the worst-case transmission latency on the Ethernet link of the largest-size packet of VLk (see Eq. (10))

LVL(ik): the latency of a message from stream σi being sent through VLk due to the scheduling of the virtual links in a specific end system (see Eq. (11))

LVLQ(ik): the worst-case latency of a message from stream σi in the VLk queue, including the effects of the messages that can be already awaiting on VLk itself (see Eq. (15))

LSVL(imk): the latency of a message from stream σi being sent through sub-VL SVLmk belonging to VLk due to the scheduling of the VLs in a specific end system (see Eq. (19))

LSVLQ(imk): the worst-case latency for the last packet of a message in the SVLmk queue, including the effects of the messages that can be awaiting in SVLmk and on the other sub-VLs sharing VLk (see Eq. (26))

LSw(ik): total latency in the switch for the last packet of message stream σi being sent through VLk (see Eq. (28))

LSQ(ik): the time that the last packet of message stream σi being sent through VLk is waiting in the switch’s output port queue, due to the interference of the rest of the packets in that output queue (see Eq. (35))

LP(VLk): the set of VLs that have as destination port in a switch the outgoing port of VLk, with a lower priority

MS(VLk): the set of message streams that share VLk with message stream σi (excluding itself)

MI(VLk): the set of message streams using VLk, including message stream σi

N(SVLmk): the set of sub-VLs that share VLk with SVLmk excluding itself

Qi: Number of instances of message stream σi in a worst-case busy period

Rij: The worst case-response time of step ij in an end-to-end flow (see Fig. 9 and Eq. (47))

VLi: Virtual link number i

wi(q): the worst-case latency of the last packet of the q-th instance of a message from stream σi to reach the VL scheduler (see Eq. (12))

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • J. Javier Gutiérrez
    • 1
  • J. Carlos Palencia
    • 1
  • Michael González Harbour
    • 1
  1. 1.Computers and Real-Time GroupUniversidad de CantabriaSantanderSpain

Personalised recommendations