High performance communication subsystems (a.k.a. networks) have played a key role during the last two decades. The race towards exascale systems requires the use of a large amount of interconnected computing nodes to be able to perform at a rate of operations per second. Additionally, new parallel applications such as intelligence processing and analysis require of high capability supercomputers and large datacenters. As a consequence, high performance interconnection networks must be designed and scaled accordingly.
Besides performance, network energy efficiency has become an important concern. Networks present in exascale systems can consume
of the total system power. Future networks are estimated to consume aroundof the total supercomputer power budget. Despite the improvements in transmission technology and the use of different signaling techniques, such complex interconnection deployments need to be highly robust and flexible, reflecting the users’ needs while reducing performance degradation and energy consumption.
From the performance point of view, adaptive routing algorithms may provide the required flexibility for an efficient use of network resources. On the other hand, the energy efficiency issue is addressed by existing proposals through power-aware network techniques, which often rely on dynamic link width/frequency, and on/off links. This usually presents a dichotomy over these two aspects. Adaptiveness of routing algorithms can be exploited to maximize network performance for a particular network topology and/or application requirements. Besides, it can also be exploited to keep connectivity between source-destination pairs while switching on/off links to improve energy efficiency. A balance between these two aspects will depend on network topology state and users’ needs.
Network reconfiguration decouples these two aspects. From one point of view, routing algorithm flexibility can be fully exploited to improve network performance. From the other, accounting for disabled links due to power-aware network techniques to improve energy efficiency is handled by the reconfiguration process itself while moving from the previous routing function to the desired one. Hence, network reconfiguration allows the network to be able to adapt itself dynamically, reflecting changes affecting its state. During the reconfiguration process, network performance should not experience a degradation that either prevents or interferes to a great extent with users applications.
Challenges arise for the reconfiguration process to be carried out successfully regarding deadlock scenarios. Network deadlock principles have been studied to a great extent by previous theories[4, 5]. Briefly, a deadlock state is reached if packets cannot be routed due to a circular hold-and-wait dependency on network resources (such as storage buffers). Reaching a deadlocked state has severe consequences regarding network availability and performance, which may render the system unusable unless some action is taken.
Due to the dynamic nature of the reconfiguration process, residual dependencies activated by packets routed under a previous routing function may interact with dependencies from packets following a different routing function imposed by the reconfiguration process. This interaction can lead to reconfiguration-induced deadlock as long as packets under the influence of multiple routing functions remain undelivered, even if the routing functions themselves are deadlock-free. Theoretical support for reconfiguration-induced deadlock, characterizing this scenario, was provided by Duato’s theory.
Deadlock-free network reconfiguration techniques can be classified in two broad categories. Instatic reconfiguration, packet injection into the network is halted while network resources are drained of packets routed according to the old routing function. Then, packet injection is resumed under the new routing function[7, 8, 9]. These techniques, however, suffer from high packet latencies and significant packet dropping specially when link deactivation is performed.
On the other hand, dynamic reconfiguration schemes allow transmission of packets following both the old and the new routing function. While reducing the amount of dropped packets and packet latency, these techniques must be devised to avoid reconfiguration-induced deadlock discussed earlier, which usually leads to more sophisticated algorithms[10, 11, 12, 13, 14, 15].
In this paper we present a new dynamic reconfiguration scheme based on the application of Lysne’s methodology for developing deadlock-free dynamic network reconfiguration processes. We call this new scheme Upstream Progressive Reconfiguration (UPR). Our scheme is able to perform the reconfiguration process in a topology-agnostic manner. Moreover, it does not require additional resources such as virtual channels or separate escape paths. Among its features, UPR reduces the amount of channels which have to be drained of packets and it performs selective injection halting between communication node pairs if necessary. Thus, injection could be halted for a period as short as possible for a subset of source-destination pairs in order to prevent reconfiguration-induced deadlocks.
According to the obtained results, UPR effectively exploits compatibility between the considered routing functions reducing the amount of channels requiring packet drainage down to only of the total amount of channels available in the network in some scenarios. Depending on the compatibility yielded between the old and the new routing functions, packet injection selective halting can be completely avoided. In other words, communication between all pairs of processing nodes is allowed during the reconfiguration process. Results unveil the potential of UPR to be used with adaptive routing algorithms and power-aware techniques.
The rest of this paper is organized as follows. Section 2 provides the base theoretical concepts and notation formalisms consistent with Duato’s theory and Lysne’s methodology. Section 3 gives a further description of existing dynamic reconfiguration schemes. In Section 4 we describe the UPR scheme proposed. Following, Sections 5 and 6 provide an exploratory analysis applying our scheme along some concluding remarks. Finally, Section 7 lays out possible improvements to our proposal as well as ongoing research and future work.
The reconfiguration process presented in this article relies on Duato’s Theory for Deadlock-free Dynamic Network Reconfiguration and follows Lysne’s Methodology for Developing Deadlock-Free Dynamic Network Reconfiguration Processes.
One of the main properties of a dynamic reconfiguration process is that reconfiguration usually follows a partial order among different switching elements (a.k.a. routers). In other words, due to the asynchronous operation of routers, it is not feasible to update the routing information of all at once, specially for large systems requiring lots of these elements in a distributed environment.
This behavior is represented as a series of update steps performed locally at each router by following a partial order with respect to other steps being finished at different routers. In order to lay this clearly we have included some well-known definitions which will be used later.
An interconnection network is a strongly connected directed multigraph, denoted by , where is the vertex set representing the processing element nodes and the set of router nodes such that . is the arc set representing the channels (and virtual channels) which is composed of three disjoint non-empty subsets , and , and and such that , , and . Here, and represent the source and destination node of channel respectively.
A routing function which returns the alternative output channels to send a packet whose head flit is at the head of current channel willing to reach node . Therefore, where are the candidate channels for the packet’s head flit to be forwarded.
For any given routing function and channel , the local routing function at channel is denoted as such that , , and , if an only if .
A reconfiguration process is defined as the progressive upgrade of an initial routing function to another one in partially synchronized steps across channels . Each of these steps (performed locally at each router) is made of a condition and an operation: . The condition, , is a predicate on the state of the local configuration at the router, while the operation, , indicates what change to make at to the local routing function at channel so as to migrate from to . A partial order is defined on channels to synchronize steps across them. Thus, to carry out at any given channel, it has to wait until all channels preceding it have started (possibly finished) with . If is satisfied, is checked. In addition, if is satisfied, it starts updating its local routing function and informs channels following it in that it has started updating.
The channel dependency graph of a routing function defined on interconnection network is a directed graph , where the vertex set corresponds to the set of channels in , and the arc set consists of pairs of channels such that, according to , there is a direct dependency from to .
The target channel dependency graph of a routing function is a directed multi-graph , where the vertex set corresponds to the set of channels in , and the arc set consists of tuples , such that, according to , there is a direct dependency from channel to for a given target node .
The set of outgoing dependencies for a given channel in is the set of dependencies with source channel . Therefore, and .
Let be the set of outgoing targets provided by dependencies in for channel in . Hence, .
The set of incoming dependencies for a given channel in is the set of dependencies with destination channel . Therefore, and
Let be the set of incoming targets provided by dependencies in for channel in . Hence, .
For the following definitions, we will make use of the local routing functions from Definition 3. Notice that the prevailing routing function across all channels is unique. Besides is given by the composition (
) of all local routing functions at each channel at a given moment (i.e.) as stated in Definition 12 from Duato’s theory.
A local routing function is said to be target conforming with respect to for a given channel , if all of the incoming targets supplied by towards channel (in ) are also supplied (outgoing targets) by (in ) for channel . Using Definition 8:
Figure 1 shows an example of a target conforming local routing function. We can see that the local routing function is a target conforming local routing function due to the existence of its output targets within the input targets provided by towards channel .
Cases will arise where facing with non target conforming local routing function requires to extend (or ) by adding routing choices.
A routing function extension to a routing function is valid if no deadlock may arise from the addition of new routing choices. The extended version of is denoted as (a.k.a. extended ).
In the context of a given channel , the extension of for channel results in such that new routing choices are added for packets whose head flit is at the head of channel . Thus,
This also applies for local routing functions at channel :
A routing function reduction of a routing function is valid if the removal of routing choices such that , is target conforming with respect to according to Definition 11. can be considered as the extended version of . Thus, it can be expressed as . In consequence, yields the same properties stated in Definition 12 with respect to .
In the context of a given channel , the reduction of for channel results in (a.k.a. reduced ) such that existing routing choices are removed for packets whose head flit is at the head of channel .
Compatible local routing function. A non target conforming local routing function with respect to is said to be compatible with respect to for a given channel , if a target conforming local routing function can be found from an extended version of at channel with respect to either or an extended version at channel .
3 Related Work
Dynamic reconfiguration schemes can be classified according to multiple aspects. Following the taxonomy presented in , two main aspects are taken into account: deadlock avoidance and unroutable packet management.
The schemes presented in this section employ different techniques to avoid reconfiguration-induced deadlocks. We have identified two main strategies:
DAC: Deadlock avoidance by preventing the creation of cyclic dependencies among network resources during the reconfiguration process.
DSR: Deadlock avoidance by splitting network resources into two sets and statically reconfiguring those sets in sequence.
There is a third strategy for deadlock avoidance which allows the creation of dependency cycles among network resources during the reconfiguration process, but ensures that these cyclic dependencies do not prevent forward progress of the reconfiguration process. Thus, at some point during the process, these cycles will disappear avoiding permanent deadlocks. Some routing algorithms benefit from this approach, but, due to its complexity, existing deadlock-free dynamic reconfiguration proposals do not use this approach.
During the reconfiguration process, packets may reach channel queues not allowed by the current routing function, these packets cannot be routed because the routing function did not expect those packets to be there (a.k.a. unroutable packets). If not handled, they can exhaust network resources leading to performance degradation and possibly deadlock due to permanent dependencies which cannot be removed. Three strategies dealing with unroutable packets are considered in :
UD: Discard unroutable packets.
UB: Buffer unroutable packets as long as necessary to allow new routing options to be available for these packets.
UR: Allow temporary routing options for unroutable packets. These routing options may not be present by the end of the reconfiguration process.
Table I presents the aforementioned dynamic reconfiguration schemes according to the previous aspects. PPR is a topology-agnostic reconfiguration scheme which does not halt user traffic and it does not need additional resources (such as virtual channels) to work. Instead, PPR relies on the Up*/Down* routing algorithm to configure escape paths. NetRec focuses on permanent node faults. In order to restore connectivity, it builds a tree that spans all immediate neighbors of the faulty node, whilst, packets routed towards the faulty node are discarded.
|DAC||PPR, NetRec, OSR,||uDIRECT||UPR|
|OSRLite, Lysne’s, UPR||Lysne’s|
OSR (and its modified version OSRLite) is aimed to handle fault scenarios as well as any other situation where paths are required to change. It does not need additional resources neither relies on any particular routing algorithm. OSR by design requires drainage of packets using the old routing function at every channel in the network in order to guarantee forward progress of the reconfiguration process. In the event of faults, it performs drainage of unroutable packets by discarding them.
Lysne’s reconfiguration scheme objective is to reduce the part of the network where a restructuring of the Up*/Down* routing is necessary by only performing modifications on the skyline (tree’s roots and intermediate nodes) of a multiple root tree. If combined with PPR to trigger the skyline reconfiguration of the multiple roots tree it may require discarding unroutable packets. However, if a synchronized reconfiguration of the skyline is performed, unroutable packets remain stored.
Another approach is uDIRECT, which handles failures within unidirectional links. It makes use of a tree structure to place deadlock-free escape routes on each fault scenario. In order to prevent reconfiguration-induced deadlocks, unroutable packets are ejected to the network interface of the router at which they are stored.
On the other hand, Double Scheme uses two sets of virtual channels in the network to perform spatial separation of escape resources. It also does not impede the transmission of user packets during the reconfiguration process, but it allows packet discarding in case of disconnectivity from the packet perspective, i.e. according to the resource where the packet is stored.
All the previous reconfiguration schemes provide an escape channel set for packets in a predefined fashion to avoid reconfiguration-induced deadlocks. In other words, the escape channel set for packets is computed before the reconfiguration process takes place, and it remains fixed during the whole process. Once packets enter escape channels, they must remain within the escape channel set towards their destinations, otherwise, deadlocks may arise. In order to achieve this, packets using escape channels which may later use channels not in the escape channel set must be drained.
In OSR, for instance, the escape channel set is given by the new routing function. For this reason, all channels with packets using the old routing function must be drained progressively before packets using the new routing function can make use of them. In Double Scheme (and its improved versions), the escape channel set is computed before the reconfiguration process starts, by using a separate virtual channel which must be drained from old packets before it can be used by new packets.
Finally, our approach uses an hybrid strategy when dealing with unroutable packets. It does allow temporary routing options in order to enable dependencies to route unroutable packets towards their destinations by exploiting existing compatibilities between the old and new routing functions. Hence, the escape channel set is initially given by the new routing function. However, as the reconfiguration process progresses, new routing choices are added (if necessary) to the new routing function to provide packets routed under the old routing function, a valid escape path within the new routing function (they would become unroutable packets otherwise).
As a consequence, in UPR, the escape channel set is dynamically updated during the reconfiguration process, exploiting compatibility between routing functions progressively in a channel basis, and reducing the amount of channels which require drainage of old packets. Lower channel drainage results in lower interference between packets routed under different routing functions. Thus, packets routed under the new routing function would not need to wait for drainage of packets routed under the old routing function. This results in lower packet latency penalty during the reconfiguration process.
4 Upstream Progressive Reconfiguration
Briefly, UPR working principle is based on progressively performing local reconfiguration at routers following the associated with the final routing function (or a modified version) in reverse topological order, from sink channels towards source channels. Let us consider the initial routing function before starting the reconfiguration process . When the is started, (the prevailing routing function) matches . Nevertheless, as the process makes forward progress, evolves according to the modifications made locally at routers for each channel. On the other hand, we denote as to the final routing function (and its associated according to Definition 6), which must be configured once finishes.
Graph traversal of from sink channels towards source channels allows the addition of new routing choices to (i.e. dependencies in ), enabling routes provided by to packets being routed under the previous routing function. Following this order, we can reduce the required amount of channels which need to be drained of packets due to the lack of alternative routing choices. More precisely, along the graph traversal, channels are checked against Definition 11 with respect to for each visited channel . Then, channel updates its accordingly.
Additionally, in order to allow a more efficient RP progress, UPR exploits compatibility between and locally at routers according to Definitions 13 and 14. Thus, UPR may perform changes on and/or to exploit this compatibility. The resulting routing function after these modifications to is an intermediate routing function called . Initially, .
For the sake of clarity, updates to be performed on in successive steps during the result in a new routing function to be applied, which we denote as . Thus, after the corresponding operations are performed, will become for later modifications (if any). Each succeeding routing function has an associated .
As depicted, during the , each channel performs a series of steps before finishes. Thus, is a predicate on . Similarly, makes changes to the local routing function affecting only to output choices related with channel at the corresponding router (i.e. is an input channel of , ).
4.1 Step condition
Assuming that a partial ordering is followed on channels, as we will describe later, each channel checks associated with . As formally defined below, channel must ensure that its associated local routing function derived from (initially, ) is a target conforming local routing function according to Definition 11 with respect to for channel .
Target conforming . A given channel is allowed to perform associated with if and only if is a target conforming local routing function with respect to for channel .
4.2 Step operation
When upgrading channel , routing choices from are added whilst those from which do not conform (i.e. not present in ) are removed for channel . This operation is performed locally at each router in a channel basis where . Hence, only routing choices provided by are removed. Similarly, routing choices corresponding to associated with channel are added.
Figure 2 shows the resulting for channel as a result of applying the upgrade operation. Notice that is target conforming with respect to for channel , and so is .
The step operation can be represented also using and from a global perspective. Further details are provided in Appendix LABEL:sup:sec:step-operation-global within the supplementary material.
4.3 Reconfiguration order
The order in which routers carry out the corresponding is the reverse topological order of for each channel. Thus, at the beginning, sink channels (i.e. ) check if is satisfied. Figure 3 shows an example.
Sink channels having at least one incoming dependency in , i.e. ( in Figure 3), may start checking as they have no successors in . If no topology changes have been performed, these channels belong to (see Definition 1).
That being said, sink channels do not satisfy Condition 1 because the lack of output targets in the . As a consequence, will not conform with respect to for sink channel :
Sink channels represent an exception which must be accounted for. Therefore, Condition 1 is extended as follows:
Target conforming with sink exception. A given channel is allowed to perform associated with if and only if is a target conforming local routing function with respect to for channel or .
Source channels having at least one outgoing dependency in , i.e. ( in Figure 3) will always satisfy Condition 1 regardless of their dependencies in because they do not have any incoming targets. Thus, will always conform with respect to for source channel :
Besides, orphan channels in and (i.e. with no incoming/outgoing dependencies in ) always satisfy Condition 1 regardless of their dependencies in . Orphan channels follow the same reasoning as with source channels.
4.4 Selective halting
Upon channel condition evaluation, may not satisfy Condition 2. Then, there exists at least one incoming target to routed under for which is not provided any alternative route by .
In order to comply with Condition 2, it must be ensured that no incoming targets from for which does not provide any route at are fed into (a.k.a. offending targets). This requires predecessors in to remove incoming dependencies (i.e. drain packets) towards bringing the offending targets up to the source channels which inject packets towards these targets going through .
As a consequence, some pairs of processing nodes will be unable to communicate temporarily due to the lack of connectivity among them. On the other hand, injection will be halted for as short as possible. This approach is referred to as selective halting dynamic reconfiguration, which corresponds to Case 7 in Lysne’s methodology .
We can address this issue by halting injection of target at channel . Effectively removing dependency as well as unnecessary dependencies underneath, reducing , which becomes . After this modification, is target conforming with respect to (equal to ). Thus, channel will satisfy Condition 2 when becomes in the next step.
4.5 Exploiting conformability
Exploiting conformability is, in fact, one of the simplest cases of interoperability between routing functions which helps to reduce selective halting in some cases. UPR takes advantage of the existing conformability between and when either channels are checking their step condition (i.e. upgrading) or processing requests from successor channels in to remove dependencies.
4.5.1 Exploiting conformability through to remove dependencies
Exploiting conformability through consists in taking advantage of a target conforming routing local function defined over (reduced version of , see Definition 13) with respect to to enable dependency removal from if needed. This is the case for routing functions offering multiple routing choices towards the same target.
Let us consider the scenario shown in Figure 5. Channel satisfies the RP order (see Section 4.3) but Condition 2 is not met because is not target conforming with respect to . Thus, would result in unroutable packets arising at channel coming from towards target .
Then, requests channel to remove dependency . Notice that the desired routing function (equal to ) to be applied next, yields to be target conforming with respect to . This is due to dependency which provides an alternative route for target at . Then, can safely remove while keeping routing connectivity. Hence, applies and it acknowledges the removal to .
Channel in turn, will apply its step operation once the removal is acknowledged because it will satisfy Condition 2. The resulting graph is shown as .
4.5.2 Exploiting conformability through to upgrade channels
UPR may perform reduction enabling the RP to make progress faster. To achieve this, a given channel may remove output choices provided by towards a particular target if there exist alternative routes for which downstream channels in already completed their upgrade operation. Hence, removing precedence restrictions towards non upgraded channels in .
Figure 6 shows a simple scenario where conformability through can be used. Channel cannot check its upgrade condition until both channels complete their upgrade operation due to the partial order established .
However, upon upgrade operation is completed, finds a target conforming local routing function with respect to by removing dependency from . Thus, may start checking Condition 2 because now is only preceded by .
4.5.3 Restoring from
Modifications performed on (initially, ) due to conformability exploitation (see Section 4.5.2) make to diverge from . Nevertheless, the reduced version always remains connected and it satisfies:
As explained in Section 4.5.2, routing choices removed from the initial , were removed by channels for which their direct successors in were not upgraded to speed up the RP. Hence, upon each direct successor completes its upgrade operation, these routing choices can be restored. Therefore, they can be added back to safely without creating dependency cycles assuming is deadlock-free.
The dependency restoration process starts from sink channels towards source channels during the RP as soon as each channel completes its upgrade operation following the reconfiguration order.
4.6 Exploiting compatibility
Compatibility between two routing functions, namely and (initially and ), can be addressed from their associated perspective in a channel basis. The objective is to reduce selective halting at source channels.
As in Section 4.5, UPR takes advantage of the existing compatibility between and when channels are either checking their step condition or processing requests from successor channels in to remove dependencies.
4.6.1 Exploiting compatibility through to remove dependencies
Channel requests to remove dependency bringing target into in . Upon processing the removal request at , it acknowledges that there exists an adjacent channel in the topology which provides an alternative route for target in . Besides, channel is not predecessor in . Otherwise, adding dependencies from to would create cycles in .
Then, by extending adding dependency (i.e. becoming in the next step ()), will be able to remove dependency by exploiting conformability. Thus, performing reduction , denoted as in Figure 7. (i.e. without dependency ) is a compatible local routing function with respect to the initial according to Definition 14 because we found an extension through the addition of dependency which is target conforming with respect to .
Besides, is target conforming with respect to . This modification, in turn, makes target conforming with respect to . Thus, will satisfy Condition 2 as soon as becomes the prevailing routing function . The resulting routing function is shown after performs its upgrade operation.
4.6.2 Exploiting compatibility through to upgrade channels
This case can be explained using the same scenario proposed to exploit compatibility to remove dependencies, Figure 8 illustrates this case. As in Section 4.6.1, channel satisfies the reconfiguration order but it does not comply with Condition 2 due to the offending target . Nevertheless, there exists an adjacent channel in the topology providing an alternative route for target in . Additionally, is not predecessor in . Otherwise, adding dependencies from to would create cycles in .
According to Definition 14, is a compatible local routing function with respect to for channel because it can extend (i.e. ) to provide an alternative route for target . Thus, becomes target conforming with respect to .
Additionally, extending by adding dependency to also acts on upgrade order. In other words, now , as a result must wait for to upgrade (unless was already upgraded). Deadlock may arise if exploiting compatibility through is used in combination of conformability exploitation through when restoring missing dependencies removed by the later. However, this can be avoided by taking removed dependencies into account when extending . Refer to Appendix LABEL:sup:sec:deadlock-exploiting-conformability-compatibility in the supplementary material for more details.
4.6.3 Restoring from
Exploiting compatibility through to upgrade channels is only performed by channels which do not satisfy Condition 2. Therefore, there exists at least one incoming target for which does not provide any output choice. In other words, incoming targets exist at channels for which did not expect to be there.
This means that eventually, channels bringing these incoming targets using will complete their upgrade operation. Hence, old dependencies towards upgraded channels downstream will be removed. Upon these dependencies removal, channels which extended their local routing function under (i.e. ) will be able to remove the previously added dependencies both in and . Residual dependencies on channels from older routing choices not provided by are also known as ghost dependencies.
In the worst case, ghost dependencies will be removed at source channels upon their upgrade operation is completed. Hence, ghost dependencies removal will propagate downwards allowing upgraded channels to remove unnecessary dependencies both in and . The interested reader may refer to Appendix LABEL:sup:sec:from-extended-ri-to-rf-example in the supplementary material for an example.
4.7 Deadlock-free RP sufficient conditions
According to Lysne’s methodology a deadlock-free reconfiguration process can be devised if the following conditions are upheld:
The prevailing routing function is connected and deadlock-free at all times.
During an Adding Phase, no routing choice may be added to any switch that closes a cycle of dependencies on escape resources.
During a Removing Phase, no routing choice may be removed from any switch before it is known that there will be no packet needing this routing choice; either to proceed or to enter escape resources.
All potential ghost dependencies are removed from the network before a transition from a Removing Phase to an Adding Phase.
We assume both the initial routing function and final routing function to be connected and deadlock-free before the RP starts ( condition). During an Adding Phase no routing choice is added such that it creates a cycle on escape resources. This is guaranteed by following the reconfiguration order explained in Section 4.3.
Routing choices added by a given channel are added towards successor channels which already completed their upgrade operation, therefore due to the reconfiguration order being the reverse topological order, paths towards sink channels are always available through . Besides, routing choices added by exploiting compatibility are added towards non predecessor channels in either (dependency removal request) or (to satisfy the step condition). Hence, no cycles can be formed during an Adding Phase ( condition).
Channels may remove routing choices when applying their step operation. In order to do that, they must fulfil the step condition, which guarantees that incoming packets will always have a routing choice alternative provided by . Routing choices removed by exploiting conformability/compatibility cannot remove dependencies such that unroutable packets arise due to the computation of a which is target conforming with respect to . Hence, during a Removing Phase it is guaranteed that packets will always have a route available towards escape resources ( condition). In the worst case scenario, selective halting would be applied, draining packets which would become unroutable otherwise before removing the corresponding dependencies.
Ghost dependencies are guaranteed to be either completely removed or provisioned by exploiting compatibility through on channels which already completed their upgrade operation ( condition). Thus, keeping escape resources free from dependency cycles (ghost dependencies removed) and unroutable packets (ghost dependencies provisioned in ).
In this section, we evaluate the proposed reconfiguration scheme. The goal of this evaluation is to assess the suitability of UPR and to show that it can benefit from compatibility exploitation between two routing algorithms to reduce selective halting at sources while also reducing the need for packet drainage at channels.
In the first part, we describe the methodology, topology and routing algorithms used for the evaluation. Afterwards, we explain the metrics used to present the results and analysis.
5.1 Evaluation methodology
For our proposal evaluation we developed a sophisticated simulation tool which allowed us to represent the reconfiguration process as a concurrent computation of graph operations by multiple processes. Each process comprises operations made by a single unidirectional channel (channel for short) within the directed graph representing the network topology.
Channel dependency information is available globally for all channels. This information is stored using graph representations , , and associated to each routing function (see Section 4 for more details). These shared data structures yield a critical section and they are accessed by channels to read and/or update their dependencies information atomically. This guarantees dependency information to be updated at all times so that decisions made by channels are always based on the current state of the system.
Besides, each channel is in charge of the addition/removal of outgoing dependencies devised from its local perspective. Therefore, will only perform modifications to , involving dependencies in , . In other words, dependencies within sets and . This is consistent with Definition 2 (a.k.a. distributed routing).
The network is built from a mesh topology using bidirectional physical links between router nodes. Each bidirectional link is considered as two independent unidirectional channels. For simplicity, we assume a single virtual channel (i.e. no virtual channels).
5.1.2 Routing algorithms
We consider four different minimal routing algorithms: non-adaptive algorithms xy and yx, and the partially adaptive algorithms odd-even and negative-first. Routing algorithms xy and yx lack of any degree of adaptiveness, providing a single route per source-destination pair. On the other hand, odd-even (oe) and negative-first (nf) may provide multiple routes for each source-destination pair and a reasonable degree of adaptiveness.
Each combination of two distinct routing algorithms results in a different scenario for the reconfiguration process to change from one routing algorithm to the other.
5.1.3 Evaluation metrics
The first metric evaluated is the amount of channels which require drainage of packets. We consider that a channel is required to be drained of packets if it cannot satisfy Condition 2 due to some incoming target/s. Thus, it has to request incoming dependencies removal to upstream channels for one or more targets going through this channel following the .
This metric considers a channel as requiring drainage as soon as a single target brought by the old routing function is not provided any output choice by the new routing function. This results in a conservative metric because it does not consider any particular distribution of packets in the network. In a realistic scenario, depending on the assignment of flits or packets to buffers, channel drainage may not be necessary regardless of the output choices provided by the new routing function. For example, neighbor traffic will not distribute packets towards destinations comprising multiple hops. Hence, regardless of the provided paths by the routing function between source-destination pairs, some of them will never be used by packets towards some destinations.
Another useful metric is the amount of halted flows (i.e. source-destination pairs) for which selective halting has been applied during the RP for some period at source channels. As with the previous metric, this considers a worst case scenario because depending on the traffic pattern, some source-destination pairs may never establish communication. In a real system, this would depend on the job scheduling and task mapping techniques. Notice that injection selective halting is applied at some source-destination pairs if and only if no available routes exist between those processing nodes.
5.2 Results and analysis
The Upstream Progressive Reconfiguration algorithm has been evaluated triggering the RP for each combination of routing algorithms. Figure 9 shows the ratio of channels which required drainage of at least one incoming target with respect to the total amount of channels available in a mesh network. Each bar represents the final routing algorithm while the initial routing algorithm is in the horizontal axis.
Figure (a)a shows the channel ratio requiring drainage if relying solely in selective halting. First, the figure indicates that not all channels are required to be drained, this is due to channels yielding a target conforming with respect to (sink channels always satisfy this). Non-adaptive algorithms xy and yx have a single route per source-destination pair. Hence, when used as initial routing algorithms, lower channel drainage is observed due to these algorithms restraining the amount of different routes towards the same destination.
On the other hand, using xy and yx as final routing algorithms increases the drained channels ratio for the same reason. Due to the existence of a single path between each source-destination pair, the ratio of shared dependencies with the initial routing algorithm is lower, specially when combined with partially adaptive routing algorithms oe and nf as the initial routing algorithms. Adaptiveness degree provided by oe and nf when used as initial routing algorithms reduce the amount of channels with a target conforming due to a higher amount of targets going through channels at . Thus, more channels will be drained in these cases (greater than ).
Exploiting conformability and compatibility results regarding drained channels are shown in Figure (b)b. Clearly, this shows great improvements when oe and nf are used as initial routing algorithms due to the exploitation of conformability to reduce in order to remove unwanted dependencies. In addition, when combined with xy and yx as final routing algorithms, the amount of drained channels is lowered to less than (lower than for nf as initial routing algorithm) due to the great chances of exploiting compatibility within to upgrade channels, increasing the amount of different routes provided by xy, yx. Greater reduction is obtained when combined with oe and nf as final routing algorithms (lower than ) due to a greater amount of shared dependencies (i.e. portions of paths between source-destination pairs) which increases the amount of channels with target conforming .
Channel drainage ratio when exploiting conformability/compatibility relative to just selective halting is shown in Figure (c)c. It can be observed that greater improvements (i.e. less channels requiring drainage) are obtained combining partially adaptive algorithms oe, nf. These routing algorithms are maximally extended such that no dependencies may be added to their associated such that they do not create a cycle. This increases the amount of target conforming for channels due to a large amount of shared dependencies among both routing functions.
No significant improvement is obtained when algorithms xy, yx are used as initial routing algorithms with respect to relying only on selective halting. This is due to a low amount of target conforming found among channels. Besides, due to and being maximally extended routing functions, compatibility cannot be exploited to a great extent when these algorithms are used as final routing algorithms. Reduction of these routing algorithms would be desirable in order to leave margin for UPR to add dependencies such that non target conforming become compatible.
Channel drainage against other reconfiguration schemes can be greatly reduced. For example, OSR always requires all channels to be drained from all packets under for the proposed combinations of initial and final routing algorithms. This is due to the use of the two distinct sets of escape resources provided by and . The former must be used by packets routed under and the later will be used for new injected packets under . In OSR, at any given moment in time, channels may belong to only one of these predefined escape sets. This, in turn, makes OSR unlikely to benefit from the dynamic nature of the reconfiguration process and existing compatibilities between these two escape channel sets.
Figure 10 shows halted flows during the reconfiguration process. Figure (a)a shows halted flows resulting from applying only selective halting. Worst cases are combinations between xy and yx requiring to halt injection of more than of flows due to the lack of alternative routes between each source-destination pair. Hence, a single channel requiring the removal for a particular incoming target triggers the injection selective halting of that target at multiple source channels.
Regardless of the initial routing algorithm used, setting oe and nf as the final routing algorithms, keeps the ratio of halted flows under . This is a direct consequence of the increased amount of routing choices (and portions of paths) which are shared with the initial routing algorithm due to a greater number of paths between each source-destination pair. Thus, a low amount of removal requests is received at upstream channels to remove offending targets towards downstream channels.
When exploiting conformability and compatibility halted flows results are shown in Figure (b)b. We can observe a great reduction in halted flows required from the combination between xy and yx, which now is less than which represents a with respect to applying only selective halting according to Figure (c)c. Besides, halted flows for oe and nf used as the initial routing algorithms are completely avoided in some cases (i.e. ) except for combination oe-xy which has been brought from around to .
Overall, halted flows ratio is reduced when exploiting conformability/compatibility. However, halted flows reduction is greater for combinations among routing algorithms offering multiple routes between source-destination pairs. This increases the probability that some paths (or portion of paths) followed by packets towards its destination can be shared among both routing algorithms, either directly or by finding a compatibleat channels depending on the extension capability yielded by the final routing algorithm.
Existing reconfiguration schemes do not rely on selective injection halting of flows. Instead, they rely on buffer occupancy backpressure, which may prevent source channels to inject packets towards any destination. This is of special importance because old packets interference with new packets may block new packets forwarding at a given channel. This interference is propagated backwards, resulting in new packets being blocked at source channels.
Proposals such as OSRLite try to alleviate this problem by allowing packets routed under the new routing function to be routed (from a certain point in the network) using the old routing function. However, under a congested scenario this dramatically increases the amount of packets under the old routing function that have to be drained from the escape channel set provided by the new routing function. Thus, delaying RP forward progress significantly.
In this paper, we have proposed a new process for deadlock-free dynamic reconfiguration which is able to exploit existing conformability and compatibility among two distinct routing functions. This process is applicable to any routing algorithm independently of the underlying topology. Besides, it can be applied to packet switching, virtual cut-through and wormhole switching (the interested reader may refer to  for a formal proof), and it does not require additional resources. Our proposal guarantees the absence of deadlocks during the reconfiguration process relying on Duato’s theory.
The results show that it is not always necessary to drain all channels from packets using previous routing choices but they can be rerouted according to the new routing function as long as it provides alternative route choices for those packets.
What is more interesting is that both the old routing function and the new routing function can be modified in a partially ordered stepped process such that they coexist. Coexistence among routing functions reduces interference of the reconfiguration process with the transmission of packets. This can lead to scenarios where uninterrupted transmission of packets between processing nodes is allowed while the reconfiguration process takes place.
Another important aspect regarding the potential benefits obtained by UPR is that conformability can be exploited to a higher degree when the initial routing algorithm provides a greater amount of paths (i.e. routing choices) between source-destination pairs. On the other hand, compatibility exploitation can be achieved when the final routing algorithms provide a smaller amount of routing choices. This puts on display the potential of this algorithm to be applied for reconfiguration scenarios due to planned/unplanned channel deactivation which may result in topology changes (e.g. energy saving policies, component failures, etc.).
Finally, UPR addresses the challenges introduced when reconfiguring networks. It reduces the amount of channels requiring drainage of packets while also reducing packet injection halting at processing nodes. Additionally, it avoids reconfiguration-induced deadlocks while performing routing choice addition/removal on a channel-by-channel basis.
7 Future work
Our findings suggest the potential use of UPR to address multiple issues involving network reconfiguration. Besides, there are some aspects of our proposal which can be improved to achieve better performance and/or extended to provide support for different scenarios. A brief description of these aspects is provided in this section.
First, better results are expected if additional resources are provided for UPR to exploit conformability and compatibility with respect to channel drainage and halted flows. This is similar to the working principle of reconfiguration techniques such as the Fully Adaptive Double Scheme.
An interesting use case of UPR is the integration with power-aware techniques to improve energy efficiency. Results show the potential of UPR to perform planned addition/removal of routing choices (possibly due to on/off links) while reducing interference with packet transmission. UPR always ensures escape path availability prior to dependencies removal due to link shutdown (and all its associated channels, including virtual channels). This provides power-aware techniques full flexibility.
On the contrary, power-aware techniques which solely rely on routing algorithms adaptiveness degree, can lead to an incomplete escape channel set. As a consequence, unroutable packets may arise resulting in deadlock configurations. Thus, diminishing power-aware techniques flexibility.
Besides, further analysis of the use of UPR in conjunction with topology agnostic routing algorithms such as Tree-turn Routing or Segment-based Routing in order to deal with topology changes would be desirable. These issues will be addressed further in future work.
Last, ongoing research is being developed to provide unplanned link deactivation support (e.g. component failures). Unplanned link deactivation may result in unroutable packets being blocked at channel queues. Existing proposals handle this scenario discarding those packets. Thus, preventing reconfiguration-induced deadlocks while guaranteeing forward progress of the reconfiguration process.
Due to UPR compatibility exploitation, alternative escape resources can be provided to blocked packets by extending either or . Hence, reducing the amount of packets which have to be discarded. Nevertheless, this must be performed carefully, such that these extensions do not prevent forward progress of the reconfiguration process.
This work has been jointly supported by the Spanish MINECO and European Commission (FEDER funds) under the project RTI2018-098156-B-C52 (MINECO/FEDER), and by Junta de Comunidades de Castilla-La Mancha under the project SBPLY/17/180501/000498. Juan-José Crespo is funded by the Spanish MECD under national grant program (FPU) FPU15/03627.
Appendix A Global representation of step operation
From the global routing function point of view, the resulting applied at next step can be induced from its representation which can be formulated using graph operations as combination of and . First, we compute the induced subgraph on by direct successors (out-neighborhood ) including , denoted as .
Then, we remove outgoing dependencies from . The resulting graph is denoted as .
Finally, is obtained adding graphs and . Figure 11 illustrates an example of computation.
Appendix B Deadlock avoidance when exploiting conformability through while exploiting compatibility through to upgrade channels
There is an important consideration that must be taken into account when exploiting conformability through (see Section 4.5.2) and also compatibility through to upgrade channels, in order to prevent reconfiguration-induced deadlocks.
Given a channel with a compatible which extends by adding some dependency towards an adjacent channel in the topology . Channel may not be predecessor in but it could be in because is a reduced version of . Then, when restoring from (see Section 4.5.3) by adding missing dependencies, cycles may arise. Let us see an example scenario in Figure 12 by tracing a possible computation of a .
Initially, all channels in are not upgraded. We also assume that these channels are neither sources nor sinks (see Figure (a)a). Only a portion of the is shown for simplicity. Hence, additional dependencies to keep both and connected are assumed and omitted for brevity.
The RP trace is shown in Figure (b)b. First, channel completes its upgrade operation resulting in . In the next step, realizes that it could satisfy the reconfiguration order by exploiting conformability through .Thus, removing dependency from , giving as a result. Afterwards, following the reconfiguration order, channel upgrades and the result is shown in .
Later, channel checks Condition 2 which does not satisfies due to target brought by . It extends by adding dependency , completing its upgrade operation (see ). Due to upgrade completion, restores dependency in . A cycle comprising channels arises.
Two different approaches can be devised to prevent reconfiguration-induced deadlocks in this scenario:
When exploiting compatibility through to upgrade channels: Prevent dependency addition towards