The HyperZ is a generalized hypercube
interconnection whose processing nodes are fat trees. The fat trees have the
specifications of the Z-tree [21]. A regular
Z-node has equal number of routing nodes (switches) of equal radix at all
levels of the tree. Unlike HyperX which can be viewed as flattened
butterfly or hypercube with nodes containing single switches with several
processing elements, our proposed architecture is more general and includes
also HyperX configuration in its space when the height of the Z-node is 1. A
group of Z-nodes in the kth-dimension is refere to as a super
node, S-node, where k is 1≤k≤d with d representing
the number of dimensions in the GHC topology.
Figure 1.
HyperZ of dimension, d=1, and height, h=3, H1,3(2;2)(Z2) with Z2 (4,2;1,2;1,2). There are (q1=2) external links per level per switch.
3.1.Hyper Z-Fat Tree Connectivity Rules
Each node at level i, 0 ≤i ≤ h, within the
Z-node, can be represented by a flat address, Xi, where Xi ϵ {0, 1, …, -1}. On the other hand, each node in the
HyperZ can be extended by the tuple (ad, ad-1, …, a1;
Xi) where ak ϵ
{0, 1, …, sk -1} for 1≤k≤d. The hierarchical address (ad,
ad-1, …, a1) is also an abstract address of a Z-node
in the HyperZ. For instance, in Figure 1,
at level 2 there are 2 routing nodes, R2=2, in the
Z-node 0 and Z-node 1. Thus, the tuple (a1, X2) has
the flat address X2 ϵ
{0, 1}, and the hierarchical address a1 ϵ {0, 1} since s1
= 2, giving the tuples (0; 0), (0; 1) for the Z-node 0 and the tuples (1;
0), (0; 1) for the Z-node 1 at level 2.
The levels offer the traffic several paths from
each Z-node to the others across the network. Thus, the communications take
place concurrently though the layers. In Figure
2, there are 2 layers corresponding to 2 levels of the Z-node. Each
layer has several paths emerging from the links of each routing node, switch.
The Z-tree bidirectional connectivity can be
established by first instantiating all the nodes (processing node i=0 and
routing nodes i>0), assigning them unique flat address Xi
and then linking them internally according to the rule of the Z-tree
connections [21]. The inter-connections of
the Z-nodes in the GHC network along each dimension can be established as
stated below.
A node A of tuple (ad, ad-1,
…, a1; Xi) connects by bidirectional links to
a node B of tuple (bd, bd-1, …, b1;
Yi), if and only if:
They have the same flat address within their
Z-nodes Xi =Yi ,
The vector connectivity degree Qk = (q1k, q2k,…, qik …,qhk) in
the kth-dimension has at least one element qik≠0,
They differ in exactly one value in the kth
dimension, ak ≠ bkfor all 1≤k≤d.
In Figure 2
illustrates an example on how Z-nodes are connected in a HyperZ topology define
as H3,h(4,3,4;1,1,1)(Zh). In this example,
a Z-node is an abstract computational node, (Zh), of
any height and internal structure. In the dimension 1, 2 and 3,
there are 4, 3 and 4 S-nodes, s1 =4, s2=3
and s3=4, respectively. All the connections between the
Z-nodes in all the dimensions at all levels are equal to 1, qk=
1. Dimension 0 is the Z-node itself, shown as a filled triangle. In
dimension 1, there are four S-nodes, labeled 0, 1, 2,
and 3, each containing 1 single Z-node. In dimension 2, there
are three S-nodes, labelled 0, 1, and 2, each containing
four Z-nodes making a total of twelve Z-nodes. Finally, in dimension 3,
there are four S-nodes, labelled 0, 1, 2, and 3, each accommodating twelve
Z-nodes. The Z-node (0, 0, 0) connects to Z-nodes (0, 0, 1), (0, 0, 2) and (0,
0, 3) for all levels i as they differ in dimension 1. It
also connects to Z-nodes (0, 1, 0) and (0, 2, 0), which differs
in dimension 2, and finally connects to Z-nodes (1, 0, 0), (2, 0, 0) and
(3, 0, 0) by differing in dimension 3.
Figure 2.
Hyper Z-Tree, H3,h (3, 4;1, 1, 1) (Zh) , the degree of connectivity vector is 1 in all levels of Z-tree. Only the connections from Znode (0, 0, 0) to all others are shown.
Figure 2.
Hyper Z-Tree, H3,h (3, 4;1, 1, 1) (Zh) , the degree of connectivity vector is 1 in all levels of Z-tree. Only the connections from Znode (0, 0, 0) to all others are shown.
3.2. Topology Features
This section describes the extent of the topology
and its design space to accommodate large number of processors.
Definition 3.1
A regular HyperZ is a topology with zi
= z for all 1 ≤ i
≤ h and sk
= s and qk=q for all 1 ≤ k ≤
d.
This means that the regular HyperZ is constituted
from Regular Z-nodes. Furthermore, if the number of zones in the Z-nodes is
equal to the number of S-nodes at any levels and dimensions, a fully regular
HyperZ is constructed.
Definition 3.2
A fully regular HyperZ is a topology with zi
= sk = s and qk=q for all 1 ≤ i ≤ h and 1 ≤ k ≤ d.
For a fully regular HyperZ to accommodate
processors, there should be at least
R0
processors per regular Z-node, with each switch radix limited to,
, where L
max is a given technology
dependent switch radix,
q the number of side links between Z-nodes and
z
is the number of zones within the Z-node, yielding
2z ports per switch.
Thus, the number of S-nodes (
s=z) required in all dimensions is bounded
by the radix available
A lower bound to the minimum number of processors
accommodated by the HyperZ can therefore be expressed as
, refer to Eq. 2, since z=s for a fully regular
hyperZ, one can write
The equations (3) and (4) establish both an upper
and lower bound for each possible network configuration. It is apparent from Figure 3 that topologies with lower height such
as HyperX, to maintain fixed number of ports per routing node, they required
higher dimensions, and therefore higher diameter leading to higher latencies.
HyperZ with higher height comparable to h=3 and 8 S-nodes would
interconnect a minimum number of processors ranging from 131072, with yet
smaller number of ports per routing node in the order of 32, with GHC of 3
dimensions, see Figure 3. This is an
important result to minimise complexities of switches and thus reduce power
consumption.
Figure 3.
HyperZ design space for 131072 processors.
Figure 3.
HyperZ design space for 131072 processors.