ALGEBRAIC APPROACH TO TRANSFORMATIONS ON HYPERCUBE SYSTEM

In this study some algebraic transformations on hypercube system are proposed. The presented transformations of forbidden subcubes provide defining set of all maximal and nonfaulty subcubes, and subset of minimal and nonfaulty subcubes included certain given vertices. It provides formal and simple findingsof all the current sources and targets of information, and also the pathways between them. The correctness of all these transformations is proved by the aid of three theorems. In the proposed transformations there were three special operations of cube algebra applied, as subtraction, product and intersection on coordinates. Hypercube is a distributed parallel system consisting of 2n identicalprocessors, each provided with its own sizable memory and interconnected with n neighbors. It has a homogeneous symmetric structure and has necessarily rich connectivity. It also has useful topology in which many other topologies, such as meshes, rings, trees and etc. can be embedded [13,2,3,6, 11, 15, 1]. Hypercube multiprocessor systems usually have a large number of processors (nodes), so the probabilitythat some processor fails can be high. In order to prevent and determine the faulty nodes and links in the data communication there are many different kind of methods to reach the shortest paths between the source and the target nodes. For solving this problem it is applied traditional mathematical theory or heuristics, which can not completely take into account the peculiarities of the hypercube structure. These methods depend on the number of faulty components of hypercube and can not achieve necessary reliabilitywhen the number of faulty elements exceeds of cube dimension [2, 3, 11, 15 ]. The last years for this purpose it has become used the operations of cube algebra, which completely take into account the properties of hypercube structure and make pOSSlbleto operate in hypercube in presence of a lot of faulty elements, exceeded the cube dimension. Earlier, the cube algebra was applied in connection with presentation the Boolean functions in form of cubes and its minimization [9, 12, 14,4]. These and others studies were considered with more detail and generalized in [10, 5]. Latter the operations of cube algebra was used for processor allocation in hypercube [6]. We also used the cube algebra for compact minimization of multiple and single output combination circuits [7,8]. In this study we attempted for generalization and development of the methods and algorithms, based on cube algebra, with the aim of exactly and unambiguously solving the problem of reliable sequential and parallel routing for data communication in presence of faulty elements in a system of hypercube type with arbitrary dimension. Some of proposed transformations in this study are also useful for finding minimal forms of Boolean (switching) functions. Since these transformations allow to solve the problem of minimization with minimal possible and pre-known number of intermediate results, that is very important in the automatization of minimization process of Boolean functions with many variables. Each vertex of n-dimensional cube is marked by n bit unique binary code. This cube has the coordinates k], k2, "', k" . Naturally, the value of coordinate 14is determined in the set {O,l} for all j=1,2, ...,n-l,n. Thus, the code ofa certain vertex at the same time also became the algebraic expression of this vertex. In such coding of the vertex the neighbor vertices of n-dimensional cube are marked by n bit neighbor codes. Remind that, two n bit codes are called the neighbors if and only if they differ by the value of one bit. For example, the codes 0110 and 0100 are neighbors. 3-dimensional cube as presented in Fig.l, has coordinate axes kj, k2, k3 and is. ,k2 , 'is E {O,1}, where k i is the value on the coordinate axis 14. As can be seen from the Fig. 1 for the exact determination of any vertex of cube, it is necessary, that all the bits of this vertex's code accept the values from the set {O,I}. In other words, to set any vertex, it is necessary, that presenting its code has exact value of all its coordinates without exception. But for the exact definition of a certain edge of cube it is sufficient to set the exact values of two respective coordinates. Since for indication of a line (edge), that unites the vertices 000 and 00 1, it is sufficiently to give the values of coordinates kj =0, k2 =0, ie. k} is.=00; for line, that unites the vertices 000 and 010, it is sufficient to know the values of coordinates kj=0, k3=0, ie. k} k3=OO; for edge, that unites the vertices 000 and 100, it is sufficient to set values of coordinates k2 =0, k3 =0, ie. k2 k3 =00. In the first of these examples the coordinate k3 is not obviously indicated, in the second k2, and in the third k}, since they are nonessential for giving the respective line. But, as a matter a fact, a nonessential coordinate is very essential in line presentation, since the respective line lies just along this coordinate axis. That is also valid for planes and all figures with more dimensions without exception. Thls circumstance sharply differs the interpretation of the algebraic expressions of :figures (venex, line, plane, 3-dimensional cube, etc.) applying to routing in hypercube from the interpretation of these expressions applying to minimization of the Boolean fimetions. Here nonessentiality of a certain coordinate is grasped as non essentiality of respective variable. To execute the algebraic operations on the elements of cube, it is necessary that they were presented in the fonn of algebraic expressions. Then, to avoid ambiguities. it is necessary to use the means, which provide a precise detachment of all coordinates and their values. For this purpose a certain symbol is placed to the position of nonessential coordinate, that does not belong to the set {O,I}. In many cases this symbol is marked by * and is called "don't care symbol". For example, the lines k; k:=OO, k; k3=00 and k2 k3=OO will have the expressions 00*, 0.0 and *00, respectively. In such notation, the value of the coordinate k; stands on ith position of the expression, that provides its unambiguous interpretation. Such a circumstance gives to these expressions the properties of vector. In connection with this, for generality, the algebraic expression of whatever figure will call the vector of values of the coordinates (VVC). Then k;E{O,I,*} for all wc, including the values of m don't care coordinate (the coordinates having the values *), expr~ the figme that is called m-cube [10]. We will call the value m as see. In accordance to this definition a vertex is called O-cube, since its WC includes only zeros and ones. A line (the edge of cube) is called I-cube, since its WC includes the values of one don't care and ,,-1 care coordinates. A plane (quadrangle) is called 2-<--ube, since its we includes the values of two don't care and n-2 care coordinates. 3-dimensional cube is called 3-eube, since its we includes the values of three don't care and n~3 care coordinates. Further it fonows for the figures that have not geometrical analogues and, therefore, are called 4-cube, 5-eube, 6-eube and etc. It is necessary to note, that the concepts of m~cube and m-dimensional cube are not always equal If all the theoretical pOSSiblevertices and edges of m-dimensional cube enter to the same class of equivalency (according to a certain sign), then m-dimensional cube at the same time is m-cube. Otherwise, m-dimensional cube splits up into series of I-cubes (l<m), which have dimension m and can not form m-cube. On the other hand, m-cube can be a subcube of a certain n-cube, where n>m, and can have dimension n. For example, in Fig.l all the vertices and edges of the 3-dimensional cube enter to one class of equivalency according to sign of nonfaulty vertices (exactly, placed on these vertices active objects) and communications among them. Therefore, this 3-dimensional cube is a 3-cube. It: for example, the vertices 111 and 110 and edges 10* and *00 are faulty, then this cube splits up into 2-cube 0** (plane quadrangle), l-cube *01 (line-edge) and O-cube 100 (point vertex) (Fig. 2). But all these cubes have dimension 3 since they are not independent figures and are the parts of bigger figure, ie.3-dimensional cube (Fig. 1). From above mentioned and the Fig.2 it is distinctly clear that the second difference of the application of cube algebra from routing point of view in hypercube and from Boolean (switching) functions point of view. In the minimization theory of SFs the relation of equivalency is spread only to vertices, since the lines between the vertices have no significance and are used only for visua.lmltion of neighbOIhoods between the vertices. Therefore. from point of minimintioD view, Fig.2 has aspect as shown on Fig.3, ie. instead of the cubes 0**, *01 and 100 there are obtained 2-cubes 0** and *0*.

has become used the operations of cube algebra, which completely take into account the properties of hypercube structure and make pOSSlbleto operate in hypercube in presence of a lot of faulty elements, exceeded the cube dimension.
Earlier, the cube algebra was applied in connection with presentation the Boolean functions in form of cubes and its minimization [9,12,14,4].These and others studies were considered with more detail and generalized in [10,5].Latter the operations of cube algebra was used for processor allocation in hypercube [6].We also used the cube algebra for compact minimization of multiple and single output combination circuits [7,8].
In this study we attempted for generalization and development of the methods and algorithms, based on cube algebra, with the aim of exactly and unambiguously solving the problem of reliable sequential and parallel routing for data communication in presence of faulty elements in a system of hypercube type with arbitrary dimension.Some of proposed transformations in this study are also useful for finding minimal forms of Boolean (switching) functions.Since these transformations allow to solve the problem of minimization with minimal possible and pre-known number of intermediate results, that is very important in the automatization of minimization process of Boolean functions with many variables.
Each vertex of n-dimensional cube is marked by n bit unique binary code.This cube has the coordinates k], k 2 , "', k" .Naturally, the value of coordinate 14is determined in the set {O,l} for all j=1,2, ...,n-l,n.Thus, the code ofa certain vertex at the same time also became the algebraic expression of this vertex.In such coding of the vertex the neighbor vertices of n-dimensional cube are marked by n bit neighbor codes.Remind that, two n bit codes are called the neighbors if and only if they differ by the value of one bit.For example, the codes 0110 and 0100 are neighbors.
3-dimensional cube as presented in Fig. l, has coordinate axes kj, k 2 , k 3 and is.,k 2 , ' is E {O,1}, where k i is the value on the coordinate axis 14.As can be seen from the Fig. 1 for the exact determination of any vertex of cube, it is necessary, that all the bits of this vertex's code accept the values from the set {O,I}.In other words, to set any vertex, it is necessary, that presenting its code has exact value of all its coordinates without exception.But for the exact definition of a certain edge of cube it is sufficient to set the exact values of two respective coordinates.Since for indication of a line (edge), that unites the vertices 000 and 00 1, it is sufficiently to give the values of coordinates k j =0, k 2 =0, ie.k} is.=00; for line, that unites the vertices 000 and 010, it is sufficient to know the values of coordinates k j =0, k 3 =0, ie.k} k 3 =OO; for edge, that unites the vertices 000 and 100, it is sufficient to set values of coordinates k 2 =0, k 3 =0, i e. k 2 k 3 =00.In the first of these examples the coordinate k 3 is not obviously indicated, in the second -k 2 , and in the third -k}, since they are nonessential for giving the respective line.But, as a matter a fact, a nonessential coordinate is very essential in line presentation, since the respective line lies just along this coordinate axis.That is also valid for planes and all figures with more dimensions without exception.Thls circumstance sharply differs the interpretation of the algebraic expressions of :figures (venex, line, plane, 3-dimensional cube, etc.) applying to routing in hypercube from the interpretation of these expressions applying to minimization of the Boolean fimetions.Here nonessentiality of a certain coordinate is grasped as non essentiality of respective variable.
To execute the algebraic operations on the elements of cube, it is necessary that they were presented in the fonn of algebraic expressions.Then, to avoid ambiguities.it is necessary to use the means, which provide a precise detachment of all coordinates and their values.For this purpose a certain symbol is placed to the position of nonessential coordinate, that does not belong to the set {O,I}.In many cases this symbol is marked by * and is called "don't care symbol".For example, the lines k; k:=OO, k; k 3 =00 and k 2 k 3 =OO will have the expressions 00*, 0.0 and *00, respectively.In such notation, the value of the coordinate k; stands on ith position of the expression, that provides its unambiguous interpretation.Such a circumstance gives to these expressions the properties of vector.In connection with this, for generality, the algebraic expression of whatever figure will call the vector of values of the coordinates (VVC).Then k;E{O,I,*} for all wc, including the values of m don't care coordinate (the coordinates having the values *), expr~the figme that is called m-cube [10].We will call the value m as see.
In accordance to this definition a vertex is called O-cube, since its WC includes only zeros and ones.A line (the edge of cube) is called I-cube, since its WC includes the values of one don't care and ,,-1 care coordinates.A plane (quadrangle) is called 2-<--ube, since its we includes the values of two don't care and n-2 care coordinates.3-dimensional cube is called 3-eube, since its we includes the values of three don't care and n~3 care coordinates.Further it fonows for the figures that have not geometrical analogues and, therefore, are called 4-cube, 5-eube, 6-eube and etc.
It is necessary to note, that the concepts of m~cube and m-dimensional cube are not always equal If all the theoretical pOSSiblevertices and edges of m-dimensional cube enter to the same class of equivalency (according to a certain sign), then m-dimensional cube at the same time is m-cube.Otherwise, m-dimensional cube splits up into series of I-cubes (l<m), which have dimension m and can not form m-cube.On the other hand, m-cube can be a subcube of a certain n-cube, where n>m, and can have dimension n.For example, in Hence it fonows that the use of the cube algebra for solving the problem of routing (also broadcasting) in hypercube has its distinct properties by comparison with application of this algebra for minimilJltion of SFs.
The cube algebra includes ahnost all operations of the set theory and three ovvn operations, that are called coordinate product (star product, consensus or *'-operation), coordinate subtraction (sharp product or It-operation) and coordinate intersection ((1operation).Notice, that from cube algebra point of view these ovvn operations are fundamentals, but they are not fimdamentals from logical algebra point of view, since each of these operations represents a certain operator, realizing a certain standard logical expression, which is transformed with the purpose of obtaining resuhs of definitive type.
For example, the resuhs of multiplication.adhere, intersection and so on.Thus, the ovvn operations of cube algebra are convenient tools for transformations on hypercube and, therefore, we they consider briefly.
Fonowing [10,5,4], the coordinate subtraction of two cubes C1 and C2 , denoted.The coordinate product operation is applied to receive complete set of the prime implicants of SFs [10].Applying to hypercube on vertices of which there are the processors, computers or other similar active objects, the prime implicant term can be interpreted as maximal subcube including only nonfaulty or nonforbidden vertices.In accordance to definition of prime implicant, subcube A of hypercube Q is maximal, ifit is not a subcube of any more subcube of hypercube Q.The definition of complete set of nonfaulty and maximal subcubes of hypercube with faulty vertices is necessary for effective solution of such questions as allocation of the tasks over subcubes of hypercube [6], as routing of the information over vertices of hypercube [1] and etc.
The theorems given below allow to determine the method of finding the set of nonfaulty and maximal subcubes (NMS) in faulty hypercube [1].
Theorem 1.If F is a set of filulty cubes of complete n-cube and if Zi E {O,I} is the value of ith coordinate of any nonfaulty and maximal subcube Z of this n-cube, then at least one filulty subcube fEF exists in which the value of ith coordinate is Zj.
Theorem 2. If F is a set of complete faulty cubes, then the set ofNMS of n-cube including F is determined by the # -subtracting the set F from the complete n-cube and avoiding nonmaximal cubes from the resuh.
We apply the Theorem 2, as an example, for a set faulty nodesF={0100,01Il, 1010, 1011, 1100, 1101, 1110}.It is necessary to find a set ofNMS of 4-cube.For simplicity of further transformations we interpret the nodes of the set F as the nodes for which the Boolean functions F are true.Thus, we can find a minimal form of the function F Hence,   As can be seen from the abovmentioned transformations, each node can independently define its achieving neighbors.The procedure allows to find all the paths existing between the nodes and is independence from number of faulty elements and their placed configuration in hypercube.If many paths exist, it makes pOSSIbleto find the shortest path among them.
In the study some transformations are presented, allowing to realize the procedures, that is very important in hypercube multiprocessors (routing, multicasting, broadcasting, subcube and task allocation and deallocation, etc.).By aid this approach the data communication in hypercube is carried out between nonfaulty subcubes and it causes no cases to determine by-passing paths in presence offaulty components.The format approach allows to operate with fault-free components and so, is independent from the number and

Fig
Fig.l all the vertices and edges of the 3-dimensional cube enter to one class of equivalency according to sign of nonfaulty vertices (exactly, placed on these vertices active objects) and communications among them.Therefore, this 3-dimensional cube is a 3-cube.It: for example, the vertices 111 and 110 and edges 10* and *00 are faulty, then this cube splits up into 2-cube 0** (plane -quadrangle), l-cube *01 (line-edge) and O-cube 100 (pointvertex) (Fig.2).But all these cubes have dimension 3 since they are not independent figures and are the parts of bigger figure, ie.3-dimensional cube (Fig.1).

C3=
C1 # C2• is the set of subcubes including the nodes from C1, but not from C2.For example, **0 # *11 =**0 or {**O, 1**}# 110 = {O*O,*00,10*, 1*1}.The coordinate product of two cubes C1 and C2 , denoted C3 = C1 *' C2 , is the subcube fOlIDded in C/ and C2 simultaneously or the sub cube one part of which is in C/ and the other is in C2.For example, *00 *' 1*1 =10*.The coordinate intersection of two cubes C1 and C2, denoted C3 =C1 n C2, is the subcube presented in C1 and in C2 at the same time.For example, 10* n 1*1 = 0 or 10* n hI =101.The coordinate subtraction operation was applied to finding of the local prime implicants of the SF s.It was later knovvn that, this operation is a good tool for definition of complete nonfaulty subcubes of hypercube with fauhy or prolnbitioD vertices, also for definition of the paths, including the shortest path from any vertex to other vertex in hypercube[1].By means of the coordinate product the following operations may be realized: 1) Definition of the Hamming distance between the cubes, which is the number of links between them along the shortest path; 2) Intersection of two or more cubes with the aim of definition of their common parts (subcubes); 3) Unification of two m-cubes A and B in the (m+1)-cube C. The intersection operation is very useful for determination of the common parts of cubes.At first it was applied to definition of the parts of some prime implicant of SFs which are common with other prime implicants.This allowed to answer the question: is the given prime implicant extreme?From the point of routing in hypercube the coordinate intersection operation can be used for revelation of the common parts of cubes with the aim of defining the parts of passage from one subcube to another.

o•
Using the Theorem 3 in the search of subcube, including the node A, the I I I I faulty cube B 1 can be transformed to cube Qr=Q,Q2•••Q.,•.. qll by the If hi =* or Clj = hi , then q' assume that A=IlOI, F={B" B2, B3}={.100, lOt., 0111}.According to the transformation (I) QJ=***O, Q2=*Oh and QrO*h .According to the Theorem 3 the set I(A) of sub cubes including the node A is defined as I(A)= **** # {Q" Q2' Q3} = {J 1*1, **Ol}, that means the node A=IIO I is contained in the subcube 1h 1 and **01.Splitting the cubes I (A) into the set of I-cubes one may obtain the set of paths P(A) which are incidence to node A: P(A) = {1hI, hOI, *lOI}.Ifsome paths which are incidence to node A are faulty, then firstly it is necessary to remove faulty paths from the set P(A) and secondly to define the set of neighboring nodes V(A).Assume that the path hOI is faulty.Then: pl (A) = prAy \ 1*01 = {ll.I, * WI}: V(A) = pl (A) # A = {llll, 0101 }.

F
If the cube Cj EC is formed in the result of subtraction operation of the cube B from the cube A on coordinate i (iE{l,2, ...,n}, then the cube Cj is called difference After determination of a set of NMS we can realize different operations over the cubes wirich are contained in the set ofNMS.Determination together of the cubes, wirich are contained in the set of NMS, can lead to difficulties from parallel routing of view in hypercube.Consequently, it is important to search the method for determination of NMS, each of much includes a current source in every stage of routing process.This method is based on the Theorem 3. Theorem 3. If A =aja2 ...aj ..an is any nonfauhy node and B;= b;b~... b5... b~, BjEF is any fauhy cube, then for definition of the NMS including node A by procedure K; Assume that aj= b5 for any coordinate j.Then * #b5 = OJ' Consequently, for aj = b; the difference cube formed on the base of pair (aj' b5), contains the coordinate OJ 'Which shows that this cube does not contain the vertex A. In this case for averting the formation of non desirable cube, it is necessary to substitute of the value b5 by the symbol *.For aj=!:-* and b; = * the difference cube on coordinate} is not formed.The version llj= * and b5 :;&!: * is not posslble, since A is a vertex, ie.A is O-cube.For llj=b5 if:.* , * # b5 =b~= aj-Therefore, in the case ar b5 the difference cube, formed on coordinate j, contains the value OJ which witnesses that this cube can not contain the vertex A.
Proof:b5 by the symbol *.If aj=bj , then * # b~=bj = aj.Therefore, in the case of aj=bj the difference cube, formed on coordinate}, certainly contains the vertex A.