Anode routing method of a multi-processor system, comprising: learning a state of an available link between nodes in the multi-processor system, wherein the multi-processor system comprises a first subnet and a second subnet, the first subnet comprises at least two connected nodes; and when at least one link in the first subnet fails, reselecting an available link between all nodes in the first subnet, so that the nodes in the first subnet use the reselected available link to route a packet, wherein the reselected available link is a link on each node in the first subnet, and the reselected available link on each node in the first subnet is not the one whose dimension sequence number is the same as that of the failed link; wherein a dimension sequence number represents the numbers of a link at two end nodes, and the dimension sequence numbers of the link at the two end nodes are the same; wherein the number of links and dimension sequence numbers of the links in the second subnet are the same as the number of links and dimension sequence numbers of the links in the first subnet, respectively, and the first subnet is connected to the second subnet through an (n+1)th dimensional link, wherein n is the maximum dimension of the links in the first subnet and the second subnet; and the method further comprises: selecting an available link from a node in the first subnet to the second subnet, so that the node in the first subnet routes the packet to the second subnet, wherein the available link from the node in the first subnet to the second subnet comprises the (n+1)th dimensional link and an available link in the second subnet, and the available link in the second subnet is a link, on each node in the second subnet, remaining after a link whose dimension sequence number is the same as that of the link used by the first subnet to route the packet is removed. learning a state of an available link between nodes in the multi-processor system, wherein the multi-processor system comprises a first subnet and a second subnet, the first subnet comprises at least two connected nodes; and when at least one link in the first subnet fails, reselecting an available link between all nodes in the first subnet, so that the nodes in the first subnet use the reselected available link to route a packet, wherein the reselected available link is a link on each node in the first subnet, and the reselected available link on each node in the first subnet is not the one whose dimension sequence number is the same as that of the failed link; wherein a dimension sequence number represents the numbers of a link at two end nodes, and the dimension sequence numbers of the link at the two end nodes are the same; wherein the number of links and dimension sequence numbers of the links in the second subnet are the same as the number of links and dimension sequence numbers of the links in the first subnet, respectively, and the first subnet is connected to the second subnet through an (n+1)th dimensional link, wherein n is the maximum dimension of the links in the first subnet and the second subnet; and the method further comprises: selecting an available link from a node in the first subnet to the second subnet, so that the node in the first subnet routes the packet to the second subnet, wherein the available link from the node in the first subnet to the second subnet comprises the (n+1)th dimensional link and an available link in the second subnet, and the available link in the second subnet is a link, on each node in the second subnet, remaining after a link whose dimension sequence number is the same as that of the link used by the first subnet to route the packet is removed. selecting an available link from a node in the first subnet to the second subnet, so that the node in the first subnet routes the packet to the second subnet, wherein the available link from the node in the first subnet to the second subnet comprises the (n+1)th dimensional link and an available link in the second subnet, and the available link in the second subnet is a link, on each node in the second subnet, remaining after a link whose dimension sequence number is the same as that of the link used by the first subnet to route the packet is removed.