KR101809396B1 - 분산된 직접 상호 접속 네트워크에서 패킷을 라우팅하는 방법 - Google Patents

분산된 직접 상호 접속 네트워크에서 패킷을 라우팅하는 방법 Download PDF

Info

Publication number
KR101809396B1
KR101809396B1 KR1020167024812A KR20167024812A KR101809396B1 KR 101809396 B1 KR101809396 B1 KR 101809396B1 KR 1020167024812 A KR1020167024812 A KR 1020167024812A KR 20167024812 A KR20167024812 A KR 20167024812A KR 101809396 B1 KR101809396 B1 KR 101809396B1
Authority
KR
South Korea
Prior art keywords
node
packet
topology
nodes
network
Prior art date
Application number
KR1020167024812A
Other languages
English (en)
Other versions
KR20160122192A (ko
Inventor
우도 뉴스타터
단 오프레아
안드레이 카타나
Original Assignee
락포트 네트웍스 아이엔씨.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 락포트 네트웍스 아이엔씨. filed Critical 락포트 네트웍스 아이엔씨.
Publication of KR20160122192A publication Critical patent/KR20160122192A/ko
Application granted granted Critical
Publication of KR101809396B1 publication Critical patent/KR101809396B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/40Wormhole routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 핫 스폿 개발을 피하기 위해 낮은 대기시간, 증가됨 처리량 및 트래픽 분포를 갖는 토러스 또는 높은 기수 토폴로지를 통해 라우팅되는 데이터 패킷에 대한 방법 및 장치를 제공한다. 개시는 모든 노드와 연헙된 포트를 발견하는 단계와; 네트워크 토폴로지의 노드와 포트를 포함하는 데이터베이스를 업데이트 하는단계와; 상기 토폴로지에서 각 노드 상의 모든 출력 포트에서 모든 다른 노드까지 최단 경로를 계산하는 단계와; 패킷이 네트워크 토폴로지에서 대체 최대 이산 경로를 따라 분포되어 플릿이 분할될 때 소스 노드 상의 각 출력 포트에서 웜홀 스위칭을 사용하는 목적지 노드까지 최단 경로를 따라 상기 플릿을 분산하는 소스 노드의 출력 포트에서 각 패킷을 플릿으로 분할하는 단계 및; 패킥이 원래의 주문/양식을 허용하도록 목적지 노드에서 패킷을 재조립 및 재주문하는 단계를 포함하는 소스 노드로부터 목적지 노드로 분산된 직접 상호 접속 네트워크에서 패킷을 라우팅하는 방법이다.

Description

분산된 직접 상호 접속 네트워크에서 패킷을 라우팅하는 방법{METHOD TO ROUTE PACKETS IN A DISTRIBUTED DIRECT INTERCONNECT NETWORK}
본 출원은 개시 내용이 본 출원에 참고로 인용된 2014. 8. 29일 출원된 "컴퓨터 네트워크에서 직접 상호 접속 스위치 배선과 증가를 관리하기 위한 방법 및 장치"라는 제목의 PCT 특허출원 제PCT/CA2014/000652호에 관한 것이다.
본 발명은 데이터 센터 및 클라우드 데이터 센터 서버를 상호 접속하기 위한 컴퓨터 네트워크에 관한 것으로서, 특히 "드래곤플라이(dragonfly)" 배선 구조처럼 토러스 또는 높은 기수 토폴로지 상에 구현되는 직접 상호 접속 네트워크에서 패킷을 라우팅하는 방법에 관한 것이다.
용어 데이터 센터(DC)는 일반적으로 대형 컴퓨터 시스템(중종 장치를 수용하는 랙에 포함)을 수용하는 데 사용된 시설이고, 관련 부품은 모두 구조화된 케이블링의 엄청난 양에 의해 연결된다. 또한 클라우드 데이터 센터(CDC)는 대형을 참조하는데 사용되는 용어로서, 일반적으로 기업의 데이터를 유사하게 저장하는 오프-프레미스(off-premise) 시설이다. 네트워크 통신/처리 목적을 위해 네트워크 장치를 링크하는 컴퓨터 네트워크 장치이다. 즉, 스위치는 그것에 연결된 어떤 장치로부터 메시지를 수신하고 메시지를 중계하기 위해 특정 장치에 메시지를 전송할 수 있는 통신장치이고, 네트워크 스위치는 일반적으로 프로세스와 루트 데이터를 이어주는 다중 포트 네트워크로 지칭된다.
여기서 포트에 의해 연결되어 있는 스위치와 컴퓨터/서버/CPU 사이의 인터페이스(케이블이나 플러그용 콘센트)를 언급한다.
오늘날, 데이터 센터(DC)와 클라우드 데이터 센터(CDC)는 일반적으로 계층 2 스위치 세트를 사용하는 데이터 센터 네트워킹을 구현한다. 계층 2 스위치는 계층 2에서 데이터를 처리하고 라우팅하며, 데이터 링크 계층은 광역 네트워크에서 동일한 로컬 영역 네트워크 또는 이접 노드에 있는 노드들(예컨대 서버) 사이에서 데이터를 전송하는 프로토콜 계층이다.
하지만 주요 문제는 매우 많은 수의 포트(수천)를 포함하는 매우 큰 총 대역폭(TB의 수백)을 수행할 수 있는 대용량의 컴퓨터 네트워크를 구축하는 방법이 그 최소한의 구조와 공간(즉, 카드의 랙과 수많은 캐비닛을 수용할 수 있는 넓은 공간의 필요성을 최소화하는), 쉬운 확장성 그리고 그 전력 소비를 최소화하는 데 도움되어야 되어야 하는 것이다.
도 1에 나타낸 바와 같이, 기존의 네트워크 토폴로지 구현은 계층적 트리 구조로 구성된 완전히 독립된 스위치를 기반으로 하고, 코어 스위치(2)는 매우 높은 속도, 매우 큰 스위칭 용량을 갖는 낮은 카운트 포트이며, 제 3 계층은 낮은 속도, 큰 포트 카운트(예컨대 40/48), 소용량 에지 스위치(6)를 사용하여 구현되는 반면, 제 2 계층은 집합 스위치(4), 많은 수의 포트와 중간 용량의 스위치를 이용하여 구현된다. 통상적 에지 스위치는 계층 2이고, 집합 포트는 계층 2 및/또는 계층 3 이며, 코어 스위치는 일반적으로 계층 3이다.
이러한 구현은 제공된(세 홉은 코어 스위치(2) 까지 이고, 셋은 대상 서버(8) 까지) 예에서 여섯 홉 링크의 최대의 모든 서버 연결에 대한 서버(8)를 제공하고, 이러한 계층 구조는 일반적으로 여분 신뢰성 목적을 위해 중복된다. 예컨대 도 1을 참조하면, 중복 없이 오른쪽 가장자리 스위치(6)가 실패한다면, 오른쪽 대부분의 서버(8)에 아무런 연결이 없고, 적어도 코어 스위치(2)의 실패가 전체 데이터 센터 연결 실패를 생성하기 때문에 코어 스위치(2)는 중복된다. 명백한 이유로 이러한 방법은 미래 클라우드 데이터 센터(CDC)의 과제를 해결한 데 상당한 제한을 갖게 된다. 예를 들면, 각각의 스위치가 완전히 독립적이기 때문에 이러한 복잡성, 중요한 바닥 공간 활용, 복잡한 케이블링과 수동 스위치 구성/제공은 인간의 오류(human error) 및 에너지 비용이 증가되는 경향이 있다.
더구나 데이터 센터에서 스위칭 확장성, 안정성, 용량, 대기 시간을 향상시키는 많은 시도가 이루어지고 있는바, 예를 들면 통합된 제어 평면(예컨대 주니퍼 네트워크로 부터 전환하는 QFabric 시스템; http://www.juniper.net/us/en / produc tservices / switch ing / gfabric - system /)을 사용함으로써 더 복잡한 스위칭 솔루션을 구현하기 위한 노력들이 행하여 지지만, 그러한 시스템은 여전히 기존의 계층 구조를 사용하고 유지한다.
또한, 시스템 사용자의 수가 기하 급수적으로 증가하고, 데이터의 저장, 액세스, 처리 및 처리 능력은 컴퓨터 네트워크 시스템의 성능 요건을 결정할 때 가장 중요한 요소가 되고, 서버의 성능은 지속적으로 개선되었지만, 하나의 서버는 요구를 충족하기에 충분히 강력하지 않다. 이는 병렬 프로세싱의 사용이 가장 중요하게 죄는 이유이다. 그 결과, 주로 남북 트래픽 흐름이었던 것이 지금은 대부분 80 %까지 많은 경우에 동서 트래픽 흐름으로 되었고, 트래픽 흐름의 변화에도 불구하고 네트워크 아키텍처는 이러한 모델에 대해 최적으로 개발되지 않았다. 그러므로 그것은 아직도 병렬 처리 통신 중에 CPU 간 상호 작용의 속도를 결정하는 통신 네트워크[상호 컴퓨팅 노드(서버)]의 토폴로지이다.
증가된 동서 트래픽 통신에 대한 이러한 필요는 더 새로운 창조, 더 평탄한 네트워크 아키텍처 예컨대 토로이드/토러스 네트워크로 이어지고, 토러스 상호 연결 시스템은 병렬 컴퓨터 시스템에서 메쉬 형상으로 네트워크 노드(서버)에 접속하기 위한 네트워크 토폴로지이며, 토러스 토폴로지는 프로세서/서버가 가장 가까운 이웃 프로세서/서버에 연결되는 배열로 가시화될 수 있는 2, 3, 또는 그 이상의 (N)차원으로 정렬한 노드들을 구비할 수 있고, 배열의 반대 가장자리 상의 프로세서/서버는 연결되어 있다. 이러한 방식으로, 각각의 노드는 N 차원 토러스 구성(도 2는 3차원 토러스 상호 연결의 일례를 제공한다.)에서 2N 연결을 가지며, 토러스 토폴로지에서 각각의 노드가 짧은 케이블을 통해 인접한 노드에 접속되어 있기 때문에 병렬 처리 동안 낮은 네트워크 지연이 있고, 실제로, 토러스 토폴로지는 홉의 최소 수와 모든 노드(서버)에 액세스를 제공한다. 예를 들면, 3 × 3 × 3 × 4 구성(108 노드들)을 구현하는 4차원 토러스는 어떤 연결을 제공하기 위해 평균 2.5 홉을 요구한다. 도 4는 구석 노드(1.6)로 부터 모든 다른 35 노드로 가기 위해 필요한 홉의 최소수를 나타내는 6 × 6 2차원 토러스의 일예를 제공한다. 도시된 바와 같이, 노드(1.6)로부터 어떤 목적지에 도달하기 위해 필요한 홉의 수는 3 홉(10 노드)에서 피크, 일반적으로 5 홉(4 노드)과 1홉(4 노드)에서 각각 꼬리의 벨 곡선으로 나타낼 수 있다.
불행하게도, 큰 구현은 구축에 수개월이 걸리고, 케이블링이 복잡할 수 있으며(각 노드에 대한 2N 연경), 그들은 확장이 필요한 경우 수정에 비용이 많이 들고 복잡할 수 있기 때문에 데이터 센터들(DCs) 또는 클라우드 데이터 센터들(CDCs)에서 상업적 개발에 대하여 실용적이지 않다. 그러나, 처리 능력에 대한 요구가 상업적 단점을 능가하는 슈퍼컴퓨터에서는 토러스 토폴로지의 구현이 매우 성공적이었다. 이와 관련 후지쓰의 PRIMEHPC FX10 슈퍼 컴퓨터 시스템(비 특허문헌 1 참조)이 98,304 노드를 포함하는 1,024 랙에 보관된 6차원(6-D)의 토러스 상호 접속의 예인 경우 64 캐비닛 하우스 65,536 노드(131,072 CPU들)를 페타플롭스(petaflops) 처리 능력(도시한 도 3 참조)을 제공하도록 IBM의 블루진 슈퍼 컴퓨터는 3차원 토러스 상호 연결 네트워크의 예를 제공하고, 토러스 토폴로지에 관련된 상기 예는 다른 플랫(flat) 네트워크 토폴로지에 동일하게 적용 가능하다.
본 발명은 보다 구체적으로 데이터 패킷 이송 및 토러스 또는 더 높은 기수 네트워크 구조에서 노드로부터 노드로 라우팅의 중요한 문제를 다루며, 이러한 관점에서, 데이터의 패킷이 네트워크에서 소스로부터 목적지로 가는 데 걸리는 실제 경로를 결정하는 라우팅이고, 이러한 목적을 위해 대기 시간은 네트워크에서 목적지에 도달하는 패킷에 대해 걸리는 시간이며, 일반적으로 헤드가 소스 노드의 입력에 도달할 때부터 목적지 노드에 도달할 때까지 측정된 시간을 의미하고, 홉 카운트는 소스와 목적지 사이에 이송된 링크와 노드의 수를 의미하며 대기 시간을 결정하는 근사치를 나타내며, 처리량은 네트워크가 비트/초에서 측정된 입력 포트/노드 당 허용하는 데이터율 이다.
핫스팟 현상(사용/수요가 원하는 또는 허용 가능한 임계 값을 초과 한 경로 또는 노드 영역)을 방지하고 충돌(두 개 이상의 노드가 동시에 같은 와이어 또는 경로를 통해 메시지 또는 패킷 송신을 시도할 때)을 최소화하도록 라우팅이 노드들(노드 균형) 간에 균등하게 트래픽을 분배할 때 유용한 목표는 네트워크 대기 시간 및 처리량을 개선한다. 따라서 선택된 경로는 노드 간의 홉들의 수에 영향을 미치며, 경로 최적화되어 있지 않은 경우 잠재적으로 에너지 소비에 영향을 미칠 수 있다.
토폴로지는 평균 최소 홉 카운트와 노드 사이의 거리에 영향을 받기 때문에 네트워크 작동하의 상기 토폴로지는 또한 명확하게 지연 시간에 영향을 미친다. 예를 들면, 토러스에서 뿐만 아니라 패킷이 목적지(즉, 토러스에서 "경로 다이버시티")에 도달하기 위해 취할 수 있는 다수의 경로가 존재하지만, 모든 소스 및 목적지 쌍 사이 다수의 최소 길이 경로도 있고, 예컨대 5 홉의 더 긴 네 번째 경로가 표시되는 경우 도 5는 패킷이 2 차원(2-D) 토러스 메쉬에서 노드(S11)에서 노드(D12; 3 홉)로 이동하기 위해 취할 수 있는 세 가지 최소한의 경로의 예를 보여주며, 라우팅을 통해 실행된 경로 계산은 오직 토폴로지를 기반으로 정적으로 행해지고, - 소스 라우팅은 홉 기반으로 홉 상의 패킷 소스-목적지 쌍에 근거하여 동적으로 행해진다.
경로의 다양성을 이용하는 라우팅 방법은 네트워크의 더 나은 내결함성과 더 나은 로드 밸런싱을 가지나, 항상 이러한 목적을 달성하지 않으며, 일반적으로 세 가지 종류: 결정, 불확정, 적응으로 나눌 수 있고, 결정적 라우팅은 노드의 주어진 쌍 사이의 경로가 네트워크의 현재 상태에 관계없이(즉, 네트워크 트래픽에 관계없이) 미리 결정되어 있다는 사실을 의미한다. 차원 오더 라우팅(DOR)은 노드(A)에서 노드(B)로 모든 메시지가 항상 같은 경로를 통과하는 것을 특징으로 하는 결정 라우팅의 예이며, 구체적으로 메시지는 다음 차원으로 전환하기 전에 하나의 차원 대상과 일치하는 종축에 도달하는 차원에서 차원(X-Y 라우팅)을 통과하고, 예를 들면, 도 6은 패킷이 우선 노드 1 내지 5로부터 노드 9 까지 요구된 1차원(X)을 따라 이동하는 DOR를 나타내는데 사용될 수 있고, 이어서 목적지 노드(10)에 2차원(Y)을 따라 이동하며, 이러한 라우팅은 일반적으로 구현이 용이하고 교착 상태가 자유롭지만(교착 상태는 끝없는 주기가 소스에서 목적지로 경로를 따라 존재하는 상황을 말한다), 경로 다양성의 이용이 없기 때문에 밸런싱이 불량하다.
"불확정(oblivious)"이라는 라우팅 알고리즘은 라우팅 결정이 네트워크의 현재 상태에 관계없이 랜덤하게 이루어지는 라우팅 결정들이고[결정적 라우팅은 불확정(oblivious) 라우팅의 하위 집합이다.], 이러한 불확정(oblivious) 라우팅은 간단하게 구현할 수 있다는 것을 의미하지만, 이는 또한 트래픽 및 네트워크 상황에 적응할 수 없으며, 공지의 불확정 라우팅 방법의 예로는 밸런트(Valiant) 알고리즘이 있다(당업자에게 공지된). 이 방법에서 노드 A로부터 노드 B로 송신된 패킷은 노드 A로부터 임의로 선택된 중간 노드 X(떨어진 하나의 홉)로 첫번째 전송된 후 노드 X로부터 노드B로 전송된다. 도 6을 다시 참조하면, 밸런트(Valiant) 알고리즘은 소스 노드 1에서 목적지 노드 10까지 중간 노드로서 노드 2를 무작위로 선택할 수 있고, 예를 들면, 경로 1-2-3-7-11-10을 의미하며 라우팅 목적에 사용될 수 있다. 이것은 일반적으로 모든 트래픽 패턴을 랜덤화하고, 모든 패턴을 균일하게 랜덤으로 나타내기 때문에 네트워크 부하가 매우 균형있게 된다. 사실 상기 밸런트(Valiant) 알고리즘은 일반적으로 거의 모든 토폴로지 상의 모든 트래픽 패턴에 대한 부하가 균형을 이룰 것으로 생각되나 한가지 문제는 밸런트 루트들이 일반적으로 종종 상당한 홉 수의 증가를 초래하고, 또한 네트워크 대기 시간을 증가시켜 잠재적 에너지 소비를 증가시킬 수 있어 최소화(최소 경로들이 소스와 목적지 간의 홉의 최소 개수를 필요로 하는 경로로 된다)되지 않는다는 것이다. 하지만 혼잡을 최소화할 수 있는 네트워크에서와 같은 예외가 있고, 비최소(non-minimal) 라우팅은 크게 추가 노드가 이송될 때 아마도 지연 및 전력 소비를 증가시킬 수 있다: 한편, 네트워크 혼잡 발생에서 비최소(non-minimal) 라우팅은 실제로 노드 또는 핫 스폿을 피하는 데 도움을 줄 수 있으며, 이에 의해 실제로 더낮은 지연을 초래한다.
비록 최소 경로가 요구되거나 필요한 경우 상기 밸런트(Valiant) 알고리즘은 중간 모드가 최소한의 상한 내에 있는 조건에 의해 최소 노선/최단 경로로 임의의 결정을 제한하도록 변형될 수 있다. 일 예로 도 6을 참조하면, 노드(1)[노드(10)의 목적지를 갖는)에 대한 최소한의 상한은 노드 2, 5 및 0을 포함하고, 통상의 홉의 수(count) 3에 이른다.
상기 밸런트(Valiant) 알고리즘은 핫스팟 개발의 가능성을 줄일 경로 선택 임의 일부 레벨을 제공하나 효율성에 영향을 미치는 또 다른 문제가 있다. - 밸런트(Valiant) 라우팅은 로드 밸런싱 및 핫스팟 회피를 실패하는 DOR 라우팅과 함께 사용되었을 때 자유로이 교착된다.
적응 라우팅 알고리즘은 라우팅 결정이 상기 네트워크 또는 네트워크 트래픽의 상태에 근거하는 것이며, 일반적으로 제어 메커니즘의 흐름을 포함하고, 이러한 관점에서 버퍼 점유가 종종 사용된다. 상기 적응 라우팅은 글로벌 노드 정보(값비싼 성능-방법)를 채용할 수 있으며, 예를 들면, 네트워크 혼잡을 측정하기 위해 ㄷ단지 (queue) 점유를 포함하는 로컬 노드로부터의 정보를 사용할 수 있고, 로컬 노드만으로 정보를 사용하는 문제점은 종종 최적의 선택으로 이어질 수 있다는 점이며, 적응 라우팅은 최소한의 경로로 억제할 수 있거나, 라이브 록(즉, 유사한 상황은 패킷 트래블이 목적지로 진행되지 않는 경우 교착하고, 자원 고갈을 초래한다)을 위한 잠재력과 비최소한(non-minimal)의 경로를 채용함으로써 완전하게 적응(즉, 최단 경로 획득에 제한 없이)될 수 있고 이는 종종 많은 시간 잘못 라우팅된 패킷에 더 높은 우선 순위를 부여함으로써 패킷 당 잘못된 라우팅의 특정 수를 허용함으로써 극복할 수 있으며, 적응 라우팅의 또 다른 문제는 데이터 패킷의 순서화를 보존하는 문제를 일으킬 수 있다는 것이다 - 패킷이 순서대로 목적지에 도달하기 위해 필요하거나 그렇지 않으면 패킷 재정렬 메커니즘을 구현하기 위해 필요하다.
마지막으로, 라우팅이 소스 테이블 또는 로컬 테이블에 의해 구현될 수 있다고 언급하는 것이 중요하며, 소스 테이블의 경우, 전체 경로는 소스에 지정되어 상기 패킷 헤더 내로 삽입될 수 있고, 경로가 잠겨 있거나 각 노드에서 홉에 의해 홉이 라우팅 될 필요가 없기 때문에 대기 시간은 최소화된다. 소스 테이블은 루트가 부하 균형을 증가시키기 위해 랜덤하게(즉, 불확정 라우팅) 선택된 경우 결함 관리를 할 수 있는 목적지 당 여러 경로를 지정하기 위해 만들어질 수 있고, 다른 한편으로는 로컬 노드 테이블과 더 작은 라우팅 테이블이 이용되나 패킷이 수행하는 다음 단계는 각 노드에서 결정되며, 이는 홉 당 대기 시간을 추가한다.
본 발명은 종래 기술의 결함을 극복하고 토러스에서 라우팅 패킷들의 공지 된 방법 또는 더 높은 기수 네트워크 토폴로지를 개선하고자 하는 것이다.
일 태양에서, 본 발명은 낮은 레이턴시(latency), 증가된 처리율(throughpu t), 및 핫 스팟(hot spot) 및 교착 상태 회피를 제공하는 토러스 메쉬(torus mesh) 또는 더 높은 기수 토폴로지를 통해 데이터 패킷을 라우팅하는 신규한 방법을 제공하는 것이다.
또 다른 태양에서, 본 발명은 트래픽 랜덤, 대역폭 할당에서의 증가된 효율,로드 밸런싱 및 토러스 메쉬 또는 높은 기수 구조에서의 트래픽 엔지니어링을 구현하는 방법을 제공하는 것이다.
일 실시 예에서, 본 발명은 네트워크 토폴로지에서 각 노드 상의 모든 노드와 모든 출력 포트를 발견하는 단계와; 최단 경로 라우팅 계산에 포함된 상기 노드와 포트를 허용하기 위해 토폴로지 데이터베이스에 있는 네트워크 토폴로지에서 발견된 노드와 출력 포트를 포함하는 단계와; 토폴로지 데이터베이스에 포함된 노드와 출력 포트에 근거하여 네트워크 토폴로지에서 각 노드 상의 모든 출력 포트에서 모든 다른 노드까지 최단 경로를 계산하는 단계와; 상기 네트워크 토폴로지에서 상기 각 노드 상의 모든 출력 포트에서 모든 다른 노드까지 최단 경로를 포함하는 각 노드 상의 소스 라우팅 데이터베이스를 생성하는 단계와; 소스 노드에서 패킷을 수신하는 단계와; 상기 패킷이 상기 네트워크 토폴로지에서 대체 경로를 따라 분포되도록 상기 소스 노드의 출력 포트에서 플릿(flit)으로 분할되고, 상기 소스 노드 상의 출력 포트로부터 목적지 노드로 최단 경로를 따라 분포된 수신된 패킷 각각을 라운드 로빈 또는 가중 라운드 로빈 방식으로 상기 소스 노드의 출력 포트에 보내는 단계 및; 상기 패킷이 원래의 형태와 순서를 가지도록 목적지 노드에 상기 패킷을 다시 조립하고 다시 주문하는 단계를 포함하는 소스 노드로부터 목적지 노드로 직접 상호 접속 네트워크에서 패킷을 라우팅하는 컴퓨터로 구현된 방법을 제공한다.
또 다른 실시 예에서, 본 발명은 플릿(flit)이 웜홀(wormhole) 스위칭을 이용하여 목적지 노드로 전송되는 패킷을 라우팅하는 방법을 제공한다.
본 발명은 낮은 레이턴시(latency), 증가된 처리율(throughput) 및 핫 스팟(hot spot) 및 교착 상태 회피를 제공하고, 트래픽 랜덤, 대역폭 할당에서의 증가된 효율, 로드 밸런싱 및 토러스 메쉬 또는 높은 기수 구조에서의 트래픽 엔지니어링을 구현하는 각별한 장점이 있다.
도 1은 기존의 데이터 중심 네트워크 구현의 고레벨 도면,
도 2는 8 개의 노드를 갖는 3 차원 토러스 상호 접속도,
도 3은 토러스 구조를 채용한 IBM 블루 진(Blue Gene) 처리 장치의 계층 구조를 나타낸 도면,
도 4는 코너 노드(1.6)에서 시작하는 35 개의 노드 중 어떤 노드에 도달하는 데 필요한 홉의 최소 개수를 표시하는 6 × 6 2차원(2-D) 접힌 토러스에서 36 개 노드의 고레벨 도면,
도 5는 노드(S)의 모든 포트(x+, x-, y+, y-) 상의 노드(S)로부터 노드(D)로 출발하는 여러 경로를 표시하는 4 × 4 2차원(2-D) 토러스 구현의 도면,
도 6은 다양한 방법 라우팅 알고리즘으로 노드에서 노드로 패킷을 라우팅하는 방법을 나타내는데 도움을 주는 간단한 네트워크 토폴로지의 도면,
도 7은 본 발명의 시스템에 따라 모든 포트와 고속 네트워크 인터페이스 카드의 고레벨 도면,
도 8은 본 발명의 시스템에 따라 키의 기능 블록을 나타낸 호스트 네트워크 인터페이스(NIC) 카드의 고레벨 도면,
도 9는 토러스 메쉬를 통해 패킷 전송을 구현하기 위해 요구되는 패킷 세그멘테이션의 고레벨 도면,
도 10은 36개 노드 2차원(2-D) 토러스 구조에서 노드 S(2.4) 상의 각 포트로부터 노드 D(5.2) 상의 각 포트로 출발하는 경로와 홉 수를 나타낸 도면,
도 11은 본 발명에 따른 소프트웨어 요소: TD, SR, WS, FC를 나타낸 고레벨 도면,
도 12는 본 발명에 따른 패킷 세그멘테이션의 처리에 대한 순서도,
도 13은 패킷 세그멘테이션을 통해 플릿 생성을 구현하는 의사 코드를 나타낸도면,
도 14는 본 발명에 따른 각각의 포트로부터 소스 라우팅을 준비하는 공정 단계의 순서도,
도 15는 본 발명에 따른 경로 계산을 구현하는 의사 코드를 나타낸 도면,
도 16은 본 발명에 따른 경로 계산에 의해 생성된 소스 라우팅 테이블 포맷을 나타낸 도면,
도 17은 본 발명에 따른 각 포트 상의 "플릿" 전송 과정에 대한 순서도,
도 18은 본 발명에 따른 각 포트 상의 "플릿" 전송 과정의 웜홀 스위칭을 나타낸 도면,
도 19는 본 발명에 따른 도 17의 순서도에서 설명한 바와 같은 플릿 전송을 구현하는 의사 코드를 나타낸 도면,
도 20은 토폴로지 업데이트에 대한 토폴로지 발견 프로세스를 트리거링 하는 노드 또는 링크를 발견하기 위한 순서도,
도 21은 토폴로지 데이터 베이스 업데이트를 설명하는 순서도,
도 22는 토폴로지 업데이트의 노드 및/또는 링크 장애 검출 및 복구 및 처리 의 과정에 대한 순서도,
도 23은 본 발명에 따른 링크 및/또는 노드 실패를 구현하는 의사 코드를 나타낸 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 발명은 데이터 센터 애플리케이션에 대한 직접 상호 접속 스위칭을 구현하도록 토러스 메쉬 또는 높은 기수 배선을 이용한다. 특히, 본 발명은 개시 내용이 본 출원에 참고로 인용된 2014. 8. 29일 출원된 "컴퓨터 네트워크에서 직접 상호 접속 스위치 배선과 증가를 관리하기 위한 방법 및 장치"라는 제목의 PCT 특허출원 제PCT/CA2014/000652호에 관한 것으로, 토러스 시스템에 특히 유용하다. 이러한 아키텍처는 단일 스위칭 도메인에서 수만의 서버를 갖는 고성능 네트워크 상호 접속을 제공할 수 있다.
스위치를 제어하는 소프트웨어는 소프트웨어 정의된 네트워크 모델을 따르고, 스위치 제어 평면(OS 스위치)은 바람직하게는 별도의 서버에서 실행되지만 분산 처리는 각 PCIe 카드 상의 실행과 긴밀하게 상호 작용한다.
도 11을 참조하면, 주요 소프트웨어 구성 요소는 토폴로지 검색(TD), 토폴로지를 통한 패킷 라우팅(SR), 웜홀 스위치(WS), 흐름 제어(FC) 기구와, 스위치 상태 모니터링 및 스위치 관리를 포함한다. 상기 토폴로지 검색(TD) 요소는 본질적으로 토러스 메쉬(노드의 존재 여부에 따라 가능한 경로의 갱신을 허용함으로써)에서 노드의 존재(또는 부재)을 발견할 책임이 있고, 패킷 라우팅(SR) 요소는 소스 라우팅 계산(소스 노드의 모든 포트로부터 어떤 목적지 노드로 사용 가능한 모든 경로)에 대한 책임이 있으며, 웜홀 스위치(WS) 요소는 최소 대기시간(모든 노드에서 모델을 통해 절단)과 플릿 헤더에 포함되는 경로 벡터에 근거하는 토러스를 통해 플릿 조종을 담당하고, 상기 흐름 제어(FC) 요소는 입력 큐잉(queuing) 메커니즘 입력을 통해 트래픽을 조정하기 위해 소스로 토러스 링크 활용도 및 제어 메시지에 대한 책임이 있다. 스위치 상태 모니터링 구성 요소는 스위치 증가에 대한 트래픽 균형, 실패 조건에 대한 트래픽 재라우트 및 지원에 대해 책임이 있고, 스위치 관리 요소는 스위치 전체의 화상(이미지)을 유지하고, 모든 상호 접속된 서버를 포함하며, 외부의 모든 상호 접속된 I/O 링크 및 연결 상태를 포함할 책임이 있다.
본 발명은 특히 PCT 특허출원 제PCT/CA2014/000652호에 개시된 신규 스위치 아키텍처 상에서 구현을 위해 특히 유용한 주요 기능 - 본 발명의 신규 토폴로지 검색(TD 요소) 및 라우팅 프로토콜(SR 요소)에 관한 것이다. 토러스 구조를 통해 라우팅 데이터 패킷들의 전통적인 구현을 암시적으로 가정하면, 즉, 트래픽이 목적지 노드를 통해 랜덤하게 분산되면, 전달이 토러스 메쉬를 통해 패킷을 전송하는 기능을 비활성화할 수 있는 능력을 철저하게 보유하고 있는 토러스를 통한 핫스팟 개발로 인해 최대 용량에 흐르는 단일 소스/단일 목적지 연속 패킷의 경우 실제 구현은 스위치 실패를 실제로 표시한다. 따라서, 본 발명은 트래픽[소스로부터 어떤 목적지(높은 상관 관계)로 흐르는 큰 흐름 여부 또는 무작위로 분산된 목적지 대상(일반적인 인터넷 트래픽)]이 어떤 유형에 대한 성능 문제와 핫 스팟(hot spots) 개발을 다루기 위해 이러한 토러스 및 높은 기수 네트워크와 같은 직접적인 상호 네트워크 토폴로지를 위한 최적화 및 구현 라우팅을 구체적으로 언급한다. 앞에서 전술 한 바와 같이, 토러스에서 라우팅 패킷의 공지의 방법과는 다르게, 본 발명은 토폴로지의 모든 노드를 발견 및 업데이트하는 방법을 개시하고, 최단 경로가 모든 출력 포트(즉, x+, x-, y+, y-, z+, z-, w+ 및 w-) 상의 각 노드에서 계산되는 팻킷을 모든 목적지 노드까지 계산되고, 라우팅 패킷의 방법이며, 패킷은 라운드 로빈 방식(즉, 여러 다른 경로를 촉진하는)으로 각각의 출력 포트로부터 경로를 따라 분포되거나 핫 스팟을 방지하기 위해 증가 대역폭 및 트래픽 분포를 라운드 로빈 방식으로 가중시킨다.
상기 흐름 제어(FC) 메커니즘은 단일 라운드 로빈, 연속, 소스 노드의 출력 포트 선택으로부터 링크가 바쁜 것을 생략하는 것처럼 흐름 제어(FC)에 의해 식별되는 가중된 라운드 로빈으로 패킷 라우팅에 대한 출력 포트 선택(즉, 첫 번째 포트 x+, 다음 x-, 그 다음 y+, y-, z+, z-, w+ 및 w-)을 순응적으로 변경하기 위해 사용되고, 해당 포트에 대한 트래픽은 최대 링크 용량의 낮은 비율(예컨대 10 %)로 감소 된다.
데이터 패킷 재주문은 노드 목적지에서 실행된다. 이러한 방법은 PCT 특허출원 제PCT/CA2014/000652호에서 논의된 노드(서버) 검색의 신규한 방법의 특정 이점을 취할 수 있고, 여기에서 더 논의된다. 따라서, 본 발명은 어떤 소스로부터 그 어떤 목적지로 큰 흐름이든 또는 트래픽이 무작위로 대상을 분배하든 트래픽의 모든 유형에 대한 성능 문제와 핫스팟 현상을 해결하기 위해 토러스 또는 높은 기수 네트워크처럼 직접적인 상호 네트워크 토폴로지에 대한 패킷 라우팅 최적의 문제를 해결한다.
우선, 도 7은 모든 포트와 함께 고속 네트워크 인터페이스 카드(10)의 고 레벨 도면을 나타낸다. I/O 포트(13)는 외부(N-S 인터페이스)를 액세스하고, 4차원(4D) 토러스는 포트(14)에 상호 연결되며, 상기 PCIe 포트(15)는 연산 서버 및 제어부(19)를 액세스한다. 당업자는 본 발명이 HNI 카드 더 적은 포트를 갖는 HNI 카드와 함께 작업할 수 있다고 다른 토러스 또는 높은 기수 토폴로지(예컨대 "드래곤플라이" 같은)와 관련하여 이해할 수 있다.
도 8은 RAM(37) 및 ROM(38)을 갖는 프로세서(31), 스위칭 블록(32), 물리적 인터페이스 장치(36), 토러스 상호 연결 포트(14), I/O 포트(13) 및 PCIe 포트 (15)를 포함하는 주요 기능 블록들과 함께 본 발명의 시스템에 따른 HNI 카드(10)에 대해 높은 레벨 도면을 나타낸다. 본 실시 예의 실제 구현은 토러스 상호 연결을 구현하기 위한 메모리 및 PHY 장치(물리적 인터페이스 장치)와 결부되어 있는 멀티 코어 프로세서를 기반으로 하고, 스위칭 기능은 여러 큐 조작을 지원하는 기능을 지원하는 프로세서의 하드웨어 가속을 이용하여 소프트웨어로 구현된다. 본 발명은 실제 구현이 다른 경우, 즉, 스위칭 기능 가속이 FPGA 또는 ASIC으로 구현되거나 상기 프로세서가 상기 스위칭 기능을 위해 사용된 카드로서 동일한 카드 상에 존재하지 않는 경우 당업자는 실제 구현이 다른 경우 또한 본 발명이 작동한다고 이해할 것이다.
도 10은 본 발명에 따른 패킷 라우팅을 설명하는데 사용하기 위한 단일 2 차원(2D) 토러스 배선도를 나타낸다. 도시된 바와 같이, 그 구조는 각각의 연결 길이가 전체에 걸쳐 동등한 접힌 2차원(2D) 토러스이다. 이 도면의 각 노드는 서버에 보관된 PCIe 스위치 카드(앞에서 설명한)를 통해 상호 연결된 서버를 나타내고, 상기 도면은 소스 노드 S(2.4)에서 계산된 것처럼 소스 노드 S(2.4)의 포트로부터 다양한 차원(x+, x-, y+, y-)에서 시작하는 목적지 노드 D(5.2)까지 최단 최대 분리된 경로(공통의 링크 또는 노드가 없다)를 보여주며, 이러한 관점에서, 도 10은 5 홉의 최소 홉 카운트를 갖는 계산된 3 경로와 라우팅 백터를 나타내지만[(S)2.4에서: x+, x+, x+, y-, y-); (S)2.4에서: y-, y-, x+, x+, x+); 및 (S)2.4에서: x-, x-, y-, y-, x+)], 다른 경로는 7 홉의 비 최소 홉(non-minimal hop)을 갖는 것으로 계산돤다[(S)2.4에서 : (y+, y+, y+, x+, x+, x+, y+)]. 소스(S)와 노드(D) 사이의 큰 트래픽을 가정하면, 패킷/플릿은 라운드 로빈 또는 가중된 라운드 로빈 방식에서 각 출력 포트로부터 경로를 따라 목적지 노드로 각 소스(S) 노드 출력 포트에서 시작하여 노드(D)로의 최단 경로를 통해 전송될 것이고, 그에 따라 대역폭을 증가시키기 위해 여러 경로를 사용하는 한편 핫 스팟 현상을 방지하기 위해 트래픽을 분산한다(소스 노드에서 출력 포트의 가중된 라운드 로빈 선택은 특정 경로를 따라 패킷의 수를 증가시킨다). 두 번째 대체 경로는 필요에 따라 첫 번째 홉과는 별도의 다른 홉에서 트래픽 체증을 극복하기 위해 링크 또는 노드 장애의 경우에 도움이 되는 다른 별도의 경로 및 핫스팟을 제공함으로써 각 노드에서 계산 및 저장할 수 있다. 본 방법은 로드 밸런싱 목적을 위해 토러스 또는 높은 기수 네트워크를 통해 트래픽을 분산하지만, 패킷 재정렬을 도입할 수 있고, 예를 들면, y+ 상의 경로(도 10) 개시가 최소 경로(5 홉) 보다 2홉 더 길기 때문에 이 경로상의 모든 패킷은 패킷 재정렬 문제를 야기할 수 있는 여분의 지연 도착일 것이다. 따라서 패킷은 본 발명에 따른 목적지 노드에서 재정렬될 수 있고, 이것은 당업자의 기술 내에 있다.
도 9를 참조하면, 패킷 세그멘테이션의 고 레벨 도면을 나타내고, 직접적인 상호 토러스 또는 높은 기수 네트워크를 통과하는 패킷이 라우팅 동안 더 작은 크기의 패킷들(플릿)로 분할되는 점에 유의하는 것이 중요하다. 패킷 세그멘테이션은 "라인 블로킹의 헤드"를 피하기 위해 토러스 메쉬를 통해 공통 자원(링크 및 버퍼)을 사용하여 패킷 네트워크에서의 공통 조건이 요구되고, 상기 플릿의 크기는 간접 세금을 최소화하기 위해 트래픽 유형에 의해 결정되며, 실제 값의 범위는 64 내지 512 바이트 사이이다. 본 발명은 가능한 것들 중에서도 이더넷 패킷(Ethernet packets), 인피니밴드 패킷(Infiniband packets), PCIe의 스트림 또는 NVMe 트랜잭션을 처리할 수 있다는 것에 주목하는 것이 중요하다. 토러스 구조를 거쳐 플릿은 투명하게 트래픽을 전송하고, 외부 인터페이스 I/O 포트(13)는 트래픽 유형을 특정하며, 사용자 트래픽을 한정하고, 토러스를 거친 데이터를 "플릿"을 통해 투명하게 대상 PCIe 포트(15)에 전송한다. 본 발명은 토러스 통해(이더넷 플릿을 통해) 이더넷 패킷(Ethernet packets)을 처리할 수 있다는 것에 주목하는 것이 중요하다. 이더넷 패킷에 대한 플릿이 패킷 묘사 메커니즘을 갖기 때문에 중요한 장점은 플릿의 가변 크기이다. 그러므로 플릿의 크기는 64 바이트(최소 이더넷 패킷 크기)에서 512 바이트 (헤더 및 페이로드)까지 가변적으로 할 수 있고, 패킷이 512 바이트보다 크면, 시스템은 원래의 패킷을 512 바이트의 헤드 플릿, 바디 플릿, 꼬리 플릿으로 분할할 것이다.
도 12는 패킷 분할의 방법을 나타내는 순서도를 제공한다. 새로운 패킷이 호스트(즉, PCIe 인터페이스)로부터 수신되면(402 단계), HNI 프로세서는 패킷의 목적지(404 단계)와 라우팅 경로를 분석하는 프로세서를 위해 헤더를 추출한다. 이 단계에서, 상기 패킷이 분할 루프로 들어가고, 바이트 카운터를 초기화 하며(412 단계), 패킷의 종료 분석기(-EOP- 분석기)가 패킷의 종료(EOP)를 검출하고(405 단계), 바이트 카운터(계수)가 476 바이트 이하인 경우(즉, 페이로드가 476 바이트 이하이다) 상기 패킷이 플릿 생성기(407 단계), 헤드 생성기(408 단계) 및 우선 순위 결정 블록(409 단계)으로 전송된다. 상기 플릿은 그 후 토러스 메쉬를 통해 다음 홉으로 전송을 위해 할당된 종료 큐에 삽입되고(410 단계), 새로운 패킷이 수신되었는지 여부를 확인한다(402 단계). 상기 바이트 카운터는 각 플릿의 계수를 증가하고(411 단계), 상기 패킷 프래그먼트(fragment)를 플릿 생성기로 보내고(407 단계), 상기 처리는 상기 패킷의 마지막 플릿이 도달하여 전송될 때까지 상기한 단계들을 따른다. 중요하게 관찰하면, 토러스 링크의 플릿은 8 "아이들(idle)" 바이트에 따르는 512 바이트(476 바이트 페이로드와 36 바이트 헤더)가 바람직하다. 패킷이 476 바이트 미만인 경우 플릿(일반적으로 꼬리 플릿)은 512 바이트 미만이 되며, 패킷 묘사는 "아이들(idle)" 바이트를 사용하여 수행될 것이다. 도 13은 패킷의 분할을 통해 플릿 생성을 구현하는 의사코드들 제공한다.
목적지에서 플릿은 토러스 헤더를 제거하고 원래의 패킷에 플릿의 오프셋 (offset)을 위한 "Byte cnt"를 사용함으로써 패킷으로 조립된다. 당업자는 패킷 프래그먼트 들의 순서화된 리스트를 생성 및 원래 시퀀스에서 한번 완전히 조립된 패킷을 분리할 소스-패킷-큐(queue) 당 목적지 노드에 대한 구현을 알 것이다. 도 14는 본 발명에 따른 경로 계산을 나타내는 순서도 이다. 또한, 본 발명은 소스 노드의 각 출력 포트에서 소스 노드로부터 최대로 이산(공통인 링크와 노드가 없는)되어 있는 임의의 목적지 노드(소스 라우팅)에 모든 경로를 계산하기 위해 도 15에 의사 코드를 제공한다. 토폴로지 업데이트 기능(412)(활성 서버/노드와 그 활성 포트를 발견하는 기능)은 즉시 업데이트가 검출되는 경로(route)/경로(path) 계산(414)를 시작할 것이고(즉 노드가 추가/삭제 되거나 또는 그것과 함께 연관된 중요한 문제/고장 있을 때마다), 본 발명에 따르면, 420 단계 및 421 단계(토폴로지 목록에서 모든 목적지 노드에 대한 검색) 다음의 419 단계(토폴로지리스트 리스트에서 발견된 첫 번째 목적지 노드)에 기술된 바와 같이 최단 경로는 현재 노드 및 상기 토폴로지로부터의 각 목적지 노드 사이 다이크스트라 알고리즘(Dijkstra algorithm)을 사용하여 계산될 것이다(415 단계). 422 단계에서 417 단계에 의해 영향을 받는 모든 경로 비용은 초기값으로 리셋 된다. 소스에서 목적지까지 계산된 최단 경로는 소스 라우팅 데이타베이스에 저장될 것이고, 그것은 무한대로 저장된 경로에 속하는 모든 링크 비용을 증가시킴으로써 더 짧은 경로 계산(분리 된 경로를 제공하기 위해)으로부터 제거될 것이다(417). - 이는 분리된 경로 목적을 위해 비 재사용(non-reuse)을 강제하도록 상기 토폴로지 데이터베이스로로부터 노드 및 링크를 제거하는 실질적인 효과를 가질 것이다. 상기 프로세스는 모든 출력 포트가 사용되고, 소스 노드와 목적지 노드 사이의 모든 가능한 경로가 데이터베이스에 저장될 때까지 계속되고, 결과는 라우팅이 먼저 최단 경로로 시작하는 각 노드에 대한 라우팅 벡터로서 출력 라우팅 테이블(418)에 요약되어 있고(418), 최단 경로의 계산 자체가 다이크스트라 알고리즘(Dijkstra algorithm), 라우팅 프로토콜 구현에 사용되는 공지의 방법을 사용하여 구현될 수 있다. 여기서 어떤 특히 신규 한 것은 최단 경로가 모든 출력 포트에서 결정되고, 그에 따라 사용된다는 것이다.
도 16은 라우팅 출력 테이블의 포맷을 나타낸다. 각 경로는 각 홉에서 선택되는 특정 경로 및 출력 포트의 목록/벡터에 대한 홉의 수를 나타내는 첨부된 숫자를 갖는다. 특히, 도 16은 소스 노드 번호 1000)으로부터 목적지 노드 0(노드 1000과 노드 0의 사용은 예시적인 목적으로 단순하다)에 8 포트(x+, x-, y+, y-, z+, z-, w+ 및 w-)를 가진 4차원(4D) 토러스(8 × 8 × 8 × 8)의 경로에 대한 출력 테이블의 예시적인 스냅 샷을 제공한다. 8 경로의 첫 번째 그룹에서 8 경로(즉, x+, y+, z+, w+, x-, y-, z- 및 w-) 그룹의 제 1 출력 선택은 예를 들어 소스 노드의 각 출력 포트에 대응함에 주목하여야 하고, 상기 8 경로는 전체적으로 분리되어 5홉, 7홉, 9홉의 서로 다른 길이로 한다. 가장 중요한 특징은 트래픽 분산 및 예측 가능한 성능을 가능하게 하는 토러스를 통한 경로 분포이며, 도 16에서 8 경로의 두 번째 그룹은 라우팅 경로에 대한 제 2 대안을 나타낸다. 상기 방법은 많은 대체 경로를 계산할 수 있으나 거리(홉의 수)의 대형화를 초래할 것이고, 실용적인 이유로 상기 방법은 원한다면 일반적으로 단지 8 개의 별개의 경로의 첫 번째 옵션을 저장할 수 있다.
도 17은 본 발명에 따른 패킷 스위칭에 사용되는 단계를 나타내는 순서도 이다.
새로운 패킷이 출력 큐(queue)에 들어가기 때문에 패킷 전송 상태 머신은 토러스를 통해 전송을 개시한다. 이와 관련하여, 해당 출력 단자 "K"(포트 1 내지 8 즉, 상술된 출력포트: x+, y+, z+, w+, x-, y-, z- 및 w-)는 웜홀 모델(wormhole model) 다음 플릿을 전송하기 위해 사용된다(도 18에 나타낸 바와 같이): 헤드 플릿 및 후속 플릿 증가분(본체 플릿)은 도 17에 도시된 바와 같이 포트(k)로부터 도달 패킷의 단부까지 동일한 경로를 따라 전송ehlrh, 패킷의 단부는 다음의 출력 포트 및 다음의 패킷 식별자(지정된 다음 명령 패킷)를 갖는 다음의 패킷을 참조하도록 카운터 k 증분에 도달하면 이 웜홀(wormhole) 스위칭 모델을 사용하는 플릿별로 플릿상의 토리스에 전송되며, 패킷의 단부가 검출되면, 포트 번호는 다시 증가되고(즉, k = k + 1), 다음의 패킷이 곧 전송될 것이다. 이러한 구현은 특정 목적지로의 긴 흐름을 무상관화(decorrelate) 및 토러스 메쉬 "핫스팟" 현상을 방지하기 위해 라운드 로빈 모델에서는 노드의 모든 출력 포트(14) 상의 하나의 노드에 의해 소스된 패킷을 분배할 것이고, 당업자는 필요한 경우 트래픽 분포의 다른 종류에 대해 성능을 향상시킬 목적으로 이 분배 방법이 변형될 수 있다는 것을 이해할 것이며, 예컨대 가중 라운드 로빈 또는 다른 사용자 정의된 방법을 사용하여 라운드 로빈을 대체 할 수 있다. 본 발명의 방법은 발리언트 불확정(Valiant oblivious) 분포보다 더 잘 수행하는 것으로, 매우 일관된 결과가 예측되었고, 이것은 네트워크의 성능의 관점에서 매우 중요하며, 도 19는 도 17의 순서도에서 설명한 바와 같이 플릿 전송을 구현하는 의사 코드를 나타낸 것이다.
도 20은 본 발명에 따른 토폴로지 발견의 방법을 나타내는 순서도 이다.
상술 한 바와 같이, 토폴로지 검색 요소(TD)는 노드/포트가 상기 라우팅 배포에서 사용될 수 있는 토러스 메쉬에서 노드(및 노드 포트)의 존재(또는 부재)를 발견하기 위해 본질적으로 중요하다. 이러한 관점에서, 상기 토폴로지 검색 요소(TD)는 효율적인 방식으로 확장할 수 있는 특히 PCT 특허출원 제PCT/CA2014/ 000652에 개시된 바와 같이 본 발명의 신규 네트워크를 허용한다. 상기 토폴로지 검색 요소(TD)는 "Hello" 프로토콜 및 데이터베이스 교환 프로토콜에 기초한다. 구체적으로, "Hello" 메시지가 전송되어 모든 노드 및 모든 포트에서 수신된다. 메시지가 "Hello"로서 수신되면, "Hello" 패킷의 노드 ID가 관리 프레임 워크에 의해 검증되어 로컬 노드 정보가 이웃으로의 새로운 링크의 이용 가능성을 나타내도록 갱신된다. 노드 정보 수집은 인접 데이터 베이스의 각 노드에서 유지되고 데이터베이스 교환 프로토콜을 통해 이웃과 동기화된다. 각 노드는 전체 토폴로지를 단계적으로 전파하는 이웃 노드들에 인접 데이터 베이스의 변경을 보낸다. 특정의 시간 제한 후 인접 데이타베이스에 변경이 발생한 경우 함수 호출은 경로 계산을 위해 생성된다. "Hello" 메시지 교환에 대하여 이웃의 이웃은 토폴로지에서의 변화를 검출하기 위해 소정의 시간 간격으로 영원히 계속한다.
도 21은 본 발명에 따른 토폴로지 발견을 위한 DB 교환 업데이트를 나타내는 순서도이다.
이것은 본질적으로 모든 상호 연결된 서버와 입/출력 링크 및 연결 상태를 포함하는 각 노드의 스위치의 전체 이미지를 관리할 책임이 있는 토폴로지 발견 성분(TD)에 관한 것이다.
도 22는 본 발명의 검색 노드/링크 장애 검출 시스템 및 재 라우팅 프로세스가 실패한 노드를 회피하는 방법을 나타낸 순서도를 제공한다. 링크 장애가 검출됨으로써(602) 통과 블록은 실패한 링크에 대한 예정된 트래픽이 CPU로 재 라우팅되도록 프로그램되고(603), 트래픽 소스는 실패한 링크를 회피하는 트래픽을 전송하도록 통지된다. 이것은 토폴로지 업데이트 이벤트를 트리거하고(605), 링크 복구가 검출됨으로써(606) 통과 블록은 실패한 링크로 인해 CPU에 대한 예정된 트래픽이 동일 링크로 뒤로 다시 라우팅되도록 프로그램된다(607). 트래픽 소스는 링크 실패 이전에 동일한 방식으로 트래픽을 전송하도록 통지되고(608), 이것은 토폴로지 업데이트 이벤트를 트리거하며(609). 유사한 프로세스가 링크 절단의 경우에 발생할 것이다. 도 23은 링크/노드 장애 검출 및 복구를 위한 의사 코드를 제공한다.
본 발명의 일실시 예는 새로운 노드 삽입에 대한 방법이다. 노드를 삽입하기 위해 기존 노드를 상호 접속하는 배선이 중단되고(링크 절단). 토러스 배선 인터럽트가 검출됨으로써(602) 상기 트래픽 재 라우트(reroute) API가 호출되며, 링크 코스트는 무한대로 설정되고, 토폴로지가 업데이트 된다[모든 스위치 노드의 최단(저비용) 경로를 계산]. 이것은 어떤 목적지에 도달하도록 패킷 흐름을 제어하는데 사용되는 경로를 정의하고, 새로운 노드 삽입은 이웃 발견을 트리거하며, 관리 소프트웨어는 새로운 노드 ID를 체크하여 프로비저닝 된 데이터베이스(provisioned data base)와 비교한다. 노드가 유효하면, 소프트웨어는 토폴로지 업데이트 및 경로 계산의 프로세스를 시작하고, 관리 데이터베이스는 새로운 노드로 업데이트되어 노드 상태가 활성 상태로 설정될 것이다.
지금까지 본 발명은 특정 실시 예를 들어 설명되었지만, 본 실시 예에 다양한 변형 및 변경이 다음의 청구의 범위 내에서 이루어질 수 있음은 당업자에게 명백할 것이다.
10 : 고속 네트워크 인터페이스 카드 13 : I/O 포트
14 : 포트 15 : PCIe 포트
19 : 연산 서버 및 제어부 31 : 프로세서
32 : 스위칭 블록 36 : 물리적 인터페이스 장치
37 : RAM 38 : ROM

Claims (2)

  1. 네트워크 토폴로지에서 각 노드 상의 모든 노드와 모든 출력 포트를 발견하는 단계와; 최단 경로 라우팅 계산에 포함된 상기 노드와 포트를 허용하기 위해 토폴로지 데이터베이스에 있는 네트워크 토폴로지에서 발견된 노드와 출력 포트를 포함하는 단계와; 상기 토폴로지 데이터베이스에 포함된 노드와 출력 포트에 근거하여 네트워크 토폴로지에서 각 노드 상의 모든 출력 포트에서 모든 다른 노드까지 최단 경로를 계산하는 단계와; 상기 네트워크 토폴로지에서 상기 각 노드 상의 모든 출력 포트에서 모든 다른 노드까지 최단 경로를 포함하는 각 노드 상의 소스 라우팅 데이터베이스를 생성하는 단계와; 소스 노드에서 패킷을 수신하는 단계와; 상기 패킷이 상기 네트워크 토폴로지에서 대체 경로를 따라 분포되도록 상기 소스 노드의 출력 포트에서 플릿(flit)으로 분할되고, 상기 소스 노드 상의 출력 포트로부터 목적지 노드로 최단 경로를 따라 분포된 수신된 패킷 각각을 라운드 로빈 또는 가중 라운드 로빈 방식으로 상기 소스 노드의 출력 포트에 보내는 단계 및; 상기 패킷이 원래의 형태와 순서를 가지도록 목적지 노드에 상기 패킷을 조립하고 다시 주문하는 단계를 포함하는 소스 노드로부터 목적지 노드로 직접 상호 접속 네트워크에서 패킷을 라우팅하는 컴퓨터로 구현되는 분산된 직접 상호 접속 네트워크에서 패킷을 라우팅하는 방법.
  2. 제 1항에 있어서, 상기 플릿(flit)이 웜홀(wormhole) 스위칭을 이용하여 목적지 노드로 전송되는 것을 특징으로 하는 컴퓨터로 구현되는 분산된 직접 상호 접속 네트워크에서 패킷을 라우팅하는 방법.
KR1020167024812A 2014-02-13 2015-02-13 분산된 직접 상호 접속 네트워크에서 패킷을 라우팅하는 방법 KR101809396B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461939487P 2014-02-13 2014-02-13
US61/939,487 2014-02-13
PCT/CA2015/000081 WO2015120539A1 (en) 2014-02-13 2015-02-13 Method to route packets in a distributed direct interconnect network

Publications (2)

Publication Number Publication Date
KR20160122192A KR20160122192A (ko) 2016-10-21
KR101809396B1 true KR101809396B1 (ko) 2017-12-14

Family

ID=53799463

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167024812A KR101809396B1 (ko) 2014-02-13 2015-02-13 분산된 직접 상호 접속 네트워크에서 패킷을 라우팅하는 방법

Country Status (12)

Country Link
US (3) US10142219B2 (ko)
EP (1) EP3087708B1 (ko)
JP (1) JP6267367B2 (ko)
KR (1) KR101809396B1 (ko)
CN (2) CN110708241B (ko)
AU (1) AU2015218201B2 (ko)
BR (1) BR112016018294A2 (ko)
CA (1) CA2939402C (ko)
DK (1) DK3087708T3 (ko)
IL (1) IL246982B (ko)
NO (1) NO2776466T3 (ko)
WO (1) WO2015120539A1 (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO2776466T3 (ko) 2014-02-13 2018-01-20
CN107409095B (zh) * 2015-03-28 2020-12-08 英特尔公司 从交换机的输入端口向输出端口路由分组的方法、系统、介质和交换机
US10084860B2 (en) * 2015-04-09 2018-09-25 Electronics And Telecommunications Research Institute Distributed file system using torus network and method for configuring and operating distributed file system using torus network
US20170171084A1 (en) * 2015-12-09 2017-06-15 Alcatel-Lucent Usa, Inc. Valiant load balanced segment routing
JP2017120542A (ja) * 2015-12-28 2017-07-06 富士通株式会社 並列情報処理装置、データ転送方法及びデータ転送プログラム
US10572537B2 (en) * 2016-04-13 2020-02-25 International Business Machines Corporation Efficient graph optimization
US9954611B1 (en) * 2016-12-16 2018-04-24 Futurewei Technologies, Inc. System and method for abstracting wavelength-switched optical network traffic engineering topology in SDN control hierarchy
KR102610984B1 (ko) * 2017-01-26 2023-12-08 한국전자통신연구원 토러스 네트워크를 이용하는 분산 파일 시스템 및 토러스 네트워크를 이용하는 분산 파일 시스템의 운영 방법
CN109218176B (zh) * 2017-06-30 2020-12-15 华为技术有限公司 一种报文处理的方法及装置
US11347774B2 (en) * 2017-08-01 2022-05-31 Salesforce.Com, Inc. High availability database through distributed store
CN107733802B (zh) * 2017-09-18 2020-11-13 深圳市盛路物联通讯技术有限公司 一种分布式网络拓扑结构的节点控制方法及系统
CA2982147A1 (en) 2017-10-12 2019-04-12 Rockport Networks Inc. Direct interconnect gateway
US10855581B2 (en) 2017-11-10 2020-12-01 Fabriscale Technologies AS System and method of computing ethernet routing paths
CN110166310B (zh) * 2018-01-30 2020-08-21 山东衡昊信息技术有限公司 一种基于虫孔网络的并发大数据传输延时快速计算方法
GB201802347D0 (en) 2018-02-13 2018-03-28 Nchain Holdings Ltd Computer-implemented system and method
CN110324249B (zh) * 2018-03-28 2023-05-26 清华大学 一种蜻蜓网络架构及其组播路由方法
US10944693B2 (en) * 2018-11-13 2021-03-09 Advanced Micro Devices, Inc. Routing flits in a network-on-chip based on operating states of routers
JP7167687B2 (ja) * 2018-12-18 2022-11-09 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
CN109525518B (zh) * 2018-12-25 2021-01-12 北京物芯科技有限责任公司 一种基于fpga的ip报文网络地址转换方法及装置
CN109768924B (zh) * 2019-02-14 2021-06-08 山东省计算中心(国家超级计算济南中心) 一种面向多流共存的sdn网络多链路故障恢复方法及系统
US11252034B1 (en) * 2019-03-15 2022-02-15 Juniper Networks, Inc. Generating candidate links and candidate paths before selecting links for an optimized optical network plan
CN110198268A (zh) * 2019-05-15 2019-09-03 清华大学 高维度Torus网络架构及自适应路由方法
US11055191B2 (en) * 2019-05-17 2021-07-06 Citrix Systems, Inc. Service graph highlights missing nodes and links
CN112039795B (zh) * 2019-06-04 2022-08-26 华为技术有限公司 一种负载分担方法、装置和网络设备
CN112491672B (zh) * 2019-09-11 2022-05-06 杭州海康威视数字技术股份有限公司 一种pcie通信系统、通信配置参数备份方法及pcie交换机
US20210111990A1 (en) * 2019-10-14 2021-04-15 Cisco Technology, Inc. Systems and methods for providing multiple disjointed paths to core network at first-mile access
US11121984B2 (en) * 2019-10-18 2021-09-14 Ciena Corporation Routing tables for forwarding packets between switches in a data center network
US11775470B2 (en) * 2019-11-20 2023-10-03 Intel Corporation Transaction layer packet format
US11212212B2 (en) * 2020-04-15 2021-12-28 Hewlett Packard Enterprise Development Lp Non-isolated topologies in computing network environments
CN111970202B (zh) * 2020-08-28 2021-09-10 电子科技大学 基于三路子拓扑测量的网络拓扑发现方法
CN113347029B (zh) * 2020-09-29 2022-05-31 北京航空航天大学 基于拓扑重构和路径规划的Torus网络容错方法
RU2753147C1 (ru) * 2020-11-20 2021-08-12 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Способ организации оптимальных отказоустойчивых многомерных торов на основе малопортовых маршрутизаторов и разветвителей дуплексных каналов
WO2022162465A1 (en) * 2021-01-28 2022-08-04 Rockport Networks Inc. Systems and methods for the temporal monitoring and visualization of network health of direct interconnect networks
CN113037637B (zh) * 2021-03-23 2022-10-14 福建师范大学 一种人机物融合网络容错信息传输路径选取方法
WO2022221466A1 (en) * 2021-04-13 2022-10-20 The Regents Of The University Of California Configurable memory pool system
CA3221912A1 (en) * 2021-06-09 2022-12-15 Alan James Jennings Method for distributing multipath flows in a direct interconnect network
CA3223804A1 (en) * 2021-06-23 2022-12-29 Evandro DE SOUZA Deadlock-free multipath routing for direct interconnect networks
CA3227857A1 (en) * 2021-08-05 2023-02-09 Dan Oprea Method for signaling link or node failure in a direct interconnect network
CN115499271B (zh) * 2022-08-30 2023-10-13 西北工业大学 一种混合网络拓扑结构及其路由方法
CN117155846B (zh) * 2023-10-31 2024-02-06 苏州元脑智能科技有限公司 互连网络的路由方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999011033A1 (en) 1997-08-22 1999-03-04 Avici Systems Router with virtual channel allocation
US20050002387A1 (en) 2003-06-06 2005-01-06 International Business Machines Corporation One-bounce network

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2749725B2 (ja) * 1991-03-18 1998-05-13 富士通株式会社 並列計算機の通信方法
US5550815A (en) * 1994-12-30 1996-08-27 Lucent Technologies Inc. Apparatus and method for reducing data losses in a growable packet switch
US5898826A (en) * 1995-11-22 1999-04-27 Intel Corporation Method and apparatus for deadlock-free routing around an unusable routing component in an N-dimensional network
JPH09219702A (ja) * 1996-02-14 1997-08-19 Nec Corp メッシュ構成の空き経路の検索方法
JP3860257B2 (ja) * 1996-06-28 2006-12-20 富士通株式会社 チャネルの決定方法
US6751746B1 (en) * 2000-07-31 2004-06-15 Cisco Technology, Inc. Method and apparatus for uninterrupted packet transfer using replication over disjoint paths
US6947433B2 (en) * 2000-09-21 2005-09-20 Avici Systems, Inc. System and method for implementing source based and egress based virtual networks in an interconnection network
JP2002305541A (ja) * 2001-04-04 2002-10-18 Kddi Research & Development Laboratories Inc メッシュ網におけるロードバランシング方法
CA2410137C (en) * 2001-11-02 2008-04-15 Nippon Telegraph And Telephone Corporation Optical dynamic burst switch
US7349350B2 (en) * 2003-09-23 2008-03-25 Intel Corporation Determining two node-disjoint paths using on-demand flooding
US7280755B2 (en) * 2003-09-26 2007-10-09 Minho Kang Highly utilizable protection mechanism for WDM mesh network
CN100461748C (zh) * 2004-10-22 2009-02-11 华为技术有限公司 直接互连交换网路由的方法
WO2007094520A1 (ja) * 2006-02-16 2007-08-23 Nec Corporation ノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラム
US8031614B2 (en) * 2006-10-06 2011-10-04 International Business Machines Corporation Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by dynamic global mapping of contended links
US7765385B2 (en) * 2007-04-18 2010-07-27 International Business Machines Corporation Fault recovery on a parallel computer system with a torus network
US8085659B2 (en) * 2007-08-28 2011-12-27 Universidad Politecnica De Valencia Method and switch for routing data packets in interconnection networks
US8160063B2 (en) * 2008-06-09 2012-04-17 Microsoft Corporation Data center interconnect and traffic engineering
CN101651599B (zh) * 2008-08-12 2012-05-30 中国移动通信集团公司 多路径无线路由方法及装置
US20100142445A1 (en) * 2008-09-04 2010-06-10 Ludger Schlicht Environments for a mobile, broadband, routable internet
US8065433B2 (en) * 2009-01-09 2011-11-22 Microsoft Corporation Hybrid butterfly cube architecture for modular data centers
JP5195933B2 (ja) * 2009-01-30 2013-05-15 富士通株式会社 情報処理システム、情報処理装置、情報処理装置の制御方法、情報処理装置の制御プログラム及びコンピュータ読み取り可能な記録媒体
US8144626B2 (en) * 2009-06-30 2012-03-27 Fujitsu Limited Determining disjoint paths with an optimized number of regenerators
US8594104B2 (en) * 2009-11-23 2013-11-26 Cisco Technology, Inc. Providing proxy mobile IP over a communication network
JP5630306B2 (ja) * 2011-02-10 2014-11-26 富士通株式会社 経路生成方法、中継装置、および経路生成プログラム
US8830873B2 (en) * 2011-05-08 2014-09-09 Infinetics Technologies, Inc. Flexible radix switch
US9736054B2 (en) * 2011-10-05 2017-08-15 Cisco Technology, Inc. Multicast active source discovery and management for layer-2 interconnect solutions
US9185166B2 (en) * 2012-02-28 2015-11-10 International Business Machines Corporation Disjoint multi-pathing for a data center network
EP2901625B1 (en) * 2012-09-28 2020-04-08 Cornell University System and methods for improved network routing
US8989017B2 (en) * 2012-12-14 2015-03-24 Intel Corporation Network congestion management by packet circulation
US9401862B2 (en) * 2013-02-07 2016-07-26 Dell Products L.P. Optimized internet small computer system interface path
CN103327563A (zh) * 2013-04-25 2013-09-25 张家港中科港联物联网科技有限公司 基于位置信息的无线自组织与传感网多路径单播方法
US9311022B2 (en) * 2013-10-07 2016-04-12 Dell Products L.P. System and method for improved communication in a storage network
NO2776466T3 (ko) 2014-02-13 2018-01-20
US20160026558A1 (en) * 2014-07-26 2016-01-28 Wipro Limited Method and system for managing virtual services to optimize operational efficiency of software testing
CN105871722B (zh) * 2015-01-19 2020-02-14 中兴通讯股份有限公司 标签构造以及标签报文转发方法及装置
US10116557B2 (en) * 2015-05-22 2018-10-30 Gray Research LLC Directional two-dimensional router and interconnection network for field programmable gate arrays, and other circuits and applications of the router and network
US10616100B2 (en) * 2016-11-03 2020-04-07 Parallel Wireless, Inc. Traffic shaping and end-to-end prioritization
US10701126B2 (en) * 2017-08-31 2020-06-30 Wipro Limited Method and a system to deliver multimedia content in a downstream network
JP6946955B2 (ja) * 2017-11-10 2021-10-13 富士通株式会社 情報処理装置、演算処理装置及び情報処理装置の制御方法
US10476815B2 (en) * 2017-12-11 2019-11-12 Ciena Corporation Adaptive communication network with cross-point switches
US11677628B2 (en) * 2017-12-12 2023-06-13 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Topology discovery between compute nodes and interconnect switches

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999011033A1 (en) 1997-08-22 1999-03-04 Avici Systems Router with virtual channel allocation
US20050002387A1 (en) 2003-06-06 2005-01-06 International Business Machines Corporation One-bounce network

Also Published As

Publication number Publication date
CA2939402C (en) 2017-10-24
US20160344618A1 (en) 2016-11-24
US20190068484A1 (en) 2019-02-28
AU2015218201A1 (en) 2016-08-04
CN110708241A (zh) 2020-01-17
NO2776466T3 (ko) 2018-01-20
EP3087708A4 (en) 2017-08-02
KR20160122192A (ko) 2016-10-21
WO2015120539A8 (en) 2016-08-11
US20200322258A1 (en) 2020-10-08
CN110708241B (zh) 2021-10-08
JP2017506049A (ja) 2017-02-23
AU2015218201B2 (en) 2017-11-09
CA2939402A1 (en) 2015-08-20
US11362934B2 (en) 2022-06-14
CN106165356B (zh) 2019-10-08
EP3087708A1 (en) 2016-11-02
JP6267367B2 (ja) 2018-01-24
WO2015120539A1 (en) 2015-08-20
DK3087708T3 (en) 2018-06-14
BR112016018294A2 (pt) 2017-08-08
EP3087708B1 (en) 2018-04-11
US10693767B2 (en) 2020-06-23
CN106165356A (zh) 2016-11-23
US10142219B2 (en) 2018-11-27
IL246982B (en) 2018-01-31

Similar Documents

Publication Publication Date Title
KR101809396B1 (ko) 분산된 직접 상호 접속 네트워크에서 패킷을 라우팅하는 방법
US9825844B2 (en) Network topology of hierarchical ring with recursive shortcuts
KR20140139032A (ko) 패킷플로우 상호연결 패브릭
Wang et al. NovaCube: A low latency Torus-based network architecture for data centers
CN108259387B (zh) 一种通过交换机构建的交换系统及其路由方法
CN108111410B (zh) 在笛卡尔拓扑的网络中构建无死锁路由的方法和装置
Adda et al. Routing and fault tolerance in Z-fat tree
WO2022269357A1 (en) Deadlock-free multipath routing for direct interconnect networks
Bogdanski Optimized routing for fat-tree topologies
Dong et al. ACCL: Architecting highly scalable distributed training systems with highly efficient collective communication library
CN116915708A (zh) 路由数据包的方法、处理器及可读存储介质
Yu et al. Openflow Based Dynamic Flow Scheduling with Multipath for Data Center Networks.
Bogdanski et al. sFtree: a fully connected and deadlock-free switch-to-switch routing algorithm for fat-trees
Wang et al. A cost-effective low-latency overlaid torus-based data center network architecture
Adamu et al. Review of deterministic routing algorithm for network-on-chip
Alshahrani Delay modeling in data center networks: A taxonomy and performance analysis
Korösi et al. Poincare: A hyperbolic data center architecture
Wang et al. Load-Balancing Routing Algorithms for Reducing Packet Latency and Avoiding Deadlock in Datacenter Interconnection Networks
Hu A simulation research on multiprocessor interconnection networks with wormhole routing
Papalkar Latency Analysis of Bidirectional Diagonal Mesh Network on Chip by Modified Q routing
CN116208571A (zh) 具有高端口利用率的大规模网络
Sarbazi-Azad et al. Performance analysis of k-ary n-cubes with fully adaptive routing
Bogdanski et al. Deadlock-Free Switch-to-Switch Routing Algorithm for Fat-Trees
Arora et al. Optimising Up*/Down* Routing By Minimal Paths

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant