MTU configuration for real-time switched Ethernet networks

MTU configuration for real-time switched Ethernet networks

ARTICLE IN PRESS JID: SYSARC [m5G;April 21, 2016;14:10] Journal of Systems Architecture 0 0 0 (2016) 1–11 Contents lists available at ScienceDirec...

2MB Sizes 0 Downloads 83 Views

ARTICLE IN PRESS

JID: SYSARC

[m5G;April 21, 2016;14:10]

Journal of Systems Architecture 0 0 0 (2016) 1–11

Contents lists available at ScienceDirect

Journal of Systems Architecture journal homepage: www.elsevier.com/locate/sysarc

MTU configuration for real-time switched Ethernet networks Mohammad Ashjaei a,∗, Moris Behnam a, Luis Almeida a,b, Thomas Nolte a a b

MRTC, Mälardalen University, P.O. Box 883, SE-721 23 Västerås, Sweden IT/DEEC, University of Porto, Porto, Portugal

a r t i c l e

i n f o

Article history: Received 10 September 2015 Revised 5 February 2016 Accepted 14 April 2016 Available online xxx Keywords: Switched Ethernet HaRTES Response time analysis MTU Optimization

a b s t r a c t In this paper, we show that in real-time switched Ethernet networks reducing the Maximum Transmission Unit (MTU) size may cause an increase or decrease in the response time of messages. This contradicting behavior arises an optimization problem for configuring the MTU size. We formulate the optimization problem in the context of the multi-hop HaRTES architecture, which is a hard real-time Ethernet protocol. As part of the solution, we propose a search-based algorithm to achieve optimum solutions. We modify the algorithm by presenting two techniques to reduce the search space. Then, we propose a heuristic algorithm with a pseudo-polynomial time complexity based on the search-based algorithm. We perform several experiments, and we show that the proposed heuristic results in an improvement regarding messages response times, compared with configuring the MTU to the maximum or minimum values. Moreover, we show in small network configurations that the heuristic performs as good as the search-based algorithm in many cases. © 2016 Elsevier B.V. All rights reserved.

1. Introduction In recent years, system architectures with more complex functionalities are integrated into networked embedded systems. These systems normally exchange data with a high rate within the network. For instance, in modern vehicles the trend of using infotainment devices is increasing, which requires a communication technology with high bandwidth support [1]. As a response to this demand, real-time communication protocols based on switched Ethernet have been proposed. These protocols include Ethernet POWERLINK [2], Ethernet AVB [3] and the HaRTES architecture [4], to name a few. The main aim of these solutions is to achieve the timeliness guarantee, and at the same time transmit a massive amount of data effectively. A prominent feature of the Ethernetbased protocols is that a packet can hold the data having a size up to 1500 bytes. This is relatively large compared to the other communication protocols such as CAN with a limited size of 8 bytes of data per packet. The maximum data size that a packet can carry in Ethernet can be configured by the Maximum Transmission Unit (MTU). It should be noted that configuring the MTU size in the network may have a big impact on the performance of the protocol. For instance, limiting the MTU size of the messages in a specific in-vehicle network based on standard Ethernet can reduce the latency of the messages significantly [5].



Corresponding author. Fax: +46 21 103110. E-mail address: [email protected] (M. Ashjaei).

In addition, in some industrial real-time applications the amount of data, that is transmitted through the network, can be very large. For example, in media control applications [6], machine vision [7] and in-vehicle networks [8], where the audio and video data streams are transmitted, the data size can reach tens to hundreds of KBytes. In order to send the large amount of data it is fragmented into smaller packets to be sent sequentially. The fragmentation is done based on the MTU size. In Ethernet-based protocols, each packet has an overhead to keep packet information such as the MAC address. Configuring the MTU size to a large value decrements the number of packets resulting from one message due to the fragmentation. Therefore, the overhead associated with the Ethernet packets decreases, which in turn increases the performance of the transmission. However, in cyclic-based switched Ethernet protocols, such as POWERLINK [2] and HaRTES [9], a contradicting behavior occurs. Using a large MTU size in such protocols increases the idle time in each cycle of the transmission, an idle time that is there to prevent overruns of the packets. Thus, it reduces the bandwidth efficiency. This contradicting behavior arises an optimization problem for designating the best MTU size, given a cyclic-based switched Ethernet protocol. 1.1. Contributions In this paper we extend our previous work on HaRTES architecture [9] to assign MTU for the messages targeting a shorter response time. Although we present the problem and solutions in the multi-hop HaRTES architecture [9] as a concrete case, our

http://dx.doi.org/10.1016/j.sysarc.2016.04.009 1383-7621/© 2016 Elsevier B.V. All rights reserved.

Please cite this article as: M. Ashjaei et al., MTU configuration for real-time switched Ethernet networks, Journal of Systems Architecture (2016), http://dx.doi.org/10.1016/j.sysarc.2016.04.009

JID: SYSARC 2

ARTICLE IN PRESS

[m5G;April 21, 2016;14:10]

M. Ashjaei et al. / Journal of Systems Architecture 000 (2016) 1–11

techniques and results are generally applicable to other cyclicbased protocols. We motivate and formulate the optimization problem, where the goal is to select an MTU per message such that the response time of messages becomes as short as possible. Towards an efficient MTU size configuration, we propose two algorithms. First, we present a searched-based algorithm to find optimum MTU sizes. Then, we modify the algorithm by proposing two techniques to reduce the search space significantly, still attaining the optimum MTUs. Second, we propose a heuristic algorithm with a pseudo-polynomial time complexity based on the search-based algorithm. Further, we perform several experiments to show the effectiveness of the heuristic algorithm. We show that selecting the MTU sizes using the proposed heuristic can improve the message response times up to 30% compared to setting the MTUs to the minimum value. Also, we show that in small network configurations the heuristic performs as good as the search-based algorithm (optimum MTUs) in many cases. Finally, we show that the search space reduction techniques can reduce the search space up to around 84%, that makes the heuristic algorithm much faster. 1.2. Organization The rest of the paper is organized as follows. Section 2 presents related work. Section 3 presents the multi-hop HaRTES architecture, while Section 4 sketches the recap of response time analysis. Section 5 formally describes the problem and presents a comprehensive example. Section 6 proposes the algorithms, and Section 7 shows the experiments. Finally, Section 8 concludes the paper and presents future work. 2. Related work The benefits and drawbacks of data fragmentation in large scale heterogeneous networks have been discussed in [10]. Sending large packets of data through the network results in an increase of throughput as the relative protocol overhead is reduced. However, in heterogeneous networks the MTU sizes can vary in different routes. Therefore, the large packets may need to be fragmented into smaller packets. In order to deal with this problem, optimal routing techniques are proposed to reduce the fragmentation as much as possible. Also, several fragmentation techniques, such as the one presented in [11], are proposed to obtain higher performance. In energy-constrained wireless networks, such as Wireless Sensor Network (WSN) and ad hoc network, the packet length plays a very important role. Using large packet length reduces the energy consumption, whereas it increases the latency. Therefore, configuring the packet size during the design phase of such systems becomes a challenge. There are several works that are addressing this challenge keeping different targets for choosing the best packet size. In the work presented in [12] and [13], such a problem is discussed and the effect of the protocol header by fragmentation of packets on the average performance is investigated. Moreover, in the work presented in [14] and [15] the optimum packet size is studied based on three objectives, including throughput of the packet, consumption of energy, and utilization of resources. In addition, there are several works focusing on specific applications to find an optimal data packet size. For instance, optimum packet size in underwater wireless networks is studied in [16]. Also, the effect of the MTU size in the performance of wireless video is investigated in [17], in which the goal is to increase the quality of the video by increasing the signal-to-noise ratio. The work presented in [18] proposed a solution to find the optimum MTU size in power line communication networks. In healthcare monitoring systems with various error conditions the packet size setting can alleviate congestion problems, which is studied in [19].

There are also some works done to adjust the packet size dynamically in wireless networks. For instance, in [20] the packet size is selected based on the requirements coming from security issues. Also, in [21] the packet size is adjusted during run-time using PID and fuzzy closed loop control, targeting minimum delay for packets. However, the above mentioned proposals are focused on wireless networks with different goals in mind, mostly looking at a specific application. Similar problem exists in the real-time tasks scheduling with limited preemptions [22]. A task can be split to several chunks with various sizes due to preemptions, which is similar to the fragmentation of a message into several packets. In a set of tasks, selecting the preemption points of a lower priority task changes the size of its chunk, hence it affects the blocking term for a higher priority task. Therefore, an algorithm to select the optimum preemption points of the tasks is given in [23], where the goal is to minimize the preemption overhead. Moreover, in the same context, the longest duration of the last chunk of the task is determined by an algorithm given in [24], in order to make the system schedulable. However, the above mentioned problem has less complexity compared with the MTU configuration, as the effect is only from the lower priority to the higher priority tasks. The effect of the MTU size is not only from the lower priority messages, but also from the higher priority messages as well as from the idle time. Hence, the proposed algorithms are not suitable in this work. The work presented in [5] focused on in-vehicle networks based on the standard switched Ethernet. The authors proposed a solution to limit the path MTU of lower priority packets that share routes with safety-critical packets in order to decrease the latency of the packets. However, the paper focuses on the path MTU, which is the smallest MTU of the path from a source to a destination. Also, the work presented in [25] proposed two algorithms (optimum and simplified) to find one optimum MTU for all messages in the scope of the single-switch FTT-SE [26] protocol. Later, we proposed a heuristic algorithm [27] in the same context, where the MTU is selected for each message. Nevertheless, the above algorithms are applicable only on small networks consisting of a single Ethernet switch, and they are not scalable. Moreover, the algorithms in [25] use utilization-based schedulability tests, and the algorithm in [27] uses a tighter schedulability analysis based on an approximation of the response time analysis. Therefore, in both cases they result in less accurate solutions. In this work, we focus on multi-hop real-time switched Ethernet networks. We use a tight response time analysis (not an approximation) to find the MTU per message such that the worstcase delay of messages becomes as short as possible. 3. Multi-hop HaRTES architecture The HaRTES architecture is a micro-segmented network containing HaRTES switches [28]. This architecture supports real-time periodic, real-time sporadic and non-real-time traffic, which are scheduled dynamically in a cyclic transmission. In this section, we briefly describe the HaRTES switch structure. Then, we present the multi-hop topology of the HaRTES architecture, and the developed traffic forwarding method, called reduced buffering scheme. 3.1. HaRTES switch The HaRTES switch is a modified Ethernet switch implementing master-slave communications. The master module is implemented inside the switch, which is responsible to schedule the traffic, that is sent from the slave nodes. The slave nodes are the data sources or consumers (e.g., sensors and actuators), that exchange real-time data through the network. The switch contains the admission control and QoS management allowing it to perform dynamic

Please cite this article as: M. Ashjaei et al., MTU configuration for real-time switched Ethernet networks, Journal of Systems Architecture (2016), http://dx.doi.org/10.1016/j.sysarc.2016.04.009

ARTICLE IN PRESS

JID: SYSARC

[m5G;April 21, 2016;14:10]

M. Ashjaei et al. / Journal of Systems Architecture 000 (2016) 1–11

3

Fig. 3. Idle time presentation.

Fig. 1. The multi-hop HaRTES topology.

Fig. 2. The EC partitioning in HaRTES.

reconfiguration, i.e., adding, removing or changing the traffic parameters during run-time, without disrupting the timeliness guarantee at message transmission. For each port of the HaRTES switch three queues are implemented. Two priority-based queues are assigned to handle realtime periodic and real-time sporadic traffic, and one FIFO queue is used to deal with the non-real-time traffic [9]. The scheduling details of the real-time traffic is discussed in Section 3.3.

Both periodic and sporadic messages, that are received by the HaRTES switch, are placed in the associated priority queues of the output ports. The messages in the priority queues are immediately forwarded to the next HaRTES switch as long as there is enough time left in the window. Whenever there is not enough time in the window to transmit the message further, the message is put on hold in the priority queue until the window in the next EC. This process is repeated until the message is delivered to the destination node. In each cycle of transmission, there might be a time duration where a message cannot fully fit in. Thus, the time duration is not used for the data transmission. The unused duration is called an idle time. Fig. 3 shows an idle time in ECk where m3 could not fit in and its transmission is postponed to the next EC. 4. Response time analysis recap In this paper, the MTU sizes are selected targeting the response time reduction for messages. Therefore, the response time analysis is required. Here, we briefly discuss the response time analysis for the reduced buffering scheme, explained in the previous section. The detailed analysis and proofs are given in [9]. In order to present the analysis, the system model is presented beforehand.

3.2. Multi-hop HaRTES topology The multi-hop HaRTES architecture follows a tree topology. An example of this architecture is illustrated in Fig. 1, where three HaRTES switches, H1-H3, form a tree. The slave nodes in this example are nodes A-F. The connections between nodes and switches, and between two switches are called links. 3.3. Reduced buffering scheme The reduced buffering scheme for the multi-hop HaRTES architecture is thoroughly described in [9]. Here, we briefly explain the method. The master module inside the HaRTES switch schedules the traffic dynamically within fixed-duration time-slots, called Elementary Cycle (EC). The EC is divided into two windows, the Synchronous Window to handle the real-time periodic traffic, and the Asynchronous Window to deal with the real-time sporadic and non-real-time traffic. Fig. 2 shows the EC for two links in the network. Note that the size of windows in each link can be varied depending on the actual load crossing that link. The switch behaves differently for periodic and sporadic messages. The activation of the periodic messages is known in advance. Therefore, the switch that is connected to a source node of a periodic message determines the activation of the message. Then, it checks whether the message can be transmitted within its associated window, i.e., the Synchronous Window. The scheduled messages are encoded into a particular message, called Trigger Message (TM), that is transmitted to the slave node during the Guard Window (Fig. 2). The messages that do not fit in the window of the EC are kept in the ready queue for the upcoming EC. The slave node receives the TM, decodes it and starts the transmission of the messages identified in the TM. Unlike the periodic messages, the sporadic messages are transmitted autonomously by the slave nodes, within the Asynchronous Window, without triggering by the TM.

4.1. System model The message set  , composed by N messages, is defined in Expression (1).

 = {mi (Ci , PKi , nPi , Di , Ti , Li ), i = 1 . . . N}

(1)

In this model, Ci is the total transmission time of the message including the protocol overhead. Large messages are fragmented into several packets, which the maximum packet size among them is presented by PKi . The data size (payload) of PKi equals to the MTU size, denoted by MTUi . Note that in our model we consider an individual MTU per message. The number of packets that compose mi is denoted by nPi . The index of the message shows its priority, and a lower number indicates a higher priority, i.e., m1 is the highest priority message in the set. Therefore, the messages in the set are sorted based on their priority. The relative deadline and period of the message are represented by Di and Ti in number of ECs, respectively. Note that the analysis is presented for the constrained deadline model, i.e., Di ≤ Ti . A set of links that the message crosses in between origin and destination is presented by Li , where the number of links in the set is denoted by ni = |Li |. The set of links that the message traverses from a specific link la until link lb is presented by Li,a,b , where Li,a,b ⊆ Li and 1 ≤ a ≤ b ≤ ni . In this paper, we assume a fixed-priority scheduling policy for the scheduler and we consider the priority assignment for the messages according to the Rate Monotonic algorithm [29]. The HaRTES switch introduces two types of delays: (i) storeand-forward delay, and (ii) hardware fabric latency. The former corresponds to the time needed to buffer a message before forwarding it, while the latter is the latency due to the switch processing time. The sum of these two delays is specified by SWDi . The total response time of mi is specified by RTi , which is the time elapsed between the activation time of mi in the source node and reception time of mi at the destination node. In addition, the

Please cite this article as: M. Ashjaei et al., MTU configuration for real-time switched Ethernet networks, Journal of Systems Architecture (2016), http://dx.doi.org/10.1016/j.sysarc.2016.04.009

ARTICLE IN PRESS

JID: SYSARC 4

[m5G;April 21, 2016;14:10]

M. Ashjaei et al. / Journal of Systems Architecture 000 (2016) 1–11

explanation about the inflation factor concept presented in [30]. The inflation factor is calculated in Eq. (2), where LW is the length of a transmission window (i.e. Synchronous or Asynchronous window within the EC) in link ll , and Idi, l is the idle time.

αi,a,b =

min (LWl − Idi,l )

l=a..b

(2)

EC

The idle time is computed in Eq. (3), which is the maximum packet size among the higher and the same priority packets (hep) that share links with mi .

Idi,l = Fig. 4. Example of response time analysis procedure.

max

∀r∈[1,N] ∧ mr ∈hep(mi )

(PKr , PKi )

(3)

∧ l∈Lr

response time of mi being transmitted through the network from link la until link lb is defined by RTi, a, b . The total response time and the particular response time between two specific links are expressed in number of ECs. Moreover, the idle time for mi in link l is denoted by Idi, l . 4.2. Response time calculation The response time calculation for mi is done using Algorithm 1, that captures the timing behavior of the reduced buffering scheme method.

The response time is evaluated iteratively in Eq. (4), where it is the sum of the transmission time of the message itself and the interfering terms. There are three types of interference including: (i) the interference from higher priority messages that share links with mi , which is denoted by Ii, a, b , (ii) the blocking from the lower priority messages sharing links with mi , which is specified by Bi, a, b , and (iii) the switching delay that is denoted by SDi, a, b . Note that the inflation factor should be applied on all interfering and blocking terms. (x ) rti,a,b = αCi + Ii,a,b + Bi,a,b + SDi,a,b i,a,b

(4)

(0 ) The iteration starts from rti,a,b = α i , i.e., x = 0. The response i,a,b time of mi between link la and link lb is calculated in Eq. (5). C

Algorithm 1 Response time calculation for mi . RTi = 0 a=b=1 3: while b ≤ ni do rti,a,b = responseT imeCalc (i, a, b) 4: 1:

2:

5: 6: 7: 8: 9: 10: 11: 12: 13:

RTi,a,b =



rti,a,b EC



if (a ! = b) && (RTi,a,b ! = RTi,a,(b−1 ) ) then RTi = RTi + RTi,a,(b−1 ) a=b else b= b+1 end if end while RTi = RTi + RTi,a,(b−1 )

Here we explain the algorithm using an example. Let us assume message m1 that is transmitted from node A to node B in the network shown in Fig. 4. First, the algorithm computes the response time for the link from node A to switch H1 (RT1, 1, 1 ). Then, it computes the response time for two links from node A to switch H2 (RT1, 1, 2 ). The algorithm compares two computed response times (in number of ECs). If they are equal, which means that the message is transmitted in the same EC, it continues to calculate the response time for three links (RT1, 1, 3 ). Again, it compares the new computed response time with the previous one. In this example, assume that RT1, 1, 2 and RT1, 1, 3 are not equal. This means that the message is buffered in switch H2, hence it starts computing the response time from the switch where m1 is buffered (RT1, 3, 3 ). The total response time is the sum of RT1, 1, 2 and RT1, 3, 3 . The response time calculation of the message mi between two specific links la and lb is performed by the responseTimeCalc(i, a, b) in Algorithm 1. It uses the classical response time analysis based on accumulating of delays within iterations. As the message is sent in a specific window and is not allowed to be transmitted at any other time (not using the whole bandwidth), the inflation factor is defined. Therefore, the message transmission time is inflated by the inflation factor to take this behavior into account. The reader is referred to the detail

(x ) (x ) (x−1 ) rti,a,b = rti,a,b when rti,a,b = rti,a,b

(5)

The interference from higher and the same priority messages that share links with mi between link la and lb is calculated in Eq. (6).



Ii,a,b =



(x−1 ) rti,a,b



Cj

∀ j∈[1,N], j=i ∧ m j ∈hep(mi )

(6)

αi,a,b

Tj

∧ L j ∩Li,a,b =∅

The blocking by lower priority messages (lp) is calculated in Eq. (7). Note that at most one lower priority packet can block mi . For more details on the proofs on this property the reader is referred to [9].





Bi,a,b =

t=a+1..b,a=b

max

∀ p∈[1,N] ∧ m p ∈l p(mi ) ∧ lt ∈L p ∧ ∀y,(a+1≤y
PKp

αi,a,b



(7)

Finally, the last interfering term, which is the switching delay, is computed in Eq. (8). Again, for the details and proofs the reader is referred to [9].

SDi,a,b =

 t=a+1..b,a=b



max

∀q∈[1,N]

∧ lt ∈Lq ∧ l(t−1) ∈Lq

SW Di , SW Dq

αi,a,b



(8)

5. Problem formulation In this section, we formally describe the effect of MTU sizes on the response time of the messages in the multi-hop HaRTES architecture. 5.1. Effects of MTU on the response time As it is shown before, the idle time equals to the maximum packet size in the worst-case. Configuring the MTU size to a large value increases the idle time, which in turn decreases the

Please cite this article as: M. Ashjaei et al., MTU configuration for real-time switched Ethernet networks, Journal of Systems Architecture (2016), http://dx.doi.org/10.1016/j.sysarc.2016.04.009

ARTICLE IN PRESS

JID: SYSARC

[m5G;April 21, 2016;14:10]

M. Ashjaei et al. / Journal of Systems Architecture 000 (2016) 1–11

HaRTES1 N1

N2

Table 1 Message properties for the example.

HaRTES2 N3

5

N4

m1 m2

Trans. Time (μs)

Period (EC)

Priority

800 800

5 8

High Low

Fig. 5. The network for motivational example.

efficiency of using the bandwidth. This can also be seen in the response time analysis. When the MTU size of all messages increases, the maximum packet size PKi increases, hence according to Eq. (3), Idi, l grows. Therefore, the inflation factor α i, a, b computed in Eq. (2) decreases, considering a fixed EC and LW. As the interfering terms are inflated by α i, a, b in Eq. (4), the delays become larger. This results in larger response time rti, a, b , and accordingly larger RTi . On the other hand, setting a large value for the MTU of messages decrements the number of packets due to the fragmentation. This decreases the overhead of the messages. According to the system model, Ci represents the total transmission time of mi including the protocol overhead. Considering Ci∗ as the actual data size, Ci can be rewritten in Eq. (9), where O is the size of protocol overhead.

Ci = Ci∗ + nPi × O

(9)

Fig. 6. Response time for m1 .

Moreover, the number of packets after fragmentation of the data Ci∗ is expressed in Eq. (10).



nPi =

Ci∗ MT Ui



(10)

Then, the total transmission time Ci can be reformulated, which is shown in Eq. (11).



Ci =

Ci∗

+

Ci∗ MT Ui



×O

(11)

Looking at Eq. (11), by increasing the MTU size, the total transmission time of the message Ci decreases. The same way the total transmission time of interfering messages Cj in Eq. (6) decreases. Therefore, according to Eqs. (4) and (6), the interference of higher priority messages decreases, which in turn reduces the response time rti, a, b , and RTi . Moreover, in our model an MTU can be configured for each message. Despite providing more flexibility for setting the MTUs, this model arises a third effect to deal with. Configuring a large MTU for the lower priority messages generates a bigger blocking term Bi, a, b for the higher priority messages, according to Eq. (7), which increases the response time of the higher priority messages. Therefore, configuring the MTU size for messages creates a contradicting behavior that may decrease or increase the response time of the messages. 5.2. Motivational example Despite the above simple explanation about the effects of the MTU size, finding the best MTU size for messages is a nontrivial problem. We illustrate this through a simple example. Let us consider a network architecture consisting of two HaRTES switches along with four nodes. In this architecture, two nodes (N1 and N2) are connected to one switch, and the other two nodes (N3 and N4) are attached to the second switch. We illustrate the network example in Fig. 5. In this example, we define two messages, where m1 is transmitted from N1 to N3, while m2 is sent from N2 to N4. Therefore, both messages cross two switches, and they share the link between two switches. The properties of the messages is shown in Table 1. According to the Ethernet standard, the payload of each frame can not exceed 1500 B, which is 120 μs considering a 100 Mbps

Fig. 7. Response time for m2 .

network capacity. Therefore, the maximum MTU size can be selected equal to 120 μs. Let us assume that the minimum possible value for the MTU size is 8 μs, that is 100B payload. In this example, for each message any value within [8 μs, 120 μs] can be selected for the MTU size. We computed the response times of m1 and m2 according to the presented analysis, by choosing MTU sizes from the range. Note that we picked the MTUs with granularity of 1 μs, hence 112 possible MTU sizes were available for each message. Fig. 6 shows the response time of m1 based on the MTU sizes. In the figure, the x-axis and the y-axis show MTU1 and MTU2 , respectively. Also, the z-axis shows the response time of m1 in number of ECs. As it can be seen by decreasing both MTUs the response time of m1 is decreasing. The effect of choosing MTU sizes on the response time of m2 is illustrated in Fig. 7. According to the figure, in order to have the shortest response time for m2 , MTU1 must be within [60, 120] μs, and MTU2 must be within [18, 33] μs. Also, to have the shortest response time for m1 , according to Fig. 6, MT U1 = [8, 60]μs and MT U2 = [8, 120]μs. The intersection of the results gives the best MTU sizes, which are MT U1 = 60 μs and MT U2 = [18, 33]μs. By this setting the response times become RT1 = 2EC and RT2 = 5EC.

Please cite this article as: M. Ashjaei et al., MTU configuration for real-time switched Ethernet networks, Journal of Systems Architecture (2016), http://dx.doi.org/10.1016/j.sysarc.2016.04.009

ARTICLE IN PRESS

JID: SYSARC 6

M. Ashjaei et al. / Journal of Systems Architecture 000 (2016) 1–11

Note that by setting both MTUs to 120 μs, according to the figures, the response times become RT1 = 4EC and RT2 = 6EC. It may happen that the intersection for one MTU is an empty set. For instance, suppose that in the mentioned example to have the shortest response time for m1 , MT U1 = [8, 59]μs, and to have the shortest response time for m2 , MT U1 = [60, 120]μs. In this case it is not possible to have the shortest response time for both messages by setting the MTUs. Therefore, we need to extend the range of MTU for at least one of the messages (e.g., the lower priority message) to gain one value from their intersection. By extending the range we can have RT2 = 6EC instead of RT2 = 5EC, however it is still less than 7EC shown in Fig. 7. In this example we defined two messages for simplicity of visualization. By incrementing the number of messages, finding the best MTUs become increasingly complex. 5.3. Optimization objective Based on the discussion above, we can see that the problem is a multi-variable optimization problem. In order to minimize the response time of all messages, we define a cost function using RTi and Di . The optimization objective is to minimize the cost function, while satisfying the constraint.



RT − Di ζi × i Di

(12)

Sub ject to MT Umin ≤ MT Ui ≤ MT Umax , ∀i ∈ [1, N];

(13)

1 Minimize N

[m5G;April 21, 2016;14:10]

∀i∈[1,N]

The main intention of the optimization objective is to decrease the response time of all messages. For this purpose we define a normalized difference between the response time and the deadline of the message, that should be minimized. In order to achieve a global optimization we define an average for the normalized difference of messages to be minimized. In addition, an importance factor (ζ i ) is multiplied to the normalized difference to indicate a weight for it. This way the normalized difference of a message with larger importance factor has more contribution to the average value. Minimizing the average value of normalized differences, considering the importance factor, means that the response time of the messages is as less as possible than their deadlines. The importance factor will be explained later in this section. Above, MTUmin and MTUmax are the boundaries of selecting MTUi , which are defined according to the protocol specification. Assuming ζi = 1 for now, the cost function of a schedulable system returns a value within (−1, 0]. The bigger negative value, i.e., the minimum cost function, shows the shorter response time for all messages. Note that the value cannot reach −1 as the response time cannot be zero. However, the cost function may become the same value for several different settings. Let us consider two scenarios each with a set of two messages m1 and m2 . The messages have deadlines of 10EC and 20EC, respectively. In Scenario I, we set the MTUs such that the response time of the messages become 5EC for m1 , and 10EC for m2 , hence the cost function becomes −0.5. Now, in Scenario II, assume that we change the MTUs such that the response times become 6EC and 8EC for m1 and m2 , respectively. Again, the cost function becomes −0.5. The scenarios are sketched in Table 2. In order to decide which MTU settings to select, the importance factor ζ i is defined. The value of ζ i is selected within (0, 1], where a higher value shows the high importance of having a short response time for mi . In the same example let us assume that having a shorter response time for m1 is more important than m2 . Therefore, we assign ζ1 = 1 and ζ2 = 0.5. According to the cost function presented in Eq. (12), the cost function in Scenario I is −0.375, while in Scenario II is −0.35. Therefore, Scenario I has the minimum cost func-

Table 2 Example scenarios I and II. Scenario I

m1 m2 CostFunc

Scenario II

ζ

D

RT

ζ

D

RT

1 1 −0.5

10 20

5 10

1 1 −0.5

10 20

6 8

tion, that means the scenario in which the response time of m1 is 5EC will be selected. In the cost function, the response time is a function of MTUi . Also, the response time has a ceiling operation (Eq. 6). Therefore, the optimization problem is a multi-variable nonlinear problem. One solution is to approximate the response time in the cost function by removing the ceiling operator. However, it makes the analysis very pessimistic, resulting in a not very accurate solution. In order to achieve an optimum solution in these types of problems, branch and bound techniques based on the searching of a tree are normally used. 6. Proposed algorithms Towards finding the best MTU size for each message, we propose two algorithms. The first one is a search-based algorithm obtaining the optimum solution. Then, we propose the second algorithm based on the search-based algorithm with a pseudopolynomial time complexity. The HaRTES architecture supports on-the-fly reconfiguration, i.e., it can add, remove or change the message parameters during run-time. Therefore, configuring the MTUs should be done in each reconfiguration phase. The proposed heuristic algorithm is suitable to be used during run-time. 6.1. Search-based algorithm As it is mentioned before, the maximum and minimum values for the MTUs are defined according to the protocol specification, where the range of MTUs is presented by [MTUmin , MTUmax ]. The granularity in the range can be 1μs, as the MTU size is presented in microseconds. This can result in a huge search space. However, later in this section, we propose two techniques to reduce that. The main concept of the algorithm is to check all combinations of MTUs, and to find the one that provides the lowest response time for the messages. In order to check the MTU combinations we generate a search tree. We start with the highest priority message in the set as the first node of the tree. Then, we draw one possible MTU for the message as a branch of the node. We pick the branch and assign the next node, which is the second highest priority message in the set. We continue until the last message, i.e., the lowest priority message in the set. In this state, we picked one MTU per message, i.e., one MTU combination is extracted. We compute the response time for the messages with the extracted MTU combination, following by calculating the cost function. Then, we go one node back and select another branch for the node. Whenever all branches for the node are examined, we go one node more back to examine its branches. When all MTU combinations are examined, the MTU combination that gives the lowest cost function is the best MTU combination. We show this procedure in an example with two messages, m1 and m2 . The tree search of the example is shown in Fig. 8. Suppose that 3 MTUs for m1 exist, which are [MT U11 , MT U12 , MT U13 ], and 2 MTUs for m2 , which are [MT U21 , MT U22 ]. The algorithm starts with m1 and the first MTU for that, i.e., MT U11 . Then, it selects m2 and its first MTU, i.e., MT U21 . The first MTU combination is [MT U11 , MT U21 ], and based on them the response time analysis and

Please cite this article as: M. Ashjaei et al., MTU configuration for real-time switched Ethernet networks, Journal of Systems Architecture (2016), http://dx.doi.org/10.1016/j.sysarc.2016.04.009

ARTICLE IN PRESS

JID: SYSARC

[m5G;April 21, 2016;14:10]

M. Ashjaei et al. / Journal of Systems Architecture 000 (2016) 1–11

7

branches are pruned from the search. We state the results in the form of Lemma below. Lemma 1. If mi does not meet its deadline by configuring the MTU of its lower priority messages to the minimum value, it does not meet the deadline with any other MTU values.

Fig. 8. Tree of search – an example.

the cost function calculation are performed. Then, the algorithm selects the second MTU for m2 , makes the second MTU combination as [MT U11 , MT U22 ]. The algorithm goes to m1 node and selects MT U12 branch. This continues until the last MTU combination, which is [MT U13 , MT U22 ] in this example. We present two techniques to reduce the search space. The first one is to increase the granularity of the MTU range, while the second one is to prune infeasible MTU combinations in the tree of search. Later in the experiment we show that the techniques can reduce the search space up to 84%. 6.1.1. MTU range reduction According to Eq. (10), a range of MTUs gives the same number of packets due to the ceiling operation. Therefore, selecting one value from the range is enough, e.g., the maximum one. Algorithm 2 finds the minimum number of MTUs for N messages in the set, that essentially change the number of packets. In line 2 and the next of the algorithm, the minimum and maximum number of packets for mi is computed based on Eq. (10). Then, the algorithm iterates for packet numbers between minimum and maximum, and it generates the possible MTUs for the messages. It stores the MTU in actMTU if it was not generated in the previous iteration (line 9 and onwards). The complexity of the algorithm is O(N × nPmax ), where nPmax is the highest number of packets among the messages, i.e., nP max = max∀i∈[1,N] {nPimax }. Algorithm 2 Find the possible MTUs. 1: 2:

for i = 1 toN do  C∗ nPimin = MT Ui max



Ci∗ MT Umin



3:

nPimax =

4:

x=1 for j = nPimin to nPimax do

5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:

M=

 ∗ Ci j

if j == nPimin then actMT Uix = M else if j! = nPimin &&M! = actMT Uix then x=x+1 actMT Uix = M end if end for end for return actMT U

6.1.2. Infeasible MTU combinations The second technique is to check whether a branch in the tree has a feasible combination to continue searching. The infeasible

Proof. The response time of mi is calculated in Algorithm 1, following by Eq. (4). Looking at the equation, the messages with priority lower than that of mi only affect the blocking term Bi, a, b and the switching delay SDi, a, b . By setting the MTU size of all lower priority messages to MTUmin , the maximum packet size used in Eq. (7) is P K p = MT Umin + O. Considering that the MTU size for messages with priority higher than that of mi stays unchanged, the inflation factor calculated in Eq. (2) stays unchanged in the blocking equation. Therefore, Bi, a, b has its minimum value. Although the switching delay SDi, a, b in Eq. (8) considers both high and low priority messages, by setting the lower priority messages to MTUmin , the results would only depend on the higher priority messages due to the max operation. Now if the response time computed in Eq. (5) does not meet the deadline with the minimum blocking term, it cannot meet the deadline with other values of blocking.  In the search tree, we select a branch of a node in the tree. According to Lemma 1, if by setting the MTU size of the further messages (the lower priority messages in the tree) to MTUmin the response time of the message in the node does not meet the deadline, we can safely prune the branch and continue with other branches. In order to implement the search tree, the recursive search algorithms in the literature can be used (e.g., [31]). The complexity of the search algorithm in the worst-case is O(MN ), where M is the maximum number of MTUs among the messages. 6.2. Heuristic algorithm In this section, we propose a heuristic algorithm with a pseudopolynomial time complexity based on the search-based algorithm. As we reduced the search space significantly by the proposed techniques, the heuristic becomes much faster, makes it suitable to be used during run-time. The main intention is to select a branch in the tree which has the most likelihood of giving the minimum cost function, and to discard other branches for the search. Basically, the algorithm starts from the first message in the set, which is the highest priority, and draw its branches by selecting its MTU from MTUmin to MTUmax . The reason to start from MTUmin is that according to Lemma 1 if the message does not meet its deadline with configuring the lower priority messages to the minimum value, it does not meet the deadline with any other values. Therefore, the algorithm can check the schedulability of the message in its first attempt. Then, the algorithm sets the MTU of the lower priority messages to MTUmin , and computes the cost function. Moreover, the algorithm sets the MTU of the lower priority messages to MTUmax and computes the cost function. Then, it selects the branch with the lowest cost function to continue, and discards the other branches. The heuristic is presented in Algorithm 3. It iterates for N messages in the set, and for each message it iterates for actMTU generated from Algorithm 2 (line 2). Note that nMaxi is the index of the last MTU for mi in actMTU. Then, it updates the MTU of mi , while setting the MTUs of the lower priority messages to MTUmin (line 3). In line 4 the algorithm checks if the branch is feasible to continue (Lemma 1). In case it is feasible, i.e., chk = T RUE, the algorithm computes the response time of messages (line 10), and calculates the cost function using Eq. (12) in two cases where the MTU for the lower priority messages is set to MTUmin , and the case where the MTU of the lower priority messages is set to MTUmax in line 8. The MTU that causes the minimum cost function is stored

Please cite this article as: M. Ashjaei et al., MTU configuration for real-time switched Ethernet networks, Journal of Systems Architecture (2016), http://dx.doi.org/10.1016/j.sysarc.2016.04.009

JID: SYSARC 8

ARTICLE IN PRESS

[m5G;April 21, 2016;14:10]

M. Ashjaei et al. / Journal of Systems Architecture 000 (2016) 1–11

Algorithm 3 Heuristic search algorithm. 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:

for i = 1 to N do for j = 1 to nMaxi do testMT U = update(j) chk = pruneCheck(testMT U) if chk = T RUE then for k = 1 to 2 do if k == 2 then testMT U = updateToMax(j) end if rt = responseTime(testMT U) C = costFunction(rt) if (C < prevC) && ( j! = 1) then f inalMT U = testMT U prevC = C end if end for end if end for end for return f inalMT U

in finalMTU (line 13), then it continues for the next message in the loop. Note that if there are several MTUs result in the same cost function, the first one is picked by the algorithm (if condition in line 12). The complexity of the algorithm in the worst-case is O(N × nMax × 2). Note that responseTime in line 10 has a pseudopolynomial time complexity. Therefore, the whole algorithm remains pseudo-polynomial. According to Algorithm 3, the results for cost function is always less or equal to either when all MTUs are set to MTUmin or MTUmax . The reason is that in the algorithm we examined the two cases and if there is no other combination better than them, the algorithm returns one of them depend on the value of their cost function. 7. Experiments In this section we conduct three types of experiments. In the first part, we evaluate the proposed heuristic algorithm. In the second part, we generate small network configurations and we compare two proposed algorithms, i.e., the heuristic and the searchbased algorithms. Moreover, in the last part, we show the improvement when reducing the search space. 7.1. Heuristic algorithm evaluation In order to evaluate the algorithm, we generated 10 0 0 random HaRTES architectures. In the generated architectures the number of hierarchy level is selected within [2,4], the number of HaRTES switches is chosen within [3, 7], and the number of nodes connected to the switches is selected within [3, 30]. The number of hierarchy level shows the size of the architecture with respect to its depth, as the network topology is a tree. The nodes are randomly attached to the switches such that each switch has at least one node connected to it. Based on the size of the network, a set of messages is generated randomly. The number of messages in the set is selected within [10, 30]. The source and destination of the messages are chosen randomly among the nodes. The transmission time of messages is selected within [50 0, 120 0]μs. Moreover, the period of the messages is set within [2, 30]ECs, and their deadlines are equal to the periods. The priority of the messages is assigned based on the Rate Monotonic algorithm. Also, we set the importance factor ζ = 1 for all messages.

Fig. 9. The heuristic vs. the references – varying the window size.

Furthermore, the network capacity is 100 Mbps, and the EC size is fixed to 2 ms. The transmission window within the EC is fixed in three values, 60%, 70% and 80% of the EC duration. For the generated messages we configured the MTU sizes using the proposed heuristic algorithm. Then, we compared the cost functions of the sets when setting the MTUs using the heuristic algorithm, and when the MTUs are maximum and minimum. We normalized the differences using Eq. (14), where CH is the cost function value when setting the MTUs using the heuristic algorithm, and CR is the cost function value when setting the MTUs to a reference. In this evaluation we have two references to compare with, i.e., MTUmin and MTUmax .

σ=

CH − CR × 100 min(CH , CR )

(14)

Fig. 9 shows the normalized difference between the MTUs selected by the heuristic algorithm and the references. The x-axis shows the transmission windows duration, whereas the y-axis shows the normalized difference (σ ). The median of normalized difference of 10 0 0 generated sets between the MTUs extracted by the heuristic and MTUmax is shown by Heuristic-Max bars. Also, the median of normalized difference of the sets between the MTUs extracted by the heuristic and MTUmin is shown by Heuristic-Min bars. As it can be seen in all three experiments, there is an improvement in the response time of the messages. For instance, when setting the window to 60% of the EC, the median of normalized differences for 10 0 0 sets is around 20% compared with MTUmax . The vertical lines in Fig. 9 illustrate the deviation of minimum and maximum calculated normalized difference. For instance, in the experiment where 60% of the EC is assigned for transmission, the maximum improvement is around 34% compared to setting the MTUs to MTUmax . Note that, in some sets the normalized improvement was 0, which means setting the MTUs to the maximum or minimum results in the same response time for the messages as setting the MTUs extracted from the algorithm. However, we could not capture any negative difference in these experiments. Another interesting result is that by increasing the window size the normalized difference decreases. This is due to the fact that increasing the window size is diminishing the effect of the idle time (Eq. (2)). Therefore, by selecting the MTUs using the algorithm, we can use the resource more efficiently. Moreover, we performed another experiment in which we investigated the effect of the number of messages on the improvements of our presented algorithm. Fig. 10 shows the experiments of changing the number of messages from 10 to 30 in the sets. In this experiment, we fixed the network architecture to three HaRTES switches and six nodes. Moreover, we set the EC to 2 ms and the transmission window to 60% of EC. However, other properties are chosen randomly within the same ranges explained before.

Please cite this article as: M. Ashjaei et al., MTU configuration for real-time switched Ethernet networks, Journal of Systems Architecture (2016), http://dx.doi.org/10.1016/j.sysarc.2016.04.009

JID: SYSARC

ARTICLE IN PRESS

[m5G;April 21, 2016;14:10]

M. Ashjaei et al. / Journal of Systems Architecture 000 (2016) 1–11

9

Table 3 Search reduction techniques.

Average time (s) Average no. states

SET1

SET2

SET3

7.596 12769

1.313 2208

1.179 1974

chance for the optimum algorithm is higher as it checks all the search space. Note that, as the search-based algorithm has an exponential complexity, only a small network configuration can be evaluated in a reasonable time. Fig. 10. The heuristic vs. the references – varying the message number.

7.3. Search space evaluation

Fig. 11. The heuristic algorithm vs. the search-based algorithm.

Fig. 10 shows that we have an improvement in the response time of messages using the heuristic algorithm. The normalized difference reaches to 30% for the case of 10 messages in the network. By increasing the number of messages the normalized difference decreases. The reason is that the more messages in the network traverse, the more interference is generated. Thus, the system easily becomes unschedulable. 7.2. Search-based algorithm evaluation In this experiment we compare the heuristic algorithm with the proposed search-based algorithm. We generated a network configuration consisting of two switches along with four nodes, where each switch has at least one node attached to it. Then, we generated 100 sets of messages randomly such that each set contains 3 messages. The transmission time and period of the messages are set randomly within [90 0, 10 0 0]μs. The periods are selected within [3, 10]EC. Also, the priorities are assigned based on the Rate Monotonic algorithm. We fixed the EC duration to 1 ms, and we performed the experiment for four window sizes, i.e., 60%, 65%, 70% and 80% of the EC duration. We counted the schedulable sets among the 100 sets for each experiment, when using the heuristic and the search-based algorithms. Fig. 11 illustrates the results, where the x-axis shows the window sizes, and the y-axis shows the percentage of schedulables sets. The figure shows that when we limit the transmission window, the schedulability of the systems reduces to around 23% when using the heuristic algorithm. However, with the same setting the search-base algorithm makes around 49% of the sets schedulable. The experiment also shows that when the transmission window is not tight, the heuristic performs as good as the search-based algorithm to make the system schedulable. In general, when the transmission window is decreased, less messages can be transmitted, that results to less schedulability ratio. Therefore, the chance to find MTUs for messages to make them schedulable is lower. The

In this experiment we show that applying the search reduction techniques, which are proposed in this paper, reduces the search space significantly. In order to perform this experiment, we generated a network configuration consisting of two HaRTES switches along with four nodes. The same as the previous experiments, the nodes are attached to the switches randomly. We generated 100 sets of messages, each containing two messages. The properties of the messages are chosen randomly within the same ranges described in the previous experiment. We performed the searchbased algorithm to find the optimum MTUs for the messages in three different settings. In the first setting (SET1), we did not use the search space reduction techniques, i.e. the search checked all possible MTUs within [MTUmin , MTUmax ] with 1 μs granularity. Also, we did not prune the infeasible branches. In the second setting (SET2), we limited the MTUs for search using Algorithm 2, while in the third setting (SET3) we pruned infeasible branches on top of SET2. During the process of finding the MTUs, we measured the time that it takes to find the solution. Also, we counted the number of MTU combinations that the algorithm searched. The results are shown in Table 3. This experiment shows that the reduction of MTUs in the range can significantly decrease the search space. The average number of MTU combinations reduced from 12769 to 1974 combinations in this evaluation, which equals to around 84% reduction in the search.

8. Conclusion and future work In this paper, we presented a contradicting behavior when configuring the MTU size on the response time of messages, given a real-time cyclic-based switched Ethernet protocol. We formulated this behavior by means of an optimization problem, where the goal is to set the best MTU size per message, in order to reduce the messages response times. In our model we considered a single MTU per message. We proposed a search-based algorithm with two techniques to reduce the search space. Then, we proposed a heuristic algorithm based on the search-based algorithm with a pseudo-polynomial time complexity. In several experiments, we showed that setting the MTUs extracted from the heuristic improves the response time of messages compared with setting the MTUs to the maximum or minimum values. Also, we showed that in small sets, the heuristic performs as good as the search-based algorithm. For the future work we aim at implementing the heuristic algorithm in the admission control of the HaRTES switch, to experimentally evaluate the proposed methods.

Acknowledgment This work is supported by the Swedish Foundation for Strategic Research via the PRESS project.

Please cite this article as: M. Ashjaei et al., MTU configuration for real-time switched Ethernet networks, Journal of Systems Architecture (2016), http://dx.doi.org/10.1016/j.sysarc.2016.04.009

JID: SYSARC 10

ARTICLE IN PRESS

[m5G;April 21, 2016;14:10]

M. Ashjaei et al. / Journal of Systems Architecture 000 (2016) 1–11

References [1] N. Navet, Y. Song, F. Simonot-Lion, C. Wilwert, Trends in automotive communication systems, Proc. IEEE 93 (6) (2005) 1204–1223. [2] Ethernet POWERLINK communication profile specification V.1.2.0, EPSG draft Std 301. [online]: http://www.ethernet-powerlink.org, Access date: April 2016. [3] Audio/video bridging task group of IEEE 802.1, available at http://www. ieee802.org/1/pages/avbridges.html. Access date: April 2016 [4] R. Santos, M. Behnam, T. Nolte, P. Pedreiras, L. Almeida, Multi-level hierarchical scheduling in ethernet switches, in: Proceedings of the International Conference on Embedded Software, 2011. [5] Y. Lee, K. Park, Meeting the real-time constraints with standard Ethernet in an in-vehicle network, in: Proceedings of the International IEEE Intelligent Vehicles Symposium, 2013. [6] F. Gomez-Molinero, Real-time requirement of media control applications, in: Proceedings of the International 19th Euromicro Conference on Real-Time Systems, 2007. [7] C.-S. Cho, B.-M. Chung, M.-J. Park, Development of real-time vision-based fabric inspection system, IEEE Transaction on Industrial Electronics 52 (4) (2005) 1073–1079. [8] H.-T. Lim, L. Volker, D. Herrscher, Challenges in a future IP/Ethernet-based in– car network for real-time applications, in: Proceedings of the Design Automation Conference, 48th ACM/EDAC/IEEE, 2011. [9] M. Ashjaei, M. Behnam, P. Pedreiras, R.J. Bril, L. Almeida, T. Nolte, Reduced buffering solution for multi-hop HaRTES switched Ethernet networks, in: Proceedings of the 20th IEEE International Conference on embedded and Real– Time Computing Systems and Applications, 2014. [10] C.A. Kent, J.C. Mogul, Fragmentation considered harmful, in: Proceedings of the ACM SIGCOMM, 1987, pp. 390–401. [11] E. Creedon, M. Manzke, Impact of fragmentation strategy on ethernet performance, in: Proceedings of the International Conference on Network and Parallel Computing, 2009. [12] J. Chen, L. Gong, Y. Yang, P. Zeng, Average performance of packet network, in: Proceedings of the 6th International Conference on ITS Telecommunications Proceedings, 2006. [13] Y. Sankarasubramaniam, I. Akyildiz, S. McLaughlin, Energy efficiency based packet size optimization in wireless sensor networks, in: Proceedings of the International Workshop on Sensor Network Protocols and Applications, 2003. [14] S. Chudasama, S. Trapasiya, Packet size optimization in wireless sensor network using cross-layer design approach, in: Proceedings of the International Conference on Advances in Computing, Communications and Informatics, 2014. [15] M. Vuran, I. Akyildiz, Cross-layer packet size optimization for wireless terrestrial, underwater, and underground sensor networks, in: Proceedings of the 27th Conference on Computer Communications, 2008. [16] L.T. Jung, A. Abdullah, Underwater wireless network energy efficiency and optimal data packet size, in: Proceedings of the International Conference on Electrical, Control and Computer Engineering, 2011.

[17] C. Kodikara, S. Worrall, A. Kondoz, Optimal settings of maximum transfer unit (MTU) for efficient wireless video communications, IEE Proc. Commun. 152 (2005). [18] Y.-J. Lin, H. Latchman, On the effects of maximum transmission unit in power line communication networks, in: Proceedings of the IEEE International Symposium on Power Line Communications and Its Applications, 2007. [19] N. Yaakob, I. Khalil, Packet size optimization for congestion control in pervasive healthcare monitoring, in: Proceedings of the 10th IEEE International Conference on Information Technology and Applications in Biomedicine, 2010. [20] M. Younis, O. Farrag, W. D’Amico, Packet size optimization for increased throughput in multi-level security wireless networks, in: Proceedings of the Military Communications Conference, 2009. [21] T. Frantti, M. Majanen, T. Sukuvaara, Delay based packet size control in Wireless Local Area Networks, in: Proceedings of the Second International Conference on Ubiquitous and Future Networks, 2010. [22] R. Bril, J. Lukkien, W. Verhaegh, Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption revisited, in: Proceedings of the 19th Euromicro Conference on Real-Time Systems, 2007. [23] M. Bertogna, O. Xhani, M. Marinoni, F. Esposito, G. Buttazzo, Optimal selection of preemption points to minimize preemption overhead, in: Proceedings of the 23rd Euromicro Conference on Real-Time Systems, 2011a. [24] M. Bertogna, G. Buttazzo, G. Yao, Improving feasibility of fixed priority tasks using non-preemptive regions, in: Proceedings of the IEEE 32nd Real-Time Systems Symposium, 2011b. [25] M. Behnam, R. Marau, P. Pedreiras, Analysis and optimization of the MTU in real-time communications over switched Ethernet, in: Proceedings of the 16th Conference on Emerging Technologies Factory Automation, 2011. [26] R. Marau, L. Almeida, P. Pedreiras, Enhancing real-time communication over COTS Ethernet switches, in: Proceedings of the 6th IEEE International Workshop on Factory Communication Systems, 2006. [27] M. Ashjaei, M. Behnam, L. Almeida, T. Nolte, MTU assignment in a master-slave switched Ethernet network, in: Proceedings of the 12th International Workshop on Real-Time Networks, 2013. [28] R. Santos, A. Vieira, P. Pedreiras, A. Oliveira, L. Almeida, R. Marau, T. Nolte, Flexible, efficient and robust real-time communication with server-based Ethernet switching, in: Proceedings of the 8th IEEE International Workshop on Factory Communication Systems (WFCS), 2010. [29] C.L. Liu, J.W. Layland, Scheduling algorithms for multiprogramming in a hard-real-time environment, J. ACM 20 (1) (1973) 46–61. [30] R. Marau, L. Almeida, P. Pedreiras, K. Lakshmanan, R. RajKumar, Utilization-based schedulability analysis for switched Ethernet aiming dynamic QoS management, in: Proceedings of the IEEE Conference on Emerging Technologies and Factory Automation, 2010. [31] C. Xu, H. Gharavi, A low-complexity tree-search algorithm to decode diversity-oriented block codes with inter-symbol interference, in: Proceedings of the IEEE International Conference on Communications, 2012.

Please cite this article as: M. Ashjaei et al., MTU configuration for real-time switched Ethernet networks, Journal of Systems Architecture (2016), http://dx.doi.org/10.1016/j.sysarc.2016.04.009

JID: SYSARC

ARTICLE IN PRESS M. Ashjaei et al. / Journal of Systems Architecture 000 (2016) 1–11

[m5G;April 21, 2016;14:10] 11

Mohammad Ashjaei is a Ph.D. student at Mälardalen University since April 2012. He studied Electrical Engineering in Tehan, Iran and received his B.Sc. in 2003. He has been working for many private companies as a hardware programmer. Then, Mohammad moved to Sweden in 2010 and studied computer science with emphasize on real-time embedded systems at Mälardalen University. He received his M.Sc. degree in 2012 and in the same year he started his Ph.D. studies in the same University. Mohammad was a visiting researcher at University of Aveiro, Portugal, for one month in 2013. His main research interests are real-time distributed systems, response time analysis, modeling and development of related algorithms.

Moris Behnam has awarded a B.Eng., and M.Sc. in Computer and Control Engineering at the University of Technology, Iraq, and also M.Sc., Licentiate, and Ph.D. in Computer Science and Engineering at MDH, Sweden, in 1995, 1998, 20 05, 20 08 and 2010 respectively. Moris has been a visiting researcher at Wayne State University, USA in 2009 and he has been a Postdoctoral Researcher at University of Porto in 2011. His research interests include real-time scheduling, synchronization protocols, multicore/multiprocessor systems, distributed embedded real-time systems and using control theories in real-time scheduling.

Luis Almeida graduated in Electronics and Telecommunications Eng. in 1988 and received a Ph.D. in Electrical Eng. in 1999, both from the University of Aveiro in Portugal. He is currently an associate professor in the Electrical and Computer Engineering Department of the University of Porto (UP), Portugal, and a senior researcher in the Telecommunications Institute at UP where he coordinates the Distributed and Real-Time Embedded Systems (DaRTES) lab. Among several appointments, he was a member of the IEEE Technical Committee on Real-Time Systems (2008–2013), Program and General Chair of the IEEE Real-Time Systems Symposium (2011–2012 respectively) and Vice-President of the RoboCup Federation (2011–2013) being Trustee of this organization since 2008. His research interests include those related to real-time networks for distributed industrial/embedded systems including for teams of mobile robots.

Thomas Nolte was awarded a B.Eng., M.Sc., Licentiate, and Ph.D. degree in Computer Engineering from Mälardalen University (MDH), Västerås, Sweden, in 2001, 2002, 2003, and 2006, respectively. He has been a Visiting Researcher at University of California, Irvine (UCI), Los Angeles, USA, in 2002, and a Visiting Researcher at University of Catania, Italy, in 2005. He has been a Postdoctoral Researcher at University of Catania in 2006, and at MDH in 20 06–20 07. Thomas Nolte became an Assistant Professor at MDH in 2008, and Associate Professor at MDH in 2009. 2012 he became Full Professor of Computer Science.

Please cite this article as: M. Ashjaei et al., MTU configuration for real-time switched Ethernet networks, Journal of Systems Architecture (2016), http://dx.doi.org/10.1016/j.sysarc.2016.04.009