KR101091360B1 - 토러스 네트워크를 가지는 병렬 컴퓨터 시스템 상의 오류 복구 - Google Patents

토러스 네트워크를 가지는 병렬 컴퓨터 시스템 상의 오류 복구 Download PDF

Info

Publication number
KR101091360B1
KR101091360B1 KR1020097015156A KR20097015156A KR101091360B1 KR 101091360 B1 KR101091360 B1 KR 101091360B1 KR 1020097015156 A KR1020097015156 A KR 1020097015156A KR 20097015156 A KR20097015156 A KR 20097015156A KR 101091360 B1 KR101091360 B1 KR 101091360B1
Authority
KR
South Korea
Prior art keywords
node
cutoff
register
network
break
Prior art date
Application number
KR1020097015156A
Other languages
English (en)
Other versions
KR20090119835A (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 KR20090119835A publication Critical patent/KR20090119835A/ko
Application granted granted Critical
Publication of KR101091360B1 publication Critical patent/KR101091360B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead

Abstract

병렬 컴퓨터 시스템의 토러스 네트워크 오류를 극복하기 위한 장치 및 방법이다. 컴퓨터 시스템의 서비스 노드의 메시 라우팅 메커니즘은 토러스 네트워크의 오류가 발생할 때 토러스로부터 메시 네트워크를 구성한다. 메시 라우팅 메커니즘은 오류 노드 또는 네트워크 연결 주위의 노드 대 노드 데이터 전송을 라우팅하기 위해 각 노드의 컷오프 레지스터를 활용한다.
병렬 컴퓨터 시스템, 토러스 네트워크, 메시 라우팅 메커니즘, 메시 네트워크

Description

토러스 네트워크를 가지는 병렬 컴퓨터 시스템 상의 오류 복구{FAULT RECOVERY ON A PARALLEL COMPUTER SYSTEM WITH A TORUS NETWORK}
본 발명은 일반적으로 병렬 컴퓨터 시스템의 오류 복구에 관한 것으로, 더 구체적으로는 대규모 병렬 슈퍼 컴퓨터의 토러스 네트워크의 불량 부분으로부터 오류 복구를 위한 장치에 관한 것이다.
복잡한 컴퓨터 시스템에서 효율적인 오류 복구는 시간 및 수리 비용을 감소시키기 위해 중요하다. 많은 수의 계산 노드를 가지는 병렬 컴퓨터 시스템 상에서, 단일 컴포넌트의 불량은 컴퓨터의 넓은 부분이 수리를 위해 라인에서 제거되도록 한다.
대규모 병렬 컴퓨터 시스템은 많은 수의 상호연결된 계산 노드를 가지는 병렬 컴퓨터 시스템의 일유형이다. 이와 같은 대규모 병렬 컴퓨터의 계통은 블루 진(Blue Gene)이라는 이름 아래 IBM(International Business Machines Corporation)에 의해 발전되어 왔다. 블루 진/L 시스템은 컴퓨터 노드의 현재 최대 개수가 65,536인 스케일러블 시스템(scalable system)이다. 블루 진/L 노드는 2개의 CPU와 메모리를 가지는 단일 ASIC(application specific integrated circuit)로 구성된다. 전체 컴퓨터는 64개의 랙(racks) 또는 캐비넛에 수납되고 각 랙에는 32개의 노드 보드를 가진다.
블루 진/L 슈퍼컴퓨터는 다양한 통신 네트워크를 통해 통신한다. 65,636 컴퓨터 노드(computational nodes)는 논리적인 트리 네트워크 및 3-차원 토러스 네트워크(3-dimensional torus network)의 양자로 병렬된다. 논리적인 트리 네트워크는 각 노드가 부모 및 하나 또는 둘의 자식과 통신하도록 컴퓨터 노드들을 트리 구조로 연결한다. 토러스 네트워크는 각 컴퓨터 노드가 컴퓨터의 섹션의 자신의 가장 근접한 6개의 이웃(neighbors)과 통신할 수 있도록 3-차원 격자형 구조로 컴퓨터 노드들을 논리적으로 연결한다. 컴퓨터 노드들이 인접한 노드와 통신을 필요로 하는 토러스 및 트리 네트워크로 배치되므로, 하나의 노드의 하드웨어 오류는 오류 하드웨어가 수리될 수 있을 때까지 시스템의 많은 부분의 정지를 일으킬 수 있다. 예를 들어, 단일 노드 오류 또는 네트워크 연결은 컴퓨터 시스템의 파티션의 토러스 네트워크의 차원을 동작불가능하게 할 수 있다. 더 나아가, 오류 파티션에 할당된 모든 하드웨어는 또한 오류가 정정될 때까지 라인에서 제거될 필요가 있을 수 있다.
토러스 네트워크를 가지는 종래 시스템 상에서, 단일 노드 또는 네트워크 연결의 오류는 종종 수리를 위해 컴퓨터가 라인에서 제거되는 것을 요구한다. 토러스 네트워크의 오류가 발생할 때, 가능한 빠르고 효율적으로 오류를 극복할 수 있는 것이 유리하다. 토러스 네트워크 오류를 더 효율적으로 극복할 수 있는 방법이 없다면, 병렬 컴퓨터 시스템은 잠재적인 컴퓨터 프로세싱 시간의 낭비를 증가시키고 운영 및 유지 비용을 증가시킬 것이다.
바람직한 실시예에 따르면, 병렬 컴퓨터 시스템의 토러스 네트워크 오류를 극복하기 위한 장치 및 방법이 개시된다. 컴퓨터 시스템의 서비스 노드의 메시 라우팅 메커니즘(mesh routing mechanism)은 토러스 네트워크에 오류가 발생할 때 노드를 토러스 네트워크로부터 메시 네트워크로 구성한다. 메시 라우팅 메커니즘(mesh routing mechanism)은 오류 노드 또는 네트워크 연결을 통과하지 않고 네트워크를 통해 노드 대 노드 데이터 전송(node to node data transfers)을 라우팅하기 위해 각 노드의 컷오프 레지스터(cutoff registers)를 활용한다.
예시 및 개시는 불루 진 아키텍처와 관련되어 있지만, 노드 하드웨어가 다른 노드로부터의 트래픽을 컷 스루(cut through) 처리하는 네트워크 구조로 복수의 프로세서가 배치되는 임의의 병렬 컴퓨터 시스템으로 확장된다.
전술한 태양 및 다른 태양과 장점은 첨부된 도면에서 도시되는, 다음의 더 구체적인 개시로부터 명백해질 것이다.
본 발명의 실시예는 첨부된 도면을 참조하여 오직 예시적으로 개시된다.
도 1은 바람직한 실시예에 따르는 대규모 병렬 컴퓨터 시스템의 블록도.
도 2는 대규모 병렬 컴퓨터 시스템의 컴퓨터 노드의 입력 및 출력 연결을 도시하는 블록도.
도 3은 대규모 병렬 컴퓨터 시스템의 컴퓨터 노드의 블록도.
도 4는 대규모 병렬 컴퓨터 시스템의 미드플레인의 블록도.
도 5는 대규모 병렬 컴퓨터 시스템과 같은 고도로 상호연결된 컴퓨터 시스템의 파티션을 나타내는 블록도.
도 6은 토러스 네트워크와 연결된 일련의 노드의 블록도.
도 7은 네트워크 트래픽을 라우팅하기 위해서 컷오프 레지스터를 사용하는 노드 통신의 예시를 도시하는 블록도.
도 8은 네트워크 트래픽을 라우팅하기 위해서 컷오프 레지스터를 사용하는 노드 통신의 예시를 도시하는 블록도.
도 9는 네트워크 트래픽을 라우팅하기 위해서 컷오프 레지스터를 사용하기 위한 방법 흐름도.
본 명세서의 설명 및 청구항은 병렬 컴퓨터 시스템의 토러스 네트워크 오류를 극복하기 위한 장치 및 방법과 관련되어 있다. 컴퓨터 시스템의 서비스 노드의 메시 라우팅 메커니즘은 오류 노드 또는 네트워크 연결 주위의 노드 대 노드 데이터 전송을 라우팅하기 위해 각 노드의 컷오프 레지스터를 사용하여 노드들을 토러스 네트워크로부터 메시 네트워크로 구성한다. IBM(International Business Machines Corporation)에 의해 발전된 블루 진/L 대규모 병렬 컴퓨터에 관한 바람직한 실시예가 개시된다.
도 1은 블루 진/L 컴퓨터 시스템과 같은 대규모 병렬 컴퓨터 시스템(100)을 나타내는 블록도를 도시한다. 블루 진/L 시스템은 컴퓨터 노드의 최대 개수가 65,536인 스케일러블 시스템이다. 각 노드(110)는 2개의 프로세서 또는 CPU(central processor unit)를 통합하는 블루 진/L 계산 칩(112)이라고 불리우는 ASIC(appliation specific integrated circuit; 112)를 가진다. 노드는 또한 통상적으로 512메가바이트의 로컬 메모리(도시되지 않음)를 가진다. 2개의 노드에 대한 컴퓨터 칩과 메모리는 노드 컴퓨트 카드(114) 상에 장착된다. 노드 보드(120)는 각각 2개의 노드(110)를 가지는 16개의 노드 컴퓨트 카드를 수용한다. 따라서, 각 노드 보드는 32개의 노드를 가지고, 각 노드에 대한 2개의 프로세서 및 각 프로세서에 대한 관련된 메모리를 가진다. 랙(130)은 2개의 미드플레인(midplane; 132)에 연결된 32개의 노드 보드(120)를 포함하는 하우징(housing)이다. 각각의 노드 보드(120)는 미드플레인 커넥터(134)를 통해 미드플레인 인쇄 회로 기판(132)에 연결된다. 미드플레인(132)은 랙 내부에 있고 도 1에 도시되지 않는다. 전체 블루 진/L 컴퓨터 시스템은 각각 32개의 노드 보드(120)를 가지는 64개의 랙(130) 또는 캐비넛에 수납된다. 전체 시스템은 65,536 노드 및 131,072 CPU(64개의 랙 x 32개의 노드 보드 x 32개의 노드 x 2개의 CPU)를 가진다.
블루 진/L 컴퓨터 시스템 구조는, 서비스 노드(140)에 연결된 I/O 프로세서(170)를 가지는 각각의 I/O 노드에 의해 1024개의 계산 노드(110)에 대한 통신이 처리되는, I/O 노드 표면을 가지는 계산 노드 코어로서 설명될 수 있다. I/O 노드는 로컬 저장소를 가지지 않는다. I/O 노드는 논리적 트리 네트워크를 통해 계산 노드와 연결되고 또한 기능적 네트워크(도시되지 않음)를 통해 기능적인 광역 네트워크 기능을 가진다. 기능적 네트워크는 서비스 노드(140)로부터 다수의 노드로의 통신을 처리하는 노드 보드(120) 상에 위치한 I/O 프로세서(또는 블루 진/L 링크 칩)과 연결된다. 블루 진/L 시스템은 노드 보드(120)와 연결된 I/O 보드(도시되지 않음) 상의 하나 이상의 I/O 프로세서(170)를 가진다. I/O 프로세서는 8, 32 또는 64개의 노드와 통신하도록 구성될 수 있다. I/O 노드와의 연결은 I/O 노드가 토러스 네트워크와 연결되지 않는다는 것을 제외하면 계산 노드와의 연결과 유사하다.
도 1을 다시 참조하면, 컴퓨터 시스템(100)은 소프트웨어로 노드의 로딩을 처리하고 전체적인 시스템의 동작을 제어하는 서비스 노드(140)를 포함한다. 서비스 노드(140)는 통상적으로 제어 콘솔(도시되지 않음)을 가지는 IBM p시리즈 서버 러닝 리눅스(IBM pSeries server running Linux)와 같은 미니 컴퓨터 시스템이다. 서비스 노드(140)는 제어 시스템 네트워크(150)를 통해 계산 노드(110)의 랙(130)과 연결된다. 제어 시스템 네트워크(150)는 블루 진/L 시스템을 위한 기반 구조에 대한 제어, 테스트 및 브링-업(bring-up)을 제공한다. 제어 시스템 네트워크(150)는 대규모 병렬 컴퓨터 시스템을 위한 필수적인 통신을 제공하는 다양한 네트워크 인터페이스를 포함한다. 네트워크 인터페이스는 아래에 더 자세히 개시된다.
서비스 노드(140)는 시스템 운영 전용의 제어 시스템 네트워크(150)를 관리한다. 제어 시스템 네트워크(150)는 서비스 노드(140)로부터 많은 노드로의 통신을 처리하는 노드 보드(120) 상에 위치하는 Ido 칩(Ido chip; 180)에 연결된 사설 100-Mb/s 이더넷을 포함한다. 이러한 네트워크는 JTAG 프로토콜을 사용해서 통신하기 때문에 때때로 JTAG 네트워크로서 지칭된다. 노드 보드(120) 상의 계산 노드(100)의 모든 제어, 테스트, 브링-업은 서비스 노드와 통신하는 JTAG 포트를 통해 제어된다. 추가적으로, 서비스 노드(140)는 토러스 네트워크에 오류가 있을 때 토러스 네트워크를 메시 네트워크로 구성하는 메시 라우팅 메커니즘(142)을 포함한다. 메시 라우팅 메커니즘은 토러스 네트워크의 오류 주위의 노드 트래픽을 라우팅하기 위하여 노드의 컷오프 레지스터에 값을 할당한다. 메시 라우팅 메커니즘(142)은 서비스 노드(140)상의 소프트웨어를 포함하지만 시스템의 노드 상에서 실행되는 운영 체제 시스템에 의해 지원될 수도 있다.
블루 진/L 슈퍼컴퓨터는 다양한 통신 네트워크를 통하여 통신한다. 도 2는 블루 진/L 컴퓨터 시스템 상의 계산 노드의 I/O 연결을 보여주는 블록도를 도시한다. 65,536개의 컴퓨터 노드 및 1024 개의 1/O 프로세서(170)는 논리적인 트리 네트워크 및 논리적인 3-차원 토러스 네트워크로 배치된다. 토러스 네트워크는 각 컴퓨터 노드(110)가 자신의 가장 근접한 6개의 이웃과 통신하도록 하는 격자형 구조로 계산 노드(compute node)들을 논리적으로 연결한다. 도 2에서, 토러스 네트워크는 노드를 6개의 각 인접한 노드와 연결하는 X+, X-, Y+, Y-, Z+ 및 Z-네트워크 연결에 의해 도시된다. 트리 네트워크는 도 2에서 트리0, 트리1 및 트리2 연결에 의해 표현된다. 노드와 연결된 다른 통신 네트워크는 JTAG 네트워크 및 전역 인터럽트 네트워크(global interrupt network)를 포함한다. JTAG 네트워크는 도 1에 도시된 제어 시스템 네트워크(150)를 통해 서비스 노드(140)로부터의 테스트 및 제어를 위한 통신을 제공한다. 전역 인터럽트 네트워크는 일부 작업의 완료 시에 상이한 프로세싱 페이즈로 이동시키기 위해 계산 노드 상의 유사한 프로세스의 동기화를 위한 소프트웨어 배리어를 구현하기 위해 사용된다. 따라서 전역 인터럽트 네트워크는 노드의 파티션 상에서 실행되는 애플리케이션의 시작, 중지 및 일시 중 지(pause)를 위해서 사용될 수 있다. 더 나아가, 각 계산 노드(110)로의 클럭 및 전력 신호가 존재한다.
블루 진/L 토러스 네트워크는 각 노드를 논리적인 3D 카테시안 배열(3D Cartesian array)의 자신의 6개의 가장 근접한 이웃(X+, X-, Y+, Y-, Z+, Z-)과 연결한다. 6개의 이웃에 대한 연결은 노드 레벨 및 미드플레인 레벨에서 행해진다. 각 미드플레인은 8 x 8 x 8 노드의 배열이다. 미드플레인의 노드 배열의 6개의 페이스(face; X+, X-, Y+, Y-, Z+, Z-)는 각각 8 H 8 = 64 노드 크기이다. 각각의 6개의 페이스 상의 64개의 노드로부터의 각각의 토러스 네트워크 신호는 미드플레인과 연결된 링크 카드(도시되지 않음)를 통해 인접한 미드플레인의 대응하는 노드로 전달된다. 각 페이스의 신호는 또한 미드플레인이 임의의 차원의 1개의 미드플레인의 깊이로 파티션에서 사용될 때 반대측 페이스 상의 동일한 미드플레인의 입력으로 다시 라우팅될 수 있다.
도 3은 블루 진/L 컴퓨터 시스템의 계산 노드(110)의 블록도를 도시한다. 계산 노드(110)는 2개의 프로세싱 유닛(310A, 310B)을 가지는 노드 계산 칩(112)을 가진다. 각 프로세싱 유닛(310)은 프로세싱 코어(312)를 가진다. 프로세싱 유닛(310)은 레벨 3 메모리 캐시(L3 cache; 320) 및 SRAM(static random access memory) 메모리 뱅크(330)와 연결된다. L3 캐시(320)로부터의 데이터는 DDR(dual data rate) 메모리 제어기의 수단(350)에 의해 DDR SDRAM(synchronous dynamic random access memory; 340)의 뱅크에 로딩된다.
도 3을 다시 참조하면, SRAM 메모리(330)는 계산 칩(112)을 Ido 칩(180)과 통신시키는 JTAG 인터페이스(360)와 연결된다. 서비스 노드는 (상기에서 도 1을 참조하여 개시된) 제어 시스템 네트워크(150)의 일부인 이더넷 링크를 거쳐 Ido 칩(180)을 통해 계산 노드와 통신한다. 블루 진/L 시스템에서 노드 보드(120) 당 1개의 Ido 칩이 있고, 각 미드플레인(132)의 보드 상에 나머지가 있다(도 1). Ido 칩은 신뢰성있는 사설 100Mbit/s 이더넷 제어 네트워크를 통해 로우(raw) UDP 패킷을 사용해서 서비스 노드로부터 명령을 수신한다. Ido 칩은 계산 노드와의 통신을 위한 다양한 직렬 프로토콜을 지원한다. JTAG 프로토콜은 서비스 노드(140)(도 1)로부터 계산 노드(110)의 SRAM(330)의 임의의 주소로 판독 및 기록을 위해서 사용되고 시스템 초기화 및 부팅 프로세스를 위해서 사용된다.
도 3에 도시된, 노드 계산 칩(112)은 네트워크 하드웨어(390)를 더 포함한다. 네트워크 하드웨어(390)는 토러스(392), 트리(394) 및 전역 인터럽트(396) 네트워크를 위한 하드웨어를 포함한다. 이와 같은 블루 진/L의 네트워크는 상기에서 간략하게 개시된 바와 같이 계산 노드(110)가 시스템의 다른 노드와 통신하기 위해 사용된다. 네트워크 하드웨어(390)는 계산 노드가 토러스 네트워크를 통해 데이터 패킷을 수신하고 건네주도록 한다. 네트워크 하드웨어(390)는 네트워크 데이터 트래픽을 독립적으로 처리해서 계산 노드의 프로세서가 토러스 네트워크 상의 데이터 흐름의 양에 의해 부담을 받지 않는다.
도 3에 도시되는 바와 같이, SRAM(330)은 퍼스널리티(personality; 335)를 포함한다. 부팅 프로세스 동안, 서비스 노드는 퍼스널리티의 개별 노드 전용의 정보를 저장한다. 퍼스널리티는 토러스 네트워크 하드웨어(392)의 일부인 X-, X+, Y-, Y+, Z- 및 Z+ 컷오프 레지스터(398)에 대한 컷오프 데이터(336)를 포함한다(이하에서 보다 상세히 설명함). 노드가 초기화될 때, 초기화 소프트웨어는 컷오프 레지스터(398)를 구성하기 위해 퍼스널리티(335)의 컷오프 데이터(336)를 사용한다. 서비스 노드는 X, Y, Z 컷오프 데이터(336)를 변경할 수 있고 노드가 컷오프 레지스터(398)를 갱신하도록 지시할 수 있다. 종래 기술에서, 컷오프 레지스터는 토러스 네트워크를 일부 유형의 컴퓨터 애플리케이션에 더 적합한 메시 네트워크로 변경하기 위해서 사용되었다. 컷오프 레지스터의 특징이 아래에서 더 자세히 개시되는 바와 같이 노드 오류 또는 네트워크 오류를 극복하기 위해 메시 라우팅 메커니즘(142)(도 1)에 의해 신규한 방식으로 사용된다.
도 4는 블루진/L 컴퓨터 시스템의 미드플레인(132)을 도시한다. 상기에서 언급한 바와 같이, 노드의 각 랙은 2개의 미드플레인으로 분할된다. 각각의 미드플레인은 미드플레인(132)의 각 페이스로부터 화살표에 의해 표시되는 것처럼 토러스 네트워크의 자신의 6개의 인접한 이웃에 연결된다. 각각이 32개의 블루진/L 계산 노드를 가지는 16개의 노드 카드 외에, 각 미드플레인은 각 링크 카드에 6개의 링크 칩(510)(도시되지 않음)을 가지는 4개의 링크 카드(410)를 포함함으로써, 미드플레인 당 총 24개의 링크 칩을 갖는다. 미드플레인 경계에서, 모든 블루진/L 네트워크는 링크 칩을 통해 전달된다. 링크 칩은 2개의 기능을 제공한다. 첫번째로, 상이한 미드플레인 상의 계산 ASIC 사이의 길고 손실있는 트레이스비케이블비트레이스 연결(long lossy traceBcableBtrace connection) 도중의 고속 신호 형상 및 진폭을 복원하면서, 미드플레인 사이의 케이블을 통한 신호를 리-드라이브(re- drives)한다. 두번째로, 링크 칩은 자신의 상이한 포트 사이에서 신호를 리다이렉트할 수 있다. 이러한 리다이렉트 기능은 블루진/L이 복수의 논리적으로 분리된 시스템으로 분할되도록 한다.
도 4를 다시 참조하면, 각 미드플레인은 토러스 네트워크 상의 자신의 6개의 이웃한 미드플레인과 통신한다. 6개의 이웃한 미드플레인으로의 연결은 미드플레인에 관한 그들의 카테시안 좌표에 의해 표시되어 도시되는 바와 같이 X+, X-, Y+, Y-, Z+ 및 Z- 방향에 있다. 추가적으로, X 스플릿 케이블(split cables)(도시되지 않음)이라 불리우는 X축에 연결의 추가적인 세트가 존재한다. X 스플릿 케이블은 X+ 스플릿 케이블 및 X- 스플릿 케이블을 포함한다. X 스플릿 케이블은 X 차원의 토러스 네트워크로의 연결을 위한 추가적인 라우트의 제공에 의해 파티션 기능을 향상시키기 위한 방법을 제공한다. BG/L 시스템에서, 링크 카드는 하나의 미드플레인으로부터 다음으로 토러스 네트워크 신호의 라우팅을 지원하기 위한 많은 링크 칩(도시되지 않음)을 가진다. 이러한 라우팅은 파티션이 생성되는 시간에 호스트에 의해 설정되고 다른 파티션이 생성되거나 재설정될 때까지 유지된다. 각 링크 칩 포트는 21개의 차동 쌍(differential pairs)(16개의 데이터 신호, 전력이 공급되지 않는 칩이 케이블의 다른 끝으로부터의 드라이버 출력에 의해 구동되는 것을 막기 위한 센스 신호, 및 2개의 비동기 전역 인터럽트 신호)을 지원한다.
BG/L 토러스 상호연결은 노드가 논리적인 3D 카테시안 배열의 자신의 6개의 가장 근접한 이웃(X+, X-, Y+, Y-, Z+, Z-)과 연결되는 것을 요구한다. 6개의 이웃과의 연결은 노드 레벨 및 미드플레인 레벨에서 행해진다. 각 미드플레인은 8 x 8 x 8 노드의 배열이다. 미드플레인의 노드 배열의 6개의 페이스(X+, X-, Y+, Y-, Z+, Z-)는 각각 8 H 8 = 64 크기의 노드이다. 각각의 6개의 페이스 상의 64개의 노드로부터의 각각의 토러스 네트워크 신호는 링크 칩을 통해 인접한 미드플레인의 대응하는 노드에 전달된다. 각 페이스의 신호는 또한 미드플레인이 임의의 차원에서의 1개의 미드플레인의 깊이로 파티션에서 사용될 때 반대쪽 페이스 상의 동일한 미드플레인의 입력으로 다시 라우팅될 수 있다. 각 링크 칩 포트는 21쌍의 데이터 신호를 사용해서 각 포트를 통해 미드플레인에 들어오고 나가는 16개의 단방향 토러스 링크(unidirectional torus links)를 제공한다. 각 미드플레인은 각 링크 칩의 2개의 포트를 가지고 각 포트 상에 16개의 데이터 신호를 가지는 24개의 링크 칩에 의해 기능한다. 따라서 64개의 노드를 가지는 6개의 페이스는 각 포트가 16개의 데이터 신호를 지원하는 24개의 링크 칩 상의 2개의 포트에 의해 공급되는 384개의 입력 및 384개의 출력 신호를 요구한다(16 x 24 = 384개의 입력 및 384개의 출력).
도 5는 X 차원의 파티션에 배치되는 블루 진/L 컴퓨터 시스템과 같은 대규모 병렬 컴퓨터 시스템의 미드플레인 512A-512P를 가지는 랙 510A-510H의 세트(500)를 도시한다. 랙 510A-510H의 각각은 도 1에 도시되는 바와 같이 랙(130)을 나타내고 미드플레인 512A-512P의 각각은 또한 도 1에 도시되는 미드플레인(132)이다. 각 미드플레인 512A-510P는 토러스의 좌표가 X, Y 및 Z인 8x8x8 토러스와 같은 노드에 연결하기 위해서 배치된다. 각 랙의 2개의 미드플레인이 Z 차원에 배치되기 때문에 각 랙은 8x8x16 토러스에 배치된다. 제1 랙(510A)은 랙0(R0)이고 2개의 미드플 레인 R00(512) 및 R01(514)을 가진다. 이와 유사하게, 랙(R1)은 2개의 미드플레인 R10(521C) 및 R11(512D)을 가진다. 나머지 미드플레인 512C-512P는 랙 R2에서 R7의 R20에서 R71로 유사하게 번호가 매겨진다. 도시된 파티션에서, X 케이블(520)은 단일 미드플레인에 둘러싸인 X 차원, Y 및 Z 차원의 8개의 랙을 연결하며, 이는 Y 및 Z 차원의 랙의 페이스 상의 노드가 토러스를 완성하기 위해서 동일한 랙의 반대측 페이스 상의 노드에 다시 연결된다는 것을 의미한다. X 스플릿 케이블은 본 예시에서 도시되지 않는다. 따라서 도 5에 도시되는 파티션은 128x8x8 토러스이다. X 차원 케이블(250)은 X 케이블이 랙을 다음 랙으로 남겨두면서 랙으로 들어가는 방향에 따라 R0, R1, R3, R5, R7, R6, R4, R2의 순서로 랙을 연결하는 것으로 볼 수 있다.
도 6은 블루 진/L 컴퓨터 시스템과 같은 대규모 병렬 컴퓨터 시스템의 파티션에 토러스 네트워크(612)에 의해 연결된 노드(110)의 세트(600)를 도시한다. 도 6은 도 5에 도시되는 토러스에서 연결된 시스템의 노드의 논리적인 표현을 도시한다. 노드의 개수는 최종 노드(614)의 변수 번호 N에 의해 나타나는 바와 같이 파티션에 포함되는 랙의 개수에 따라서 변할 수 있다. 본 도면에서, X+ 차원은 좌측으로부터 우측이고, X- 차원은 우측으로부터 좌측이다. 도 6에 도시되는 논리적인 표현은 오직 X 차원에 배치되는 노드를 나타낸다. 토러스 네트워크의 다른 차원은 동일한 방식으로 배치된다. 상기에서 개시된 메시 라우팅 메커니즘(142)은 도 6에 도시되는 토러스 네트워크를, 본질적으로 오픈 토러스(open torus), 또는 하나 이상의 차원의 노드 선형 연결 네트워크인 메시 네트워크로 변환할 수 있다. 메시 라우팅 메커니즘(142)은 오류로부터 모든 토러스 트래픽을 라우팅하여 노드 또는 노드 사이의 연결의 오류를 극복할 수 있다.
토러스(X+, X-, Y+, Y-, Z+, Z-)의 각 방향에 대해 도 3을 참조하여 상기에서 설명된 컷오프 레지스터(398)라 불리우는 각 노드의 특별한 레지스터가 존재한다. 메시 라우팅 메커니즘은 노드에 네트워크 트래픽을 어떻게 라우팅할지를 알려주기 위해 컷오프 레지스터를 사용해서 노드 또는 네트워크 연결의 오류를 통과하지 않고 네트워크 데이터 트래픽을 라우팅한다. 컷오프 레지스터는 토러스 네트워크의 장애를 야기하는 오류 노드 또는 네트워크를 통과하지 않고 메시 네트워크 상의 데이터를 라우팅하기 위해 아래에서 개시되는 바와 같이 값이 할당된다. 선행 기술에서, 토러스는 X+ 차원의 컷오프를 x 차원의 노드의 개수로 설정하고 X- 차원의 컷오프를 0으로 설정하여 메시로서 프로그래밍된다. 이와 대조적으로, 본 명세서에 개시되는 메시 라우팅 메커니즘은 임의의 불량 노드 및/또는 네트워크를 토러스로부터 제거하여 남아있는 메시 네트워크를 계속 활용할 수 있도록 컷오프 레지스터를 설정한다.
메시 라우팅 메커니즘은 병렬 컴퓨터 시스템의 오류 검출 하드웨어 및 소프트웨어에 의해 불량 노드 또는 네트워크의 위치를 알아낸다. 그 다음에 메시 라우팅 메커니즘은 불량 노드 및/또는 불량 네트워크 연결을 통과하지 않고 오픈 토러스(메시 네트워크)를 통해 데이터를 라우팅하기 위해 어떻게 컷오프 레지스터를 할당할지를 결정한다. 컷오프 레지스터를 할당하는 예시는 아래에 개시된다. 그 다음에 컷오프 레지스터의 값은 도 3을 참조하여 상기에서 개시된 노드의 퍼스널리티 에 컷오프 데이터로서 로딩된다. 노드가 리셋될 때, 노드 리셋 소프트웨어는 컷오프 레지스터를 설정하기 위해 노드의 퍼스널리티로부터 컷오프 데이터를 사용한다. 그 다음에 메시 네트워크는 병렬 컴퓨터 시스템 상의 실행하기 위해 초기화된 애플리케이션에 의해 활용될 수 있다.
컷오프 레지스터는 불량 노드 주위의 데이터를 라우팅하기 위해 사용되는 메시 라우팅 메커니즘(도 1의 142)에 의해 각각 값이 할당된다. 토러스 네트워크에 고장이 있을 때, 2개의 노드 사이의 고장은 네트워크의 1개의 노드의 X+ 링크 및 다음 노드의 X- 링크에 있게 된다. 메시 라우팅 메커니즘은 불량 노드 주위에서 라우팅을 위해 각각의 컷오프 레지스터를 다음과 같이 할당할 수 있다.
break_plus가 노드이고 X+ 링크가 고장;
break_minus가 노드이고 X- 링크가 고장; 및
node_coord는 결정된 컷오프 레지스터에 대하여 노드의 값 0부터 N(노드0부터 노드N에 대응함);
If(node_coord <= break_plus)
x- 컷오프 = 0으로 할당, 및
x+ 컷오프 = break_plus;
Else
x- 컷오프 = break_minus로 할당, 및
x+ 컷오프 = X 차원의 최대 노드
상기에서 도시되는 바와 같이 컷오프 레지스터가 할당되면, 네트워크의 불량 링크 주위의 데이터는 아래에서 개시되는 라우팅 방법을 사용해서 라우팅 된다.
데이터 패킷이 토러스 네트워크를 통해 송신될 때, 송신 노드의 좌표 및 목적 노드는 아래에서 개시되는 방법에 따라서 데이터 패킷을 송신하기 위한 X 차원의 방향을 결정하기 위해 컷오프 레지스터와 결합하여 사용된다. 유사한 방법이 Y 및 Z 차원에 대하여 사용된다.
X 차원에서:
If(송신 노드 > 목적 노드) // X- 방향을 의미함
및 If(목적 노드 >= x- 방향에 대한 컷오프) X- 방향으로 송신
else X+ 방향으로 송신
If(송신 노드 < 목적 노드) // X+ 방향을 의미함
및 if(목적 노드 <= x+ 방향에 대한 컷오프) X+ 방향으로 송신
else X- 방향으로 송신
메시 라우팅 메커니즘(142)으로 오류를 극복하는 예시가 도 7을 참조하여 개시된다. 도 7은 도 6에 도시되는 것과 유사한 노드 711-715의 세트의 논리적인 표현을 도시한다. 각 노드 711-715는 토러스 네트워크(716)에 의해 X 차원의 자신의 2개의 이웃과 연결된다. 더 나아가, 각 노드 711-715는 X- 컷오프 레지스터(718)와 X+ 컷오프 레지스터(720)를 가진다. 이러한 레지스터의 각각의 컨텐츠는 괄호에 도시된다. 도 7에 도시되는 예시에서, 네트워크의 링크(720)가 노드1(712)과 노드2(713) 사이에서 다운되도록 토러스 네트워크에 고장이 있다고 가정한다. 컷오프 레지스터의 값은 상기에서 개시되는 바와 같이 할당된다. 이와 같은 예시에 서, 네트워크의 고장이 노드1의 X+ 측이기 때문에 break_plus는 A1"이다. 이와 유사하게, 네트워크의 고장이 노드2의 X- 측 상에 있기 때문에 break_minus는 A2"이다. 노드가 break_plus보다 작거나 또는 같기 때문에(노드0 및 노드1은 <=1) x- 컷오프는 A0"으로 설정되고 X+ 컷오프는 A1"으로 설정된다. 이와 유사하게, 노드가 break_plus보다 크기 때문에 X- 컷오프는 A2"로 설정되고 X+ 컷오프는 X(4)의 최대 노드로 설정된다.
도 7을 다시 참조하면, 도 7에서 도시되고 상기에서 개시되는 바와 같이 컷오프 레지스터가 할당되면, 노드2(713)가 데이터를 노드1(712)로 송신해야 한다고 가정하고 이와 같은 시나리오를 상기의 방법에 적용할 수 있다. 송신 노드가 목적 노드보다 크기 때문에 이는 예외가 적용되지 않으면 X- 방향으로 송신한다는 것을 의미한다. 목적 노드(1)가 X- 컷오프(0)보다 크지 않거나 또는 같기 때문에, 예외가 적용되어 X+ 방향으로 송신한다. 이와 유사하게, 노드4(715)가 데이터를 노드2(712)로 송신해야 한다고 가정하고 본 방법을 적용한다. 송신 노드(노드5)는 목적 노드(노드2)보다 크기 때문에 이는 X- 방향으로 송신한다는 것을 의미한다. 목적 노드(노드2)가 컷오프(2)와 동일하기 때문에 X- 방향으로 송신한다. 따라서 토러스는 노드1(712)과 노드2(713) 사이의 연결에서 토러스 "오픈"을 가지는 메시를 형성한다.
오류를 극복하는 다른 예시는 도 8을 참조하여 개시된다. 도 8은 도 7과 유사한 토러스 네트워크(816)에 의해 연결된 노드 811-815의 세트의 논리적인 표현을 도시한다. 각 노드 811-815는 X- 컷오프 레지스터(818) 및 X+ 컷오프 레지스 터(820)를 가진다. 이와 같은 레지스터의 각각의 컨텐츠는 괄호에 도시된다. 이와 같은 예시에서, 노드3(814) 및 노드4(815) 사이의 토러스 네트워크에 고장(810)이 있다고 가정한다. 컷오프 레지스터의 값은 상기에서 개시되는 바와 같이 할당된다. 이와 같은 예시에서, 네트워크의 고장이 노드3의 X+ 측에 있기 때문에 break_plus는 A3"이다. 이와 유사하게, 네트워크의 고장이 노드4의 X- 측 상에 있기 때문에 break_minus는 A4"이다. 노드가 break_plus보다 작거나 또는 같기 때문에(노드0부터 노드3까지 <= 3) x- 컷오프는 A0"으로 설정되고 x+ 컷오프는 A3"로 설정된다. 이와 유사하게, 노드가 break_plus(노드4)보다 크기 때문에, X- 컷오프는 A4"로 설정되고 X+ 컷오프는 X(4)의 최대 노드로 설정된다.
도 8을 다시 참조하면, 도 8에 도시되고 상기에 개시되는 바와 같이 컷오프 레지스터에 값이 할당되면, 노드2가 노드1로 데이터를 송신해야 한다고 가정하고 본 시나리오를 상기 방법에 적용한다. 송신 노드가 목적 노드보다 크기 때문에 이는 예외가 적용되지 않으면 X- 방향으로 송신한다는 것을 의미한다. 목적 노드(1)가 X- 컷오프(0)보다 크거나 또는 같기 때문에, X- 방향으로 송신한다. 이와 유사하게 노드4(815)가 데이터를 노드2(812)로 송신해야 한다고 가정하고 본 방법을 적용한다. 송신 노드(노드4)가 목적 노드(노드2)보다 크기 때문에 이는 X- 방향으로 송신한다는 것을 의미한다. 목적 노드(노드2)가 컷오프(노드4)보다 작지 않거나 또는 같기 때문에 X+ 방향으로 송신한다.
도 9는 병렬 컴퓨터 시스템 상의 불량 노드 또는 네트워크 연결 주위에서 라우팅하기 위한 메시 라우팅 메커니즘(142)에 대한 방법(900)을 도시한다. 첫번째 로, 노드 및/또는 토러스 네트워크 연결의 오류를 검출한다(단계 910). 다음에, 불량 노드 또는 네트워크 연결 주위에서 라우팅하기 위해 컷오프 레지스터에 대한 값을 결정한다(단계 920). 그 다음에 컷오프 레지스터를 새로운 값으로 설정한다(단계 930). 그 다음에 하드웨어를 리셋하고 파티션 상에 애플리케이션 소프트웨어를 리로드한다(단계 940). 그 다음에 메소드가 행해진다.
본 명세서의 개시는 병렬 컴퓨터 시스템의 토러스 네트워크 오류를 극복하기 위한 방법 및 장치를 포함한다. 메시 라우팅 메커니즘은 컴퓨터 시스템의 효율을 증가시키기 위해 다운 시간(down time)의 양을 감소시키기 위하여 오류 노드 또는 네트워크 연결 주위의 노드 대 노드 데이터 전송을 라우팅하도록 각 노드의 컷오프 레지스터를 활용한다.
본 기술분야의 당업자는 본 청구항의 범위 내의 많은 변형이 가능하다는 것을 알 수 있다. 따라서, 설명이 구체적으로 도시되고 상기에서 개시되었지만 본 기술분야의 당업자는 청구항의 사상 및 범위를 벗어나지 않는 형식 및 세부사항의 많은 변형이 있을 수 있음을 이해할 수 있다.

Claims (10)

  1. 병렬 컴퓨터 시스템으로서,
    토러스 네트워크(torus network)로 접속된 복수의 상호연결된 계산 노드(interconnected compute nodes) - 각각의 노드는 x 차원(dimension)으로 0부터 n까지의 노드 값(node value)을 가지며, n은 정수 변수임 - ;
    상기 토러스 네트워크의 링크에 오류(fault)가 발생할 때 상기 토러스 네트워크를 메시 네트워크로 변환하는 메시 라우팅 메커니즘(mesh routing mechanism); 및
    노드 값들을 저장하는 계산 노드 각각에 대한 x- 컷오프 레지스터 및 x+ 컷오프 레지스터를 포함하고,
    상기 메시 라우팅 메커니즘은 상기 계산 노드들이 상기 오류를 통과하지 않고 인접한 노드들과 통신하도록 하기 위해, 상기 네트워크의 X 차원에서의 상기 오류의 위치와 관련하여 상기 x- 컷오프 레지스터와 상기 x+ 컷오프 레지스터에 대하여 상기 노드 값들을 할당하고,
    각각의 노드에 대해 상기 x+ 컷오프 레지스터와 상기 x- 컷오프 레지스터에 저장된 상기 노드 값들은,
    만일 (판정 중인 현재의 노드의 노드 값 <= break_plus)이면,
    x- 컷오프 = 0 및 x+ 컷오프 = break_plus로 할당하고,
    그 외에는,
    x- 컷오프 = break_minus 및 x+ 컷오프 = X 차원의 최대 노드 값을 할당하고 - 상기 break_plus는 고장난 X+ 링크(broken X+ link)를 갖는 노드에 대한 노드 값이며, 상기 break_minus는 고장난 X- 링크를 갖는 노드에 대한 노드 값임 -,
    데이터 패킷을 상기 X 차원의 어느 방향으로 송신할지를 판정하기 위한, 상기 x- 컷오프 레지스터 및 상기 x+ 컷오프 레지스터와 관련한 송신 노드(sending node) 및 목적 노드(destination node)의 상기 노드 값들에 따라 데이터 패킷을 상기 토러스 네트워크를 통해 송신하되,
    만일 (송신 노드 > 목적 노드)이고,
    만일 (상기 목적 노드 >= x- 방향에 대한 컷오프)이면,
    X- 방향으로 송신하고,
    그 외에는, X+ 방향으로 송신하고,
    만일 (상기 송신 노드 < 상기 목적 노드)이고,
    만일 (상기 목적 노드 <= x+ 방향에 대한 컷오프)이면,
    X+ 방향으로 송신하고,
    그 외에는, X- 방향으로 상기 데이터 패킷을 송신하는,
    병렬 컴퓨터 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 메시 라우팅 메커니즘은 상기 컴퓨터 시스템의 서비스 노드에 있는 병렬 컴퓨터 시스템.
  4. 제1항에 있어서,
    상기 계산 노드들은 각 노드를 3개의 차원들의 자신의 6개의 가장 근접한 이웃들과 연결하도록 상기 토러스 네트워크와 상호연결되는 병렬 컴퓨터 시스템.
  5. 제4항에 있어서,
    Y 및 Z 차원들 각각의 Y+, Y-, Z+ 및 Z- 컷오프 레지스터들을 더 포함하는 병렬 컴퓨터 시스템.
  6. 제1항에 있어서,
    상기 컴퓨터 시스템은 대규모 병렬 컴퓨터 시스템인 병렬 컴퓨터 시스템.
  7. 병렬 컴퓨터 시스템에서 오류 복구를 위한 컴퓨터로 구현되는 방법으로서,
    적어도 하나의 프로세서를 제공하는 단계;
    상기 적어도 하나의 프로세서에 결합되는 메모리를 제공하는 단계;
    복수의 계산 노드를 상호연결하는 토러스 네트워크의 오류를 검출하는 단계 - 각각의 노드는 x 차원 방향으로 0부터 n까지의 노드 값을 가지며, n은 정수 변수임 -;
    상기 오류를 회피하기 위해, 상기 병렬 컴퓨터 시스템의 상기 복수의 계산 노드 각각의 x- 컷오프 레지스터와 x+ 컷오프 레지스터에 저장할 노드 값들을 판정하는 단계;
    상기 x- 컷오프 레지스터와 상기 x+ 컷오프 레지스터에 새로운 노드 값들을 설정하는 단계;
    상기 x- 컷오프 레지스터와 상기 x+ 컷오프 레지스터의 상기 새로운 노드 값들을 사용하여 상기 오류를 회피하도록 상기 토러스 네트워크를 통해 데이터를 라우팅(route)하기 위한 하드웨어 및 소프트웨어를 재설정하는 단계;
    각각의 노드에 대해 상기 x+ 컷오프 레지스터와 상기 x- 컷오프 레지스터에 저장된 상기 노드 값들은,
    만일 (판정 중인 현재의 노드의 노드 값 <= break_plus)이면,
    x- 컷오프 = 0 및 x+ 컷오프 = break_plus로 할당하고,
    그 외에는,
    x- 컷오프 = break_minus 및 x+ 컷오프 = X 차원의 최대 노드 값을 할당하는 단계 - 상기 break_plus는 고장난 X+ 링크를 갖는 노드에 대한 노드 값이며, 상기 break_minus는 고장난 X- 링크를 갖는 노드에 대한 노드 값임 -; 및
    데이터 패킷을 상기 X 차원의 어느 방향으로 송신할지를 판정하기 위한, 상기 x- 컷오프 레지스터 및 상기 x+ 컷오프 레지스터와 관련한 송신 노드 및 목적 노드의 상기 노드 값들에 따라 데이터 패킷을 상기 토러스 네트워크를 통해 송신하되,
    만일 (송신 노드 > 목적 노드)이고,
    만일 (상기 목적 노드 >= x- 방향에 대한 컷오프)이면,
    X- 방향으로 송신하고,
    그 외에는, X+ 방향으로 송신하고,
    만일 (상기 송신 노드 < 상기 목적 노드)이고,
    만일 (상기 목적 노드 <= x+ 방향에 대한 컷오프)이면,
    X+ 방향으로 송신하고,
    그 외에는, X- 방향으로 상기 데이터 패킷을 송신하는 단계
    를 포함하는, 컴퓨터로 구현되는 방법.
  8. 제7항에 있어서,
    상기 컷오프 레지스터들에 대한 값들을 결정하는 단계는 상기 컴퓨터 시스템의 서비스 노드의 메시 라우팅 메커니즘에 의해 수행되는 컴퓨터로 구현되는 방법.
  9. 제조물로서,
    병렬 컴퓨터 시스템 노드들의 복수의 계산 노드를 연결하는 토러스 네트워크 - 각각의 노드는 x 차원 방향으로 0부터 n까지의 노드 값을 가지며, n은 정수 변수임 -;
    노드 값들을 저장하는 계산 노드 각각에 대한 x- 컷오프 레지스터 및 x+ 컷오프 레지스터;
    오류가 발생할 때 상기 토러스 네트워크를 오픈(open)하기 위하여 상기 토러스 네트워크를 메시 네트워크로 변환하는 메시 라우팅 메커니즘 - 상기 메시 라우팅 메커니즘은 상기 계산 노드들이 상기 오류를 통과하지 않고 인접한 노드들과 통신하도록 지시하기 위해, 상기 네트워크의 x 차원에서의 상기 오류의 위치와 관련하여 상기 x- 컷오프 레지스터와 상기 x+ 컷오프 레지스터에 대하여 상기 노드 값들을 할당함 -; 및
    상기 메시 라우팅 메커니즘을 보유하는 컴퓨터 판독가능 기록매체
    를 포함하고,
    각각의 노드에 대해 상기 x+ 컷오프 레지스터와 상기 x- 컷오프 레지스터에 저장된 상기 노드 값들은,
    만일 (판정 중인 현재의 노드의 노드 값<=break_plus)이면,
    x- 컷오프 = 0 및 x+ 컷오프 = break_plus로 할당하고,
    그 외에는,
    x- 컷오프 = break_minus 및 x+ 컷오프 = X 차원의 최대 노드 값을 할당하고 - 상기 break_plus는 고장난 X+ 링크를 갖는 노드에 대한 노드 값이며, 상기 break_minus는 고장난 X- 링크를 갖는 노드에 대한 노드 값임 -,
    데이터 패킷을 상기 X 차원의 어느 방향으로 송신할지를 판정하기 위한, 상기 x- 컷오프 레지스터 및 상기 x+ 컷오프 레지스터와 관련한 송신 노드 및 목적 노드의 상기 노드 값들에 따라 데이터 패킷을 상기 토러스 네트워크를 통해 송신하되,
    만일 (송신 노드 > 목적 노드)이고,
    만일 (상기 목적 노드 >= x- 방향에 대한 컷오프)이면,
    X- 방향으로 송신하고,
    그 외에는, X+ 방향으로 송신하고,
    만일 (상기 송신 노드 < 상기 목적 노드)이고,
    만일 (상기 목적 노드 <= x+ 방향에 대한 컷오프)이면,
    X+ 방향으로 송신하고,
    그 외에는, X- 방향으로 상기 데이터 패킷을 송신하는,
    제조물.
  10. 컴퓨터 판독가능 기록 매체로서,
    컴퓨터 프로그램이 컴퓨터 상에서 실행될 때 제7항 또는 제8항의 모든 단계를 수행하는 프로그램 코드 수단을 포함하는 상기 컴퓨터 프로그램이 저장된, 컴퓨터 판독가능 기록 매체.
KR1020097015156A 2007-04-18 2008-03-20 토러스 네트워크를 가지는 병렬 컴퓨터 시스템 상의 오류 복구 KR101091360B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/736,923 US7765385B2 (en) 2007-04-18 2007-04-18 Fault recovery on a parallel computer system with a torus network
US11/736,923 2007-04-18
PCT/EP2008/053378 WO2008128837A1 (en) 2007-04-18 2008-03-20 Fault recovery on a parallel computer system with a torus network

Publications (2)

Publication Number Publication Date
KR20090119835A KR20090119835A (ko) 2009-11-20
KR101091360B1 true KR101091360B1 (ko) 2011-12-07

Family

ID=39705036

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097015156A KR101091360B1 (ko) 2007-04-18 2008-03-20 토러스 네트워크를 가지는 병렬 컴퓨터 시스템 상의 오류 복구

Country Status (8)

Country Link
US (1) US7765385B2 (ko)
EP (1) EP2147375B1 (ko)
JP (1) JP5285061B2 (ko)
KR (1) KR101091360B1 (ko)
CN (1) CN101657796B (ko)
AT (1) ATE517387T1 (ko)
TW (1) TW200907701A (ko)
WO (1) WO2008128837A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516444B2 (en) 2006-02-23 2013-08-20 International Business Machines Corporation Debugging a high performance computing program
US7796527B2 (en) * 2006-04-13 2010-09-14 International Business Machines Corporation Computer hardware fault administration
US9330230B2 (en) * 2007-04-19 2016-05-03 International Business Machines Corporation Validating a cabling topology in a distributed computing system
US7831866B2 (en) * 2007-08-02 2010-11-09 International Business Machines Corporation Link failure detection in a parallel computer
US8131975B1 (en) * 2008-07-07 2012-03-06 Ovics Matrix processor initialization systems and methods
US8145880B1 (en) 2008-07-07 2012-03-27 Ovics Matrix processor data switch routing systems and methods
US7958341B1 (en) 2008-07-07 2011-06-07 Ovics Processing stream instruction in IC of mesh connected matrix of processors containing pipeline coupled switch transferring messages over consecutive cycles from one link to another link or memory
US8327114B1 (en) 2008-07-07 2012-12-04 Ovics Matrix processor proxy systems and methods
JP2010218364A (ja) 2009-03-18 2010-09-30 Fujitsu Ltd 情報処理システム、通信制御装置および方法
CN101567805B (zh) * 2009-05-22 2011-12-28 清华大学 并行文件系统发生故障后的恢复方法
US9565094B2 (en) * 2009-11-13 2017-02-07 International Business Machines Corporation I/O routing in a multidimensional torus network
US9954760B2 (en) 2010-01-29 2018-04-24 International Business Machines Corporation I/O routing in a multidimensional torus network
JP5750963B2 (ja) * 2011-03-22 2015-07-22 富士通株式会社 並列計算機システム、制御装置、並列計算機システムの制御方法および並列計算機システムの制御プログラム
US20120331153A1 (en) * 2011-06-22 2012-12-27 International Business Machines Corporation Establishing A Data Communications Connection Between A Lightweight Kernel In A Compute Node Of A Parallel Computer And An Input-Output ('I/O') Node Of The Parallel Computer
NO2776466T3 (ko) * 2014-02-13 2018-01-20
CN104065575B (zh) * 2014-07-16 2017-08-04 曙光信息产业(北京)有限公司 一种基于节点数指示路由及路由信息的方法及装置
KR101995056B1 (ko) 2015-12-30 2019-07-02 한국전자통신연구원 분산 파일 시스템 및 이의 운영방법
CN110210614B (zh) * 2019-05-31 2020-08-25 中科寒武纪科技股份有限公司 运算方法、装置及相关产品

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060215544A1 (en) * 2005-03-22 2006-09-28 Fujitsu Limited Packet repeater

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6346029A (ja) * 1986-08-13 1988-02-26 Hitachi Ltd ル−プバツク制御方式
JPH02121547A (ja) * 1988-10-31 1990-05-09 Toshiba Corp ローカルエリアネットワーク
JP2784080B2 (ja) * 1990-05-09 1998-08-06 富士通株式会社 リングネットワーク及びその障害復旧方法並びにリングネットワークに用いられるノード
JP2663687B2 (ja) * 1990-07-27 1997-10-15 日本電気株式会社 デュアルリング網におけるatm通信方式
US5175733A (en) * 1990-12-27 1992-12-29 Intel Corporation Adaptive message routing for multi-dimensional networks
US5442620A (en) * 1992-03-26 1995-08-15 At&T Corp. Apparatus and method for preventing communications circuit misconnections in a bidirectional line-switched ring transmission system
US5533198A (en) * 1992-11-30 1996-07-02 Cray Research, Inc. Direction order priority routing of packets between nodes in a networked system
US5701416A (en) * 1995-04-13 1997-12-23 Cray Research, Inc. Adaptive routing mechanism for torus interconnection network
US6055618A (en) * 1995-10-31 2000-04-25 Cray Research, Inc. Virtual maintenance network in multiprocessing system having a non-flow controlled virtual maintenance channel
US5793746A (en) * 1996-04-29 1998-08-11 International Business Machines Corporation Fault-tolerant multichannel multiplexer ring configuration
US6065052A (en) * 1996-07-01 2000-05-16 Sun Microsystems, Inc. System for maintaining strongly sequentially ordered packet flow in a ring network system with busy and failed nodes
US6230252B1 (en) * 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
US6657952B1 (en) * 1997-11-28 2003-12-02 Nec Corporation Ring network for sharing protection resource by working communication paths
US6278689B1 (en) * 1998-04-22 2001-08-21 At&T Corp. Optical cross-connect restoration technique
US6269452B1 (en) * 1998-04-27 2001-07-31 Cisco Technology, Inc. System and method for fault recovery for a two line bi-directional ring network
US6912196B1 (en) 2000-05-15 2005-06-28 Dunti, Llc Communication network and protocol which can efficiently maintain transmission across a disrupted network
EP1179249A2 (en) * 1999-05-14 2002-02-13 Dunti Corporation Method for routing in hierarchical networks
JP4034497B2 (ja) * 2000-05-08 2008-01-16 富士通株式会社 ネットワークシステム
US6711407B1 (en) * 2000-07-13 2004-03-23 Motorola, Inc. Array of processors architecture for a space-based network router
US6853635B1 (en) * 2000-07-24 2005-02-08 Nortel Networks Limited Multi-dimensional lattice network
US6782198B1 (en) * 2000-11-10 2004-08-24 Lucent Technologies Inc. Switching arrangement for fault recovery in optical WDM ring networks
US7050398B1 (en) * 2000-12-26 2006-05-23 Cisco Technology, Inc. Scalable multidimensional ring networks
JP3758523B2 (ja) * 2001-05-21 2006-03-22 日本電気株式会社 双方向リングネットワーク、ノード装置および双方向リングネットワーク制御方法
EP1357690B1 (en) * 2002-03-27 2005-07-06 Lightmaze Solutions AG Intelligent optical network element
JP4208842B2 (ja) * 2003-03-04 2009-01-14 富士通株式会社 リング型光ネットワークのノード装置
WO2007044939A2 (en) * 2005-10-13 2007-04-19 Opvista Incorporated Optical ring networks using circulating optical probe in protection switching with automatic reversion
WO2007083365A1 (ja) * 2006-01-18 2007-07-26 Fujitsu Limited 光ネットワークシステム
JP4760504B2 (ja) * 2006-04-12 2011-08-31 株式会社日立製作所 ネットワークシステムおよび通信装置
US7954095B2 (en) * 2006-11-01 2011-05-31 International Business Machines Corporation Analysis and selection of optimal function implementations in massively parallel computer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060215544A1 (en) * 2005-03-22 2006-09-28 Fujitsu Limited Packet repeater

Also Published As

Publication number Publication date
US7765385B2 (en) 2010-07-27
ATE517387T1 (de) 2011-08-15
US20080263387A1 (en) 2008-10-23
TW200907701A (en) 2009-02-16
CN101657796A (zh) 2010-02-24
EP2147375B1 (en) 2011-07-20
EP2147375A1 (en) 2010-01-27
KR20090119835A (ko) 2009-11-20
JP2010525434A (ja) 2010-07-22
CN101657796B (zh) 2013-03-27
JP5285061B2 (ja) 2013-09-11
WO2008128837A1 (en) 2008-10-30

Similar Documents

Publication Publication Date Title
KR101091360B1 (ko) 토러스 네트워크를 가지는 병렬 컴퓨터 시스템 상의 오류 복구
JP5285690B2 (ja) 並列コンピュータ・システム、並列コンピュータ・システム上のノード・トラフィックを動的に再経路指定するためのコンピュータ実装方法、コンピュータ可読記録媒体及びコンピュータ・プログラム
CN107769956B (zh) 计算系统和冗余资源连接结构
US7747895B2 (en) Multi-directional fault detection system
US8112658B2 (en) Row fault detection system
US7512836B2 (en) Fast backup of compute nodes in failing midplane by copying to nodes in backup midplane via link chips operating in pass through and normal modes in massively parallel computing system
US8117502B2 (en) Bisectional fault detection system
US7930584B2 (en) Cell boundary fault detection system
US7826379B2 (en) All-to-all sequenced fault detection system
Sadawarti et al. Fault-tolerant routing in unique-path multistage interconnection networks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141128

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee