Optimal Configuration of Virtual Links for Avionics Network Systems

As the bandwidth and scalability constraints become important design concerns in airborne networks, a new technology, called Avionics Full Duplex Switched Ethernet (AFDX), has been introduced and standardized as a part 7 in ARNIC 664. However, since previous research interests for AFDX are mainly bounded for analyzing the response time where flows information is given, configuration problem for both Maximum Transmission Unit (MTU) and Bandwidth Allocation Gap (BAG) over virtual links in AFDX networks has not been addressed yet even though it has great impact on required bandwidth.Thus, in this paper, we present two configuration approaches to set MTU and BAG values on virtual links efficiently while meeting the requirement of AFDX. The first is to search available feasible configuration (MTU, BAG) pairs to satisfy application requirements as well as AFDX switch constraints, and the second is to get an optimal pair to minimize required bandwidth through well-known branch-and-bound algorithm. We analyze the complexity of the proposed algorithm and then evaluate the proposed algorithm by simulation. Finally, we prove that the proposed schemes are superior to general approach in the aspects of speed and required bandwidth in AFDX networks.


Introduction
Due to increasing demands in Aircraft Data Networks (ADNs), such as high available bandwidth, minimum wiring to reduce the weight, and low development cost, typical communications technologies are expected to be replaced by new one. In other words, since ARNIC 429, MIL-STD-1553, and ARNIC 629 cannot accommodate the mentioned demands completely, a new technology, called Avionics Full Duplex Switched Ethernet (AFDX), has been implemented and then standardized for new ADN [1][2][3]. As a new technology for ADN, reliable and deterministic property as well as implementation cost should be considered. As a result, AFDX was introduced and recently deployed in data networks on the Airbus 380 aircraft.
In the point of technical issue, the AFDX follows original Ethernet for compatibility and scalability properties and extends it to ensure deterministic behavior and high reliability. In order to comply with the stringent requirements of ADNs as well as ensuring them, two new functions are introduced and implemented in AFDX. One is traffic control by guaranteeing the bandwidth of each application, and the other is duplicated transmission for reliability along dual redundant channels. While the former aims to bound the jitter and transmit latency within the deadline, the latter transmits the same data stream over disjoint networks concurrently. To achieve this goal, virtual links are introduced and created for each (source, destination) pair in AFDX. By controlling these virtual links, deterministic behaviors are completely guaranteed. Thus, determining flows for the same virtual link and its properties become the network designer's great task when it comes to configuring AFDX networks.
Two parameters of virtual links in AFDEX networks are important in terms of real-time requirements: BAG (Bandwidth Allocation Gap) and MTU (Maximum Transfer Unit). BAG is the time duration or period between two consecutive frames, where the value of BAG is 1 and 128 msec in a form of power of 2. MTU is the size of message in each frame. Thus, the AFDX configuration problem is to determine these two parameters of each virtual link without missing the deadline. In [4], they provided several algorithms and integerlinear programming formulation in order to solve the transmission parameters of virtual links as well as data routing over links in the AFDEX networks. They provided optimal solutions to minimize reserved bandwidth as well as actually consumed bandwidth, respectively. In [5], modeling method for AFDX frame management was introduced to ascertain the reliability properties of design. Another important property of AFDX, reliability through redundant transmissions, was analyzed by formal method in [6].
Another related work is to analyze the system metric such as response time of AFDX networks. In [7], they applied network calculus, queuing networks simulation and model checking into evaluating bounding end-to-end delays on AFDX networks. In [8], they showed that Trajectory approach which analyzes the worst-case delays throughout message flows outperforms the network calculus method under industrial configuration. In [9], they obtain worst-case latency and output jitter for the network messages by defining a realtime model for a communications network based on AFDX. Another approach in [10] is performance evaluation system through simulation with popular NS-2 and analysis of impact of several system parameters such as scheduling algorithm.
Since most of existing research work has assumed the preconfigured networks in advance, configuration problem should be mentioned prior to deployment. To achieve this goal, in this paper, we focus on two main problems: (i) finding feasible BAG and MTU parameters of virtual links in an AFDX switch for given virtual links of messages and (ii) providing an optimal solution in feasible pairs to minimize the total bandwidth. We define two problems formally and then solve the problems using the branch-andbound technique. While our earlier work [11] only provided an algorithm to solve the first problem, this paper improves and extends it to include optimal solution for the purpose of minimizing the total bandwidth. Finally, complexity of the proposed scheme and experimental results through diverse simulation scenarios are given to demonstrate the suitability of the proposed scheme.
The rest of this paper is organized as follows. The system model and the problem definition are provided in Section 2. The solution of a feasible configuration problem is dealt with in Sections 3 and 4, while the optimal algorithm is provided in Section 5. Performance evaluations are shown in Section 6. Finally, conclusion and further work followed in Section 7.

System Model.
In this paper, we assume that an avionics system is composed of many computing or sensing units and AFDX network switches to connect other computing units. Thus, an AFDX message is uniquely defined by UDP source and destination ports, as shown in Figure 1. Sine we focus on real-time AFDX messages, a message flow is defined by ( , ), where is the payload of the message in bytes and is Message Transmit Cycle (MTC) of the message in msec.
That is, a message of bytes is generated every time units and is delivered to the destination application.
The basic communication unit in AFDEX networks is defined as a virtual link (VL). For example, Figure 1 shows three virtual links among LRUs. These virtual links sharing physical links are scheduled in AFDX network switches. Furthermore, multiple applications transmit real-time messages throughout a common virtual link if their source and destination units are the same. In the example of Figure 1, two application messages are shared in the virtual link VL 3 .
There are two important parameters in a virtual link. The first is Bandwidth Allocation Gap (BAG) to specify a periodic frame. In AFDX switches, a BAG is defined by a value of 2 msec, where = 0, 1, . . . , 7. As all BAGs are 2 msec, virtual links are multiplexed in AFDX switches. The second parameter is Maximum Transfer Unit (MTU) of the message in bytes at each frame. Payloads of applications in a virtual link are transmitted within maximum MTU bytes in a single frame. If the size of a payload is greater than the MTU, it is fragmented into multiple frames. Therefore, a virtual link VL is defined by (BAG , MTU , ) as follows: (i) BAG : Bandwidth Allocation Gap or period of VL in a value of 2 msec where = 0, 1, . . . , 7.
(ii) MTU : maximum transfer unit or message size of VL in bytes.
(iii) : a set of message flows in VL , where the th message flow is denoted as , = ( , , , ).

Problem Definition.
For a given virtual link VL , MTU and BAG are configured so as to meet all the real-time requirements of message flows in the link. If the payload of a message is greater than the MTU size, it is transmitted in multiple fragmented packets. Since all BAGs of VLs are harmonic, the schedulability analysis is easily derived by utilization analysis. Thus, (1) tells the message constraint of VL with messages to guarantee the real-time requirement of all message flows in the link [2]: Let us assume that the system has VLs on an AFDX switch with bandwidth in bps. Each VL is configured with (MTU , BAG ), so that MTU bytes are transmitted every BAG msec. In addition, each VL message requires the overhead of 67 bytes as shown in Figure 2. Since the total bandwidth of VLs should not exceed the network bandwidth, the following bandwidth constraint should be met: The last constraint of virtual link scheduling is about jitter. The maximum allowed jitter on each virtual link in  the ARINC 664 specification requires 500 sec [2]. Thus, the following equation tells the jitter constraint, where 40 sec is the typical technological jitter in hardware level to transmit an Ethernet frame: In this paper, we define two problems related to configuration of virtual links of an AFDX switch. The first problem is to find a feasible configuration of BAG and MTU pairs of virtual links, which satisfies three constraints of (1), (2), and (3). This is useful and important when an administrator finds a feasible configuration of a given set of real-time messages in the AFDX switch. The following tells the formal definition of the problem. The second one is to find an optimal configuration of virtual links for the purpose of minimizing the total bandwidth. The bandwidth remaining after reserving real-time flows is generally used for non-real-time network traffic. Thus, it is important to find a configuration with the least bandwidth as 4 International Journal of Aerospace Engineering We solve both problems of AFDX-CONF and AFDX-BOPT in two steps. The first step is to find the list of (BAG , MTU ) which guarantees the schedulability of message flows in VL . Each (BAG , MTU ) should be selected such that it satisfies the constraint of (1) (in Section 3). Then, we find the solution of given virtual links with consideration of two constraints of (2) and (3) (in Sections 4 and 5).

Schedulable BAG and MTU Pairs of a VL
In AFDX networks, multiple applications should send their messages to a virtual link queue in the system, so that the scheduling issue for those messages is required. Let us consider a virtual link VL 1 with two message flows of 1,1 (80, 10), 1,2 (100, 12) as an example. The values of BAG and MTU of VL 1 are set to satisfy (1) in order to meet the realtime requirement of two messages. The left side of (1) is shown in Figure 3 as a step function, while 1/BAG is also drawn in the figure for different BAG values.
For a given BAG , there exist many MTUs which satisfy (1). For example, when BAG 1 = 1, all MTUs can be used if MTU ≥ 17, as shown in Figure 3. Since a longer MTU size requires more bandwidth and jitter, the smallest value should be selected. Thus, MTU 1 of the example VL 1 is 17 bytes when BAG 1 is 1 msec. Similarly, MTUs of VL 1 for BAGs with 2 msec and 4 msec are given by 40 bytes and 100 bytes in each, as shown in Figure 3.
When the MTU size is greater than the maximum payload size of messages, the required utilization is not changed. BAG is greater than or equal to 8 msec. Therefore, the feasible solutions (BAG 1 , MTU 1 ) of VL 1 are given by (1,17), (2,40), and (4, 100). The pseudocode of Algorithm 1 describes how to obtain the set of feasible BAG and MTU pairs of a given virtual link VL . The first part of the algorithm gathers all step integers at which the utilization function begins a new piecewise constant due to the ceiling function. We denote the set of such step integers as step . For each message , , such step points are derived and added into step (lines 1-8).
Then, for each 2 value, we find the minimum MTU which satisfies (1) (lines 9-12). We denote MTU , by the feasible MTU in case of BAG = 2 for a virtual link VL . If there is no feasible MTU, then MTU , = 0. For a given flows, the time complexity of Algorithm 1 is ( ⋅ | step |) since we have to find and check the feasibility at each step point of messages.   (2) and (3). There are some tradeoffs among feasible BAG and MTU pairs of a virtual link VL . Solutions with smaller BAG provide less jitter due to smaller MTU size, while they require more bandwidth due to overhead of fragmentation. For example, if we select (1,5) and (1, 6) as (BAG, MTU) of two VLs of Table 1, it does not meet the bandwidth constraint of (2). On the contrary, if (2,9) and (2, 12) are selected as (BAG, MTU) of two VLs, this configuration does not meet the jitter constraint of (3). The selection of (1, 5) and (2, 12) of VL 1 and VL 2 satisfies both constraints so that all messages in VLs meet their real-time requirements.

Feasible BAG and MTU Pairs of VLs
Let us assume that MTU , is derived from Algorithm 1 for each and . And, let us denote it by Then, the problem of AFDX-CONF can be stated as the following linear integer problem with × 8 binary variables and three constraints: to find subject to

Algorithm.
For given virtual links, the exhaustive search of the problem AFDX-CONF takes (8 ) since each virtual link might have maximum eight solutions. In this paper, we provide an enhanced branch-and-bound algorithm proposed in [11] in order to find a feasible solution for given virtual links with their feasible BAG and MTU pairs derived by Algorithm 1. In [11], we used the cumulative bandwidth and jitter for the pruning condition. In this work, however, we define the bound functions of bandwidth and jitter for the remaining levels in the search tree in order to find the pruning node as early as possible. The following is the pruning condition and branch-and-bound strategy of the proposed algorithm.
(i) Pruning Condition. The pruning condition is two constraints of (2) (2) call Find Feasible BAG MTU (VL ) in . Otherwise, the empty set is returned, which implies no feasible configuration is found for a given set of virtual links.

Optimal Solution of BAG and MTU Pairs for Reducing Bandwidth
In this section, we focus on finding an optimal configuration of virtual links in terms of the used bandwidth of the configuration. It is important to minimize the total bandwidth of virtual links for real-time traffic because we can use the remaining bandwidth for non-real-time network traffic in avionics systems. The problem of AFDX-CONF finds a feasible solution which satisfies three constraints of AFDX switch as soon as possible, so that it does not minimize the bandwidth. However, AFDX-BOPT finds a feasible solution which minimizes the total bandwidth, so that the problem is rewritten as follows: subject to For example, there are two feasible configurations in Table 1: {(1, 5), (2, 12)} and { (2,9), (1, 6)} under the bandwidth constraint of 1 Mbps. The first configuration requires 892 kbps, while the second one uses 888 kbps. Thus, in this case, { (2,9), (1, 6)} is the optimal configuration of two virtual links.
In order to solve the problem, we provide a branch-andbound algorithm. The bound function is the same as one in Algorithm 2, so that we use the minimum bandwidth and jitter for bound values of each node. Thus, the pruning condition is two constraints of (8) and (9) using the bound functions. The branch strategy is different from DFS. Since the algorithm finds an optimal solution as soon as possible, we select a node with the minimum bandwidth bound function and branch its child nodes. The pseudocode of this is shown in Algorithm 3. Since the branch-and-bound technique searches all possible cases in the worst-case, the time complexity of Algorithm 3 is (2 ) for given virtual links.
In Algorithm 3, a has four data: . V for the node level, . for the bandwidth bound, . for the jitter bound, and . for the selected configuration from the root to the node. We use a priority-queue for managing live nodes in the order of bandwidth bound. The function insert node in Q ( , , , ) makes a node with four data and inserts it into the priority queue. Then, the function get first in Q ( ) returns the minimum-bandwidth node in currently live nodes in the queue. When the algorithm reaches a leaf node (line 12), it finds an optimal solution and returns the configuration (line 13).
The branch strategy is implemented by the priority queue. The function call of get first in Q ( ) selects such node to branch among live nodes. For all child nodes of the selected node, the bound functions of bandwidth and jitter are updated (lines 16-17). The pruning condition is checked in line 18. If a new child node is not pruned, it is added in the priority queue (line 19). The algorithm repeats this procedure until it finds an optimal solution or there is no live node in the queue. If there is no feasible configuration for virtual links, it returns the empty set for notifying no feasible solution (line 22).

Performance Evaluations
In this section, we show performance evaluation of the proposed algorithm. First, we evaluate the execution time of the proposed algorithms compared with the brute-force search and the previous work [11]. In the experiments, we generate five virtual links with two message flows in each virtual link. The payload of a message is randomly generated from 20 to 80 bytes. The MTC or period of a message is International Journal of Aerospace Engineering 7 Algorithm Find Minimum Bandwidth Configuration ( ) (1) for from 1 to do (2) call Find Feasible BAG MTU (VL ) (3) for from 1 to do (4) ← log , ∈ {(MTU , + 67)/bag , } ← log , ∈ {MTU , + 67} (6) endfor (7) 0 ← ∑ =1 (8) 0 ← ∑ =1 (9) insert node in (0, 0 , 0 , ⌀); (10) while is empty ( ) = false do (11) node ← get first in (   randomly selected among five different intervals, as shown in Figure 4. The network bandwidth is set as 6 Mbps. For each case of Figure 4, we generate 5000 random sets of five virtual links and measure the average execution time of algorithms. Figure 4(a) shows the normalized execution times of the brute-force search, DFS in [11], and EDFS in this paper for solving AFDX-CONF. Similarly, Figure 4(b) shows the performance of the proposed algorithm EBFS compared to the brute-force search and the modified version of DFS [11] for solving AFDX-BOPT.
As shown in Figure 4, the proposed algorithms run much faster than the exhaustive search algorithm due to the branchand-bound technique. Let us note that the -axis in Figure 4 is log-scale value. Table 2 shows the average number of BAG and MTU pairs per virtual link. As the MTCs become larger, the number of possible solutions of each virtual link is increased, which requires more execution time, as shown in Figure 4. Since we use bound functions for bandwidth and jitter, the proposed ones are faster than the previous algorithm in [11].  Next, we compared the bandwidth reserved by the solutions of AFDX-BOPT with feasible solutions of AFDX-CONF. As shown in Figure 5, the proposed algorithm for AFDX-BOPT reduces much bandwidth, so that the remaining bandwidth can be used for other non-real-time network traffic.
We also analyzed the effect of algorithm execution times in terms of the number of virtual links. In Figure 6, we increased the number of virtual links from 1 to 6, where each virtual link includes two messages. As shown in Figure 6, the execution time of brute-force search increases exponentially since the search space is (2 ). Let us note that -axis in Figure 6 is log-scale. Although the time complexity of the proposed algorithm is (2 ), both EDFS and EBFS are much faster than the previous algorithms in [11]. This is mainly because we use efficient bound functions in the algorithms. The execution time of EBFS in case of 6 virtual links is decreased since the algorithm decides that there is no solution in the upper-layer of solution trees.

Conclusions
In this paper, we provided an efficient algorithm to find feasible configuration of an AFDX switch for the purpose of meeting the real-time requirements of all messages in avionics. Two important parameters of BAG and MTU of virtual links are considered in the configuration problem. The proposed algorithm is based on branch-and-bound technique so that the simulation results show that it is faster than the exhaustive search algorithm of the previous work.
We also provide an optimal solution of the problem for the purpose of reducing the total bandwidth of configuration.  Throughout simulations, we showed that the algorithm runs fast and reduces much bandwidth compared with the algorithm to find a feasible set. The proposed algorithm is useful when the remaining bandwidth for real-time traffic is used for other network traffic.
Since the AFDX network configuration becomes an important issue in avionics systems, we will investigate many problems based on the results of this paper. For example, we will extend the problem into multiple AFDX switches or discuss the routing issues through the networks.