KR20040002870A - 계산 구조에 대한 전역 트리 네트워크 - Google Patents

계산 구조에 대한 전역 트리 네트워크 Download PDF

Info

Publication number
KR20040002870A
KR20040002870A KR10-2003-7010998A KR20037010998A KR20040002870A KR 20040002870 A KR20040002870 A KR 20040002870A KR 20037010998 A KR20037010998 A KR 20037010998A KR 20040002870 A KR20040002870 A KR 20040002870A
Authority
KR
South Korea
Prior art keywords
node
tree
virtual
nodes
global
Prior art date
Application number
KR10-2003-7010998A
Other languages
English (en)
Other versions
KR100553143B1 (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 KR20040002870A publication Critical patent/KR20040002870A/ko
Application granted granted Critical
Publication of KR100553143B1 publication Critical patent/KR100553143B1/ko

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D25/00Pumping installations or systems
    • F04D25/16Combinations of two or more pumps ; Producing two or more separate gas flows
    • F04D25/166Combinations of two or more pumps ; Producing two or more separate gas flows using fans
    • 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
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating
    • H05K7/20709Modifications to facilitate cooling, ventilating, or heating for server racks or cabinets; for data centers, e.g. 19-inch computer racks
    • H05K7/20836Thermal management, e.g. server temperature control
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D27/00Control, e.g. regulation, of pumps, pumping installations or pumping systems specially adapted for elastic fluids
    • F04D27/004Control, e.g. regulation, of pumps, pumping installations or pumping systems specially adapted for elastic fluids by varying driving speed
    • 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
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • 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
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • G09G5/008Clock recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0337Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
    • H04L7/0338Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals the correction of the phase error being performed by a feed forward loop
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F11/00Control or safety arrangements
    • F24F11/70Control systems characterised by their outputs; Constructional details thereof
    • F24F11/72Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure
    • F24F11/74Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure for controlling air flow rate or air velocity
    • F24F11/77Control systems characterised by their outputs; Constructional details thereof for controlling the supply of treated air, e.g. its pressure for controlling air flow rate or air velocity by controlling the speed of ventilators
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B30/00Energy efficient heating, ventilation or air conditioning [HVAC]
    • Y02B30/70Efficient control or regulation technologies, e.g. for control of refrigerant flow, motor or heating

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Thermal Sciences (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

트리 네트워크 구조에 따라 상호 결합된 처리 노드들 사이에서 고속, 저-지연 전역 트리 통신을 활성화시키는 시스템 및 방법이다. 전역 트리 네트워크는 복수의 상호 결합된 처리 노드를 지니는 컴퓨터 구조에서 병렬 알고리즘 연산이 실행되는 동안 집합적인 감산 연산이 실행되게 한다. 가상 트리와 서브-트리 구조의 노드에서 저-지연 전역 처리 연산의 성능을 실행하기 위하여 링크를 통하여 라우터 장치에 트리의 노드의 상호 결합이 포함된다. 전역 연산은 가상 트리의 뿌리 노드로부터 잎 노드로 다운스트림되는 전역 확산 연산과, 가상 트리에서 잎 노드로부터 뿌리 노드로 업스트림되는 전역 감산 연산과, 가상 트리에서 임의의 노드로부터 뿌리 노드로 통과하는 포인트-투-포인트 메시지 연산 중 하나 이상을 포함한다. 가상 트리 네트워크의 하나의 노드는 가상 트리의 각 노드에 대하여 외부 시스템에 I/O 기능을 제공하기 위하여 I/O 노드로서 결합되고 기능한다. 전역 트리 네트워크는 전역 장벽을 제공하도록 구성될 수 있고, 비동기 또는 동기 방식으로 기능을 인터럽트한다. 따라서, 예컨대 병렬 계산 시스템에 사용되는 병렬 알고리즘 처리 연산은 병렬 알고리즘 연산의 특정한 연산 구문에 따라 최적으로 수행될 수 있다. 대량-병렬 수퍼컴퓨팅 구조에서 실행될 때, 전역 트리 네트워크는 처리 알고리즘의 필요에 따라 물리적으로 그리고 논리적으로 참여 가능하다.

Description

계산 구조에 대한 전역 트리 네트워크{A GLOBAL TREE NETWORK FOR COMPUTING STRUCTURES}
"초대형 컴퓨터" 또는 "수퍼컴퓨터"라고 불리는 대량 병렬 계산 구조는 다수의 계산 노드를 일반적으로 그리드, 격자 또는 토러스(torus)와 같은 매우 규칙적인 구조 형태로 상호 결합시킨다.
위와 같은 대량 병렬 시스템에서 일반적으로 부딪치는 한가지 문제는 다수의 노드를 포함하는 집합적인 산술 또는 논리 연산의 효율적인 계산이다. 위 시스템에서 일반적으로 부딪치는 두번째 문제는 제한된 수의 외부 I/O 결합을 모든 노드에 의해서 효율적으로 공유해야 한다는 것이다. 다수의 계산 노드에 걸리는 집합적인 산술 연산을 포함하는 통상적인 한가지 계산예는 전역 합산에 기초하여 전역 내적(inner product)을 요구하는 반복적이지만 드문 선형식을 푸는 기술이다.
도 1에 도시하는 3차원 토러스 상호 결합 계산 구조(10)는 에지에서 "랩(wrapped)"되고 가장 인접한 것과 상호 결합하는 간단한 3차원 구조를 포함하여, 대부분의 내부-프로세서 형태에 대해서 잘 동작하는 반면, 각 계산 노드(12)에 의하여 제공된 피연산자로부터 단일한 결과를 계산하거나, 외부 I/O 결합(도시되지 않음)과 같이 한정된 자원을 효율적으로 공유하는 것과 같은, 감산(reduction)과 같은 집합적인 연산은 잘 수행하지 못한다.
따라서, 전역 감산 계산, 데이터 분산, 동기화 및 한정된 자원의 공유와 같은 전역 산술 연산을 요구하는 연산을 포함하여 효율적이고 신뢰성 있는, 많은 종류의 연산에 대하여 최적화된 처리 노드의 고유한 상호 결합을 포함하는 초대형 수퍼컴퓨터 구조를 제공하는 것이 매우 바람직하다.
토러스와 같은 고속 네트워크의 정규 결합은 긴 지연으로 인하여 위 목적을 만족시키기 못한다.
즉, 물리적인 토러스 상호 결합의 트리 통신 패턴의 단순한 맵핑은 인접한 트리 노드가 토러스에서 인접해서 위치할 것을 요구할 때 필요한 깊이보다 더 깊은 트리를 만들거나, 노드가 토러스에서 인접하지 않을 때 노드 사이에 더 긴 지연을 지니는 트리를 만든다. 상호 결합 자원이 제한되었을 때, 가장 효율적으로 집합적인 연산을 계산하기 위하여, 진정한 트리 네트워크, 즉 노드 사이의 물리적인 상호 결합이 트리 내에 노드를 형성하는 네트워크가 필요하다.
(관련 출원 상호 참조)
본 발명은 2001년 2월 24일자로 출원된 "MASSIVELY PARALLEL SUPERCOMPUTER"라는 제목의 본 출원의 출원인과 공유되고 동시에 계류 중인 미국 가특허 출원 번호 60/271,124의 우선권을 주장하고 있으며, 이 가출원의 전체 내용 및 개시 사항은 본 명세서에 완전히 개시되어 있고 본 명세서에 참조로서 명백히 통합되어 있다. 이 가출원은 추가적으로 동일자로 출원된 아래 본 출원의 출원인과 공유이고 동시에 계류 중인 미국 특허 출원들에 관련되어 있으며, 이러한 특허 출원들 각각의 전체 내용 및 개시 사항은 본 명세서에 완전히 개시되어 있고 본 명세서에 참조로서 명백히 통합되어 있다: "Class Networking Routing"이라는 제목의 미국 특허 출원 번호( YOR920020027US1, YOR920020044US1(15270)); "A Global Tree Network For Computing Structures"라는 제목의 미국 특허 출원 번호( YOR920020028US1 (15271)); "Global Interrupt and Barrier Network"라는 제목의 미국 특허 출원 번호(YOR920020029US1(15272)); "Optimized Scalable Network Switch"라는 제목의 미국 특허 출원 번호(YOR920020030US1(15273)); "Arithmetic Functions in Torus and Tree Networks"라는 제목의 미국 특허 출원 번호(YOR920020031US1,YOR920020032US1(15258)); "Data Capture Technique for High Speed Signaling"이라는 제목의 미국 특허 출원 번호(YOR920020033US1,YOR920020034US1(15259)); "Managing Coherence via Put/Get Windows"라는 제목의 미국 특허 출원 번호 (YOR920020035US1(15260)); "Low Latency Memory Access And Synchronization"이라는 제목의 미국 특허 출원 번호(YOR920020036US1,YOR920020037US1(15261)); "Twin-Tailed Fail-Over for Fileservers Maintaining Full Performance in the Presence of Failure"라는 제목의 미국 특허 출원 번호(YOR920020038US1(15276)); "Fault Isolation Through No-Overhead Link Level Checksums"라는 제목의 미국 특허 출원 번호(YOR920020039US1(15277)); "Ethernet Addressing Via Physical Location for Massively Parallel Systems"라는 제목의 미국 특허 출원 번호(YOR920020040US1 (15278)); "Fault Tolerance in a Supercomputer Through Dynamic Repartitioning"이라는 제목의 미국 특허 출원 번호(YOR920020041US1(15274)); "Checkpointing Filesystem"이라는 제목의 미국 특허 출원 번호(YOR920020042US1(15279)); "Efficient Implementation of Multidimensional Fast Fourier Transform on a Distributed-Memory Parallel Multi-Node Computer"라는 제목의 미국 특허 출원 번호(YOR920020043US1(15262)); "A Novel Massively Parallel Supercomputer"라는 제목의 미국 특허 출원 번호(YOR9-20010211US2(15275)); "Smart Fan Modules and System"이라는 제목의 미국 특허 출원 번호(YOR920020045US1(15263)).
본 발명은 일반적으로 분산-메모리 메시지-통과 병렬 컴퓨터 설계 및 시스템 소프트웨어에 대한 것으로서, 특히 예컨대 대량-병렬(massively-parallel), 분산-메모리 컴퓨터에 사용하기 위하여 개별적인 프로세서를 상호 결합하기 위한 신규한 방법 및 장치에 관한 것이다.
도 1은 8개의 계산 노드를 상호 결합하는 3차원 토러스 네트워크를 도시한다.
도 2는 35개의 노드(원으로 표시됨)와 노드 전체를 결합하는 트리 네트워크 (100)를 포함하는 일반적인 시스템의 실시예를 도시한다.
도 3은 도 2의 전역 트리 네트워크에서 실현되는 라우터 장치의 기본 구조를 도시한다.
본 발명의 목적은 효율적이고 신뢰성있게 전역 감산을 계산하고 데이터를 분산하고 동기화하며 제한된 자원을 공유하도록 계산 구조의 개별적인 처리 노드들을 상호 결합하는 시스템 및 방법을 제공하는 것이다.
본 발명의 다른 목적은 트리 상호 결합으로 배열되고 전역, 산술 및 집합적인 연산을 용이하게 하는 대량-병렬, 분산-메모리 컴퓨터의 개별적인 프로세서를 상호 결합하는 독립적인 단일한 물리적인 네트워크를 제공하는 것이다.
본 발명의 다른 목적은 외부 I/O(입력/출력)을 제공하기 위한 전역 트리 상호 결합으로 배열되고 물리적 네트워크의 서브-트리인 가상 트리 네트워크에 대한 하나 이상의 노드에 기능성을 부여하는 대량-병렬, 분산-메모리 컴퓨터의 개별적인프로세서를 상호 결합하는 독립적인 단일한 물리 네트워크를 제공하는 것이다. 그러한 전역 트리 상호 결합 시스템은 메시지-통과 토러스 또는 그리드 계산 구조의 메시지 트래픽 오프를 유지하기 위한 전용 I/O 노드를 포함할 수 있다.
본 발명에 따르면, 트리 네트워크 구조에 따라 상호 결합된 처리 노드들 사이에 고속, 저-지연 전역 통신을 가능하게 하는 시스템 및 방법이 제공되어 있다. 전역 트리 네트워크는 복수의 상호 결합 처리 노드를 지니는 컴퓨터 구조에서 병렬 알고리즘이 실행되는 동안, 집합적인 감산 연산이 최적으로 실행되게 한다. 라우터 장치에는 트리의 노드에서 저-지연 전역 처리 연산의 수행을 용이하게 하는 링크를 통하여 트리의 노드를 상호 결합하는 것이 포함된다. 구성 옵션(configuration option)에는 트리 네트워크의 전체 노드의 서브세트를 구성하는 "가상 트리 (virtual tree)"의 정의가 포함된다. 전역 연산은 가상 트리의 뿌리(root) 노드로부터 잎(leaf) 노드로 다운스트림되는 전역 확산 연산 (global broadcast operation), 가상 트리의 잎 노드로부터 뿌리 노드로 업스트림되는 전역 감산 연산(global reduction operation) 및 가상 트리에서 임의의 노드로부터 뿌리 노드로 통과하는 포인트-투-포인트 메시지 중 하나 이상을 포함한다. 가상 트리 네트워트 중 하나의 노드는 가상 트리의 각 노드에 대한 외부 시스템을 지니는 I/O 기능을 제공하기 위하여 결합되고 I/O 노드로 기능한다. 전역 트리 네트워크는 전역 장벽을 제공하도록 구성될 수 있고, 비동기 또는 동기 방식으로 기능을 인터럽트시킨다. 이것은 현재 미국 특허청에서 계류중인 특허 출원 제YOR920020029US1(15272)호에 개시되어 있다. 따라서, 예컨대 병렬 계산 시스템에 사용된 병렬 알고리즘 처리연산은 병렬 알고리즘 연산의 특정한 연산 구문에 따라 최적으로 수행될 수 있다. 대량-병렬 수퍼컴퓨팅 구조에서 실행될 때, 전역 트리 네트워크는 처리 알고리즘의 요구에 따라 물리적으로 그리고 논리적으로 분할될 수 있다.
대량 병렬 컴퓨터에서, 모든 계산 노드들은 일반적으로 파일 시스템과 같은 외부 자원에 액세스할 것을 요구한다. 결합을 제공하는 비용이 개별적인 계산 노드의 비용보다 훨씬 높기 때문에, 제한된 수의 외부 I/O 결합에 효율적으로 공유하는 문제가 발생한다. 따라서, I/O 결합의 효율적인 공유가 I/O 대역폭이 시스템 크기를 제한하는 비용 요소가 되지 않게 한다. 제한된 내부-프로세서의 상호 결합을 가정하면, 평균 지연이라는 관점에서 단일한 자원을 공유하기 위한 가장 효율적인 네트워크는 트리의 뿌리에서 자원이 공유되는 전역 트리이다.
전역 집합 연산에서, 단일한 대형 트리가 모든 프로세서를 상호 결합하는데 사용될 수 있다. 그러나, 파일 시스템 I/O는 뿌리에서 I/O 장치를 지니는 많은 수의 작은 트리를 요구한다. 대형 트리가 복수의 작은 서브트리를 포함하기 때문에, 하나의 대형 트리는 그 안의 적당한 크기의 서브 트리의 뿌리에 외부 결합을 전략적으로 배치함으로써 파일시스템 I/O용으로 사용될 수 있다. 또한, 파일시스템 I/O는 본 발명에 따라 활성화되는 포인트-투-포인트 메시징에는 요구되나, 집합 연산을 위해서는 요구되지 않는다.
본 발명의 전역 트리 네트워크와 결합된 효과적이고 크기가 조절되고 대량의 병렬 수퍼컴퓨터는 생명 과학 분야에서 수행되는 병렬 알고리즘에 적당하다.
본 발명은 광범위한 애플리케이션에 대하여 teraOPS(초당 트릴리온의 부동 소수점 연산)의 순서로 처리 전력을 전송하도록 설계된 3차원 토러스의 형태를 지니는 신규한 대량 병렬 수퍼컴퓨터 구조에 대하여 개시하고 있는, 본 명세서에 일체로 결합되고, 본원 출원인과 공동 소유이며, 현재 미국 특허청에서 계류중인 특허 출원 제(YOR920010211US2, D#15275)호에 개시되어 있는 컴퓨터 구조로 실현될 수 있다. 이 실시예에서 대량 병렬 수퍼컴퓨터 구조는 64×32×32 3차원 토러스로 조직된 65,536개의 처리 노드를 포함하고, 각 처리 노드는 6개의 인접 노드(12)에 결합되어 있다. 도 1은 8개의 노드(12)로 구성된 토러스를 도시하고 있고, 3차원의 각 축을 따라 노드(12)의 수를 증가시킴으로써 위 상호 결합의 크기를 조절할 수 있다. 현재의 기술을 사용하여, 이 구조는 통신보다 현저하게 많은 계산을 요구하거나 가장 가까운 인접 통신만을 요구하는 애플리케이션에 대하여 수백의 teraOPS로 조절될 수 있다. 본 발명은 수퍼컴퓨터 외에도 다른 많은 컴퓨터 구조에서 실현될 수 있다.
위에 언급한 바와 같이, 토러스 처리 노드를 결합시키는 상호 결합 네트워크는 대부분의 내부-처리 통신 형태에는 잘 작동하지만, 각 노드에 의해서 제공되는 피연산자로부터 단일한 결과를 계산하는, 감산과 같은 집합 연산에는 잘 작동하지 않는다.
본 명세서에서 일체로 결합되고, 본원 출원인과 공동 소유이며, 현재 미국 특허 출원 제(D#15275)호에 개시되어 있는 바와 같이, 토러스에서 집합 감산 연산을 수행하기 위한 가장 효율적인 메카니즘은 최소 지연이라는 관점에서 볼 때 노드들 사이에 물리적인 상호 결합이 트리의 노드를 형성하는 네트워트인 진정한 트리 네트워크를 제공하는 것이다.
따라서, 본 발명의 바람직한 실시예에 따르면, 전역 트리 네트워크는 노드당 하나의 ASIC를 포함하는 복수의 상호 결합 라우터 장치가 제공된다. 각 라우터는 3개의 "자(child)" 포트와 하나의 "부(parent)" 포트를 제공하고, 그 각각은 선택적으로 활성화된다. 2개의 자 포트가 있으면 트리 토폴로지를 생성하는데 충분하다. 더 많은 자가 트리의 높이 또는 뿌리에 도달하기 위하여 요구되는 결합을 감소시킨다. 따라서, 더 많은 상호 결합이 있을수록 더 많은 자가 집합 연산에 대한 지연을 감소시킬 수 있다. 트리는 부가 없는(즉, 그 부 포트에 아무것도 결합되지 않은) "뿌리(root)" 노드에서 시작하는 것으로 형성된다. 뿌리 노드는 트리의 최상의 "레벨"을 형성한다. 그 아래 레벨은 하나 또는 그 이상의 뿌리의 자 포트를 다른 라우터의 부 포트에 결합함으로써 형성된다. 이 경우, 뿌리 노드는 그 아래의 레벨에서는 "부" 노드이다. 이러한 처리는 노드들이 아무 자를 지니지 않을 때까지 (즉, 그라우터의 자 포트에 아무것도 결합되지 않을 때까지) 반복적으로 계속된다. 이 노드들은 트리의 "잎(leaves)"으로 불린다. 예컨대, 도 2의 트리 네트워크(100)에서, 노드 B(110)는 뿌리 노드이고, 잎은 뿌리 노드로부터 가장 먼 바닥에 있는 노드(120)이다. 본 명세서에서 뿌리를 향하여 트리 위로 이동하는 데이터는 "업트리(uptree)" 트래픽이고, 잎을 향하여 뿌리로부터 멀어지는 방향으로 트리 아래로 이동하는 데이터는 "다운트리(downtree)" 트래픽이라고 한다.
아래 보다 상세하게 설명하는 바와 같이, 트리 네트워크는 라우터(노드)를 상호 결합시키는 링크 상의 가상의 채널에 의하여 지지되는, 복수의 독립적인 "가상 네트워크"를 포함할 수 있다. 링크를 공유하기 위하여, 가상 네트워크 데이터 스트림은 패킷화되고, 적당한 방법으로 인터리브된다. 각각의 가상 네트워크는 그 고유의 저장 자원을 지니기 때문에 어느 하나의 기능적인 교착 상태가 다른 것에 영향을 미치지 않는다.
각각의 가상 네트워크는 (각 가상 네트워크 내에서) 독립적이거나 아닐 수도 있는 가상 트리(또는 서브-트리)로 서브 분할될 수 있다. 임의의 노드는 16개의 가상 트리 중 하나의 뿌리가 되도록 구성될 수 있다. 가상 트리는 a) 동일한 가상 트리 번호의 뿌리로 지정된 노드와, b) 위 a)를 만족하는 노드의 자 노드를 제외한, 뿌리와 그것의 모든 자로 지정된 노드를 포함한다. 따라서, 동일한 가상 트리 번호를 지니는 가상 트리는 중첩될 수 없으나, 다른 번호를 지니는 가상 트리는 중첩될 수 있다.
노드는 임의의 번호를 지니는 가상 트리에 참여하거나 어느 것에도 참여하지않도록 구성될 수 있다. 만약 노드가 참여한다면, 그들은 감산 연산에 피연산자가 기여하는 것과 같이 모든 트리 의미론을 따를 것이라고 기대할 수 있다. 노드가 복수의 가상 트리에 참여함에 따라, 노드는 가상 네트워크로 주입하는 모든 패킷에 대한 가상 트리 번호를 특정해야 한다.
본 발명에 따른 예시적인 트리 구조(100)가 도 2에 도시되어 있다. 보다 구체적으로, 도 2는 35개의 노드(원으로 표시됨)와 그 35개의 노드 모두를 결합시키는 트리 네트워크(100)를 포함하는 가상 트리 네트워크(100)의 실시예를 도시한다. 트리 네트워크(100)는 아래 상세하게 설명하는 바와 같이 전역 감산 및 확산에 사용된다. 외부 시스템과의 입/출력(I/O) 및 자원 공유를 위하여, 도 2의 예시적인 가상 네트워크(100)의 노드는 도 2의 가상 트리에 참조 번호 1-5호 표시하는 5개의 비-중첩 가상 서브-트리로 분류된다. 즉, 각각의 가상 서브-트리는 원 내에서 다른 번호로 표시된다. 각각의 서브-트리 1-5의 뿌리에서는 각각 노드(111, 112, 113, 114)와 노드(110)가 외부 시스템(예컨대, 호스트 또는 파일 시스템)과의 인터페이스 결합을 포함한다. 따라서, 각 I/O 결합은 뿌리가 결합되어 있는 서브 트리의 7개의 노드에 대한 모든 트래픽을 조절한다. 바람직한 실시예에서, 각 서브-트리의 뿌리에 있는 노드는 I/O 전용이나. 항상 그런 것은 아니다.
도 2에서 뿌리에 노드 A(111)를 지니는 가상 트리 번호(1)에 대해서 설명하면, 구조로부터 데이터를 전송하고자 하는 일반적인 노드(115)는 외부 접속으로 전달하는 위치인 가상 트리의 뿌리 노드(111)로 메지시를 올려서 통과시킨다. 외부 네트워크 접속에 도착하는 데이터는 아래 보다 상세하게 설명하는 바와 같이 모든다른 노드를 필터링하는 확산 필터를 사용함으로써 참조 번호 115와 같은 특정한 노드로 전달될 수 있다. 전역 트리 네트워크의 연산에 관하여 보다 상세하게 설명하면, 특히 프로그램 가능한 포인트-투-포인트 또는 입출력에 사용되기 위한 서브 트리 메시징, 프로그램 로드, 시스템 관리, 병렬 작업 모니터링 및 디버그를 지원하는 기능에 관하여 본 명세서에서 일체로서 인용되고, 본원 출원인과 공유이고, 현재 미국 특허청에서 계류중인 특허 출원 제(YOR982001-1002, YOR982001-1005 및 YOR982001-1009호)호에 개시되어 있다.
도 2로 다시 돌아가면, 일반적으로 I/O 트래픽은 그 뿌리에 외부 접속을 지니는 가상 트리 내에 유지된다. 그러나, 만약 외부 접속이 실패하면, 외부 접속을 지니는 다른 노드가 실패를 극복하는데 사용될 수 있다. 예컨대, 도 2에서 노드 A(111)에 대한 외부 I/O 접속이 실패하면, 뿌리가 노드 A인 서브-트리의 모든 노드는 노드 B(110)를 통하여 외부 파일 시스템 또는 호스트 시스템과 통신할 수 있다.
트리(20)에 구축된 하드웨어 기능이 정수 합산, 정수 최대값, 최소값, 비트방식 논리 AND, 비트방식 논리 OR, 비트방식 논리 XOR(독점적 OR) 및 확산을 포함하나, 그것에 한정되지는 않는다. 위 기능은 가능한 최저 지연 방식으로 실현된다. 예컨대, 합산 기능은 전역 네트워크에서 우선적으로 전송된 워드의 최저 바이트를 만든다. 이 저 바이트는 즉시 다른 소스로부터의 다른 바이트(하드웨어에서)에 부가되고, 그 결과값은 트리의 다음 레벨로 이동된다. 이러한 방식으로 예컨대 8-바이트는 고차 바이트가 이동되기 전에 이미 트리의 수개층 위로 진행한다. 이것은 전체 기계를 통하여 매우 낮은 지연 합산의 가능성을 만든다. "토러스와 트리 네트워크에서의 연산 기능(Arithmetic Functions in Torus and Tree Networks)"이라는 제목의 현재 미국 특허청에서 계류중인 특허 출원 제(YOR920020031US1, YOR20020032US1(15258))호에서 설명하는 바와 같이, 최소값 또는 감산과 같은 다른 산술 기능이 데이터의 적당한 예비 조건에 의하여 달성될 수 있다. 부동 소수점 합산이 전역 조합 트리없이 위와 같은 결과를 달성하는 방법과 비교된 매우 낮은 지연을 지니는 것 모두를 트리에서 2만큼 통과함으로써 달성될 수 있다. 트리에서 산술 또는 논리 연산은 항상 트리를 따라 위로 흐르고, 거기에서 모든 결과값이 조합되고, 그 다음 트리 아래로 흐르고 그 결과값은 모든 가지(branch)에 분산된다. 설명하는 바와 같이, 특정한 가지가 특정한 방법으로 제어되면 계산으로부터 생략될 수 있다.
바람직한 실시예에서, 본 발명의 전역 트리 네트워크는 데이터를 이동시키고 집합적인 감산을 계산하는 노드당 하나의 상호 결합 라우터를 포함한다. 도 3은 도 2의 트리 네트워크에 대한 라우터 장치(200)의 기본 구조를 도시한다. 도 3에 도시하는 바와 같이, 각 라우터 장치(200)는 다른 라우터와 결합되거나, 결합되지 않았을 때에는 비활성화되는 복수개의 포트, 예컨대 4개의 포트를 포함한다. 도 3에 도시하는 바와 같이, 라우터는 3-트리가 구성되게 하는 데이터 경로를 형성하기 위하여 4개의 입력 포트(210a-213a)와 그에 대응하는 4개의 출력 포트(210b-213b)를 지닌다. 한가지 실시예에서, 4개의 포트 중 오직 하나만이 부 노드로의 결합으로 지정될 수 있고, 나머지 3개의 포트는 자 노드에 결합될 수 있다. 트리의 바닥에 있는 잎 노드는 활성화된 부 노드에 결합된 오직 하나의 포트를 지니게 될 것이고,트리의 뿌리는 활성화된 부 노드는 지니지 않지만, 적어도 하나의 자가 활성화된다. 도 3에 도시하는 바와 같이, 크로스바 스위치(215)를 통하여 데이터 경로가 생성된다는 것을 알 수 있다.
설명을 위하여, 도 3의 라우터 장치(200)에서 데이터는 항상 좌에서 우로 흐른다. 따라서, 패킷은 로컬 주입 FIFO(202), 또는 라우터의 입력 포트(210a-213a) 중 하나 중 어느 것으로부터 라우터 장치(200)에 진입할 수 있다. 만약 패킷이 포트에 진입하면, 그것은 2개의 가상 네트워크 중 어느 것인가에 따라 2개의 입력 FIFO(예컨대, A 또는 B) 중 하나에 배치된다. 패킷은 결과적으로 업트리 선택 블록(220) 또는 다운트리 선택 블록(230)에 제공된 ALU 장치(240)에 의해서 실행되는 논리 및 산술 연산 중 하나에 의해서 사용된다. 업트리 논리 또는 다운트리 선택의 결과는 4개의 출력단(210b-213b) 모두에 확산되고, 그 각각은 연산 또는 그것의 최종 목적지인 출력 포트에 따라 그것을 조절하거나 조절하지 않을 수 있다. 선택 블록(220, 230)은 패킷(또는 패킷들)이 라우터를 통하여 이동할 위치를 결정하는 조정 회로(도시되지 않음)를 포함한다. 동시적인 업트리 및 다운트리 트래픽이 있을 수 있다는 것을 이해하여야 한다.
트리에 대한 소프트웨어 접근은 주입 및 수신 인터페이스(202, 204)와 한 세트의 구성 레지스터(218)에 의해서 제공된다. 일반적으로 구성 레지스터(218)는 라우터를 구성하는데 사용되고, 상태를 결정하는 반면, 주입과 수신 인터페이스(202, 204)는 각각 피연산자를 제공하고 결과값을 수신하는 애플리케이션에 의하여 사용된다. 보다 구체적으로, 각각의 가상 트리는 가상 트리당 하나 존재하는 각 라우터의 가상 트리 구성 레지스터(218)에 적당한 값을 저장함으로써 구성된다. 각각의 가상 트리에 대하여, 구성 레지스터는 노드가 1) 트리의 뿌리, 2) 트리에 참여할 것인지 여부, 3) 업트리 확산 패킷의 수신을 강제할 것인지 여부의 기능을 할 것인지 여부를 확정하게 한다. 또한, 가상 트리 구성 레지스터(218)는 노드를 활성화시켜서 어느 자들(children)이 트리에 참여할 것인지 또는 그 아래 참여자를 지닐 것인지를 특정하게 한다. 이것은 드문 트리를 지원하는데 필요하다.
애플리케이션은 CPU 주입(202)과 CPU 수신(204) 인터페이스를 통하여 트리와 상호 작용한다. 데이터는 주입 인터페이스(202)에 패킷으로 저장됨으로써 명시적으로 또는 직접 메모리 액세스(DMA)를 통하여 트리로 전송된다. 마찬가지로, 결과값은 수신 인터페이스(204)에서 패킷으로 판독됨으로써 명시적으로 또는 DMA를 통하여 트리로부터 제거된다.
도시되어 있지는 않지만, 흐름 제어 기술이 라우터들 사이에서, 예컨대 여유분(slack)의 가치가 있는 수개의 패킷을 허용하는 토큰 기초 프로토콜을 사용하여 실현된다는 것을 알 수 있다. 즉, 활성화된 모든 출력 포트(210b-213b)가 다른 라우터의 하나의 입력 포트에 결합된다. 일반적으로, 그 입력 포트의 개별적인 가상 채널은 대응하는 출력 포트의 가상 채널에 대하여 그 입력 FIFO에서 버퍼 공간의 가치가 있는 모든 패킷에 대하여 토큰을 허용한다. 출력 포트가 패킷을 전송함에 따라 토큰을 소비하고, 입력 포트는 FIFO 공간을 비울 것처럼 출력 포트에 토큰을 복귀시킨다. 따라서, 출력 포트는 그것이 사용가능한 토큰을 가지고 있는 한, 패킷을 전송하는 것을 계속할 것이다.
본 발명의 바람직한 실시예의 라우터 장치 내에 산술 및 연산 장치(ALU) 블록(240)이 4개의 피연산자 크기에 대하여 5개의 감산 연산을 수행하도록 활성화된다. 연산은 정수 합산, 정수 최대값, 비트방식 논리 OR, 비트방식 XOR, 비트방식 논리 AND이다. 피연산자 크기는 32 비트, 64 비트, 128 비트 및 2048 비트이다. 도 3에 도시된 구조가 연산 또는 피연산자 크기에 대한 서로 다른 선택을 배제하지 않는다는 것을 이해하여야 한다. 특히, 연산 및 피연산자 크기를 선택하기 위하여 소프트웨어가 사용된다.
일반적으로, 감산 연산에 참여하는 노드는 그것들을 CPU 주입 FIFO(202)에 저장함으로써 "감산"형 패킷을 주입한다. 감산은 예컨대 본 발명의 일실시예에 따르면 패킷이 256 바이트의 페이로드를 전송하는 패킷의 세부 부분에서 실행된다. 개별적인 패킷은 항상 동일한 크기의 피연산자를 전송할 것이고, 모든 피연산자에서 동일한 감산을 수행할 것이다. 어떠한 노드도 각각의 가상 트리에 대하여 감산에 참여하지 않도록 구성될 수 있다. 이 경우, 노드는 감산에 어떠한 데이터도 공급하지 않을 것이고, 결과값을 수신하지 않게 된다.
개개의 가상 트리에 대하여, 라우터 장치(200)는 그 자 중 어느 것이 감산에 참여할 것인지를 특정하도록 구성된다. 그것이 그 각 참여 자 및 로컬 주입 FIFO(로컬 노드가 참여하지 않는다면)로부터 감산 패킷을 수신할 때, 그것은 패킷의 컨탠츠에 특정된 감산 연산을 계산하고, 그 결과를 단일한 패킷으로 부에 전송한다. 즉, 각 패킷의 제1 워드가 결과 패킷의 제1 워드를 생성하도록 조합된다. 각 패킷에 대한 제2 워드가 그 결과 패킷의 제2 워드를 생성하도록 조합된다. 이하 마찬가지이다. 이러한 방법으로, 전역 결과는 반복적으로 트리 위로 계산되고, 마지막으로 감산 트리의 뿌리 노드에서 그 결과를 포함하는 단일한 패킷으로 완성된다.
임의의 노드가 가상 감산 트리의 뿌리로 구성되는 것이 바람직하다. 일단 감산이 그 노드에 도달하면, 하나의 조합 패킷이 수신되거나 참여 자들 모두에 확산하거나 그 두가지 모두를 수행한다. 라우터가 자 노드 다운트리에 대하여 예정된 감산 패킷을 수신할 때, 그것은 그 자의 각각에 대하여 패킷의 카피를 전송한다. 그것은 또한, 가상 트리 상에서 감산에 참여하도록 구성된다면, 로컬 수신 FIFO(204)에 패킷의 카피를 배치시킨다.
바람직한 실시예에서, 물리적인 상호 결합의 폭은 피연산자 폭보다 좁기 때문에, 피연산자는 직렬화된 방법으로 트리에서 전송된다. 가능한 최저 지연을 달성하기 위하여, 정수 피연산자는 결과값이 계산되고 피연산자가 도착하는대로 전송될 수 있도록 우선 최저 순서 비트로 전송된다. 이러한 방법으로, 고차 비트가 이동되기 전에 결과값이 트리의 수개 레벨 위로 잠재적으로 진행하고, 전체 노드에 걸쳐 매우 낮은 지연을 만든다. 파이프라인된 최대값 연산이 최고차 비트를 포함하는 워드와 함께 계산된다는 것을 알아야 한다. 왜냐하면, 다른 곳에 속한 최고차 비트에 기초하여 숫자가 다르다는 것이 발견되기 때문이다. 하드웨어는 자동적으로 주입되고 수신된 최대 피연산자를 반전하고 고차에서 저차 비트로 계산이 수행된다.
정수 감산이 부가적으로 부동 소수점 감산을 계산하는데 사용될 수 있다. 예컨대, 전역 부동 소수점 합산이 트리를 두번 사용함으로써 실행될 수 있다. 여기에서 첫번째는 모든 최대 지수를 얻는 것이고, 두번째는 모든 이동 로그 가수 부분이합산되는 것이다.
위에 설명한 바와 같이, 본 발명의 트리 네트워크(100)는 효율적인 전역 확산을 수행하기 위한 이상적인 구조이다. 하드웨어 확산 연산도 항상 트리의 뿌리로부터 수행된다. 그러나, 임의의 노드가 포인트-투-포인트 "확산(broadcast)"형 메시지를 뿌리 노드에서 라우터 장치에 우선적으로 전송함으로써 확산할 수 있다. 그런 다음 확산을 자동적으로 시작한다. 대부분의 경우, 전역 확산은 감산의 규칙과 제한을 따른다. 그러나, 업트리 동작에서는 다르다. 임의의 노드는 가상 트리에서 확산형의 패킷을 주입함으로써 페이로드의 확산을 수행할 수 있다. 패킷은 그것이 가상 트리의 뿌리로 구성된 노드에 도달할 때까지 변경되지 않은 트리 위로 주행한다. 이제 반대로 가상 트리상의 모든 참여 자에게 확산된다. 따라서, 가상 트리에서 감산에 참여한 노드에만 수신될 것이다.
본 발명에 따른 확산 수신은 패킷 내에 포함된 정보를 필터링함으로써 제어된다. 바람직한 실시예의 필터링 메카니즘은 패킷 내에 포함된 값을 각 라우터에 저장된 미리 구성된 값에 일치시키고, 그 값이 일치할 때에만 패킷을 수신하도록 기능한다. 일반적으로, 확산 필터링 메카니즘이 뿌리 노드로부터 그 아래의 단일 노드로 메시지를 전송하도록 시스템의 모든 노드에는 고유값(주소)이 할당된다. 그것은 또한 노드의 서브세트에 의하여 수신되게 하기 위해서는 고유하지 않은 어드레스를 사용할 수 있다. 확산 필터링이 일반화될 수 있는 방법은 많이 있다. 예컨대, 주소 대신에 비트 벡터를 사용하면, 확산 수신에 있어서 다중, 결합 해제, 구성 가능한 서브세트 노드가 가능해진다.
외부 I/O 결합의 효율적인 공유가 확산 필터링과 "뿌리"형 패킷의 조합에 의하여 제공된다. 뿌리형 패킷은 항상 그것이 무조건적으로 수신되는, 트리의 뿌리로 지정된 노드에 도달할 때까지 가상 트리 위로 진행한다. 이것은 뿌리가 아닌 노드가 뿌리로 메시지를 전송하고, 외부 접속으로 데어터가 전달될 수 있게 한다. 외부 접속에 도달하는 데이터는 원하는 목적지와 일치하는 주소를 지니는 필터링 확산을 사용하여 특정한 뿌리가 아닌 노드로 진행될 수 있다.
외부 결합이 실패하면, 그 결합을 사용하는 노드는 그 다음 노드를 통하여 외부 결합을 향하여 트리 위로 진행하는 것이 실패할 것이다. 노드로부터의 트래픽에 있어서, 실패한 노드를 가상 트리의 뿌리가 되지 못하게 하고 실패를 극복한 노드가 새로운 뿌리가 되도록 재구성하는 방식으로, 실패한 외부 접속에서 노드를 간단하게 재구성함으로써 수행될 수 있다. 실패를 극복한 뿌리로부터의 확산이 그 실패한 노드 아래의 자들만을 제외하고 그 노드의 모든 자들에게 확산될 것이기 때문에 노드로의 트래픽이 더 이상 복잡해지지 않는다. 예컨대, 도 2에서 노드 A(111)에서의 실패가 노드 B(110)에서 극복되면, 노드 B로부터의 패킷은 전체 트리로 확산될 것이다.
불필요한 트래픽을 방지하기 위하여, 임의의 라우터 장치는 각 가상 트리 상에서 독립적으로 다운트리 트래픽을 블록(block)하도록 구성될 수 있다. 블록으로 구성된 가상 트리의 업트리 링크에서 라우터에 진입하는 패킷은 간단하게 드롭된다. 예컨대, 도 2에서 노드 A(111) 아래 1번으로 표시된 가상 트리가 노드 A(111)의 접속으로 외부 I/O와 전송하고 수신한다고 가정한다. 노드 A에서 접속이 안되고, 노드 B에서 극복하면, 노드 B는 노드 A 대신 가상 트리(1)의 뿌리가 되고, 노드 C와 D는 가상 트리(1)의 다운트리 트래픽을 블록하도록 구성된다. 이러한 다운트리 블로킹 메카니즘은 일반적으로 가상 트리를 가지치기하는데 사용될 수 있다.
임의의 패킷이 인터럽트 요구가 부착된 채로 트리 네트워크로 주입될 수 있다. 이것은 최종적으로 패킷을 수신하는 모든 노드에서 또는 감산의 경우에는 패킷으로부터 계산된 결과값에서 마스크 가능한 인터럽트를 일으킬 것이다. 만약 결과값에 기여한 어떤 주입 패킷이 인터럽트를 요청했다면 감산 결과는 인터럽트를 일으킬 것이다. 더욱이, 전역 감산 연산이 인터럽트 메카니즘으로 소프트 장벽을 수행하는데 사용될 수 있다. 간단하게 말하면, 각 노드는 그 인터럽트 플래그를 소거함으로써 장벽에 진입하고 그 후 전역 감산에 기여한다. 그것은 인터럽트 플래그를 폴링(polling)하거나 인터럽트를 수신함으로써 장벽의 완성을 검출한다. 또한, 전역 조합 트리의 연산을 보다 상세하게 설명하면, 장벽 네트워크는 본 명세서에서 전체로서 인용하는 본원 출원인과 공유이고 현재 미국에서 계류중인 미국 특허 출원 제(YOR8-2001-1009)호에 개시되어 있다.
본 발명의 트리 네트워크는 그것이 기초 순서 규칙을 따르는 한 연산의 정확한 완성을 보증한다. 즉, 패킷이 수신되는 순서대로 라우터(200)에 의해서 처리되기 때문에, 가상 트리에서의 연산에 참여하는 노드가 동일한 순서로 감산 피연산자를 주입하지 않거나, 피연산자를 주입하는데 실패하면, 가상 네트워크에 교착 상태가 나타난다. 마찬가지로, 교착 상태는 2개의 가상 트리가 동일한 가상 네트워크에서 중첩하거나, 피연산자 주입이 가상 네트워크의 엄격한 순서 규칙을 교란하는 경우에 발생할 수 있다. 바람직하게는, 확산 또는 포인트-투-포인트 메시징 연산에 순서 제약은 없고, 이러한 연산은 감산으로 인터리브될 수 있다.
정확한 순서로 연산이 완성되었음을 보장하는 것은 하드웨어 에러 회복 메카니즘에 의해서 제공된다. 간단하게, 각 라우터는 패킷이 에러없이 수신되었음을 확인하는 통지를 수신할 때까지 전역 트리 네트워크를 통하여 전송되는 모든 패킷의 카피를 보유한다. 오염된 패킷을 검출하기 위한 메카니즘 및 저장된 카피를 사용하여 패킷을 재전송하는 메카니즘을 포함하여 패킷 CRC를 지니는 슬라이딩 윈도우 프로토콜과 같은 링크-레벨 통신 프로토콜이 실현될 수 있다.
위에 설명한 바와 같이, 흐름 제어는 토큰-기초 통신 프로토콜의 사용을 통하여 유지된다. "다운스트림" 라우터로 패킷을 전송하는 "업스트림" 라우터는 다운스트림 라우터에서 빈(free) 저장 용량을 나타내는 몇개의 토큰을 포함한다. 업스트림 라우터가 패킷을 전송할 때마다, 토큰을 소비하고, 만약 그것이 토큰을 남겨놓지 않는다면 패킷을 전송할 수 없다. 반대로, 다운스트림 라우터는 저장 공간을 비울 때마다 다운스트림 라우터에 토큰을 등록시킨다. 저장 공간과 패킷 지연 사이의 균형이 링크를 일정하게 비지(busy)로 유지시킨다.
하나의 패킷이 일반적으로 복수의 다운트리 링크를 통하여 전송되고 지역적으로 수신되는 다운트리 확산에 있어서, 흐름 제어는 토큰이 전체 다운트리 링크에서 사용가능하게 되고 CPU 수신 FIFO(204)에 공간이 있을 때까지 패킷의 진행을 방지함으로써 실현된다. 그러나, 이러한 고전적인 접근 방법은, 목적지가 토큰을 지니는 링크 아래에 있고 패킷이 토큰을 지니지 않는 다른 링크에서 대기하고 있을수 있기 때문에, 하나의 원하는 목적지로의 확산을 필터링하는 처리량에 영향을 미칠 수 있다. 따라서, 바람직한 실시예에 있어서, 트리 네트워크는 개별적인 다운트리 링크 상의 흐름 제어를 결합 해제하는 "적극적인(aggressive)" 확산을 수행한다. 도 3을 참조하면, 패킷은 다운트리 링트와 가상 네트워크에 충분한 저장 공간이 있게 되면 바로 적당한 다운트리 링크와 가상 네트워크의 인출 FIFO(250)으로 진행한다. 그 후 각 인출 FIFO(250)는 토큰이 사용 가능하게 됨에 따라 개별적으로 그 출력 포트(210b-213b)로 인출된다. 전술한 바와 같이 재전송을 통한 전송 에러 회복을 위하여, 패킷의 개별적인 카피가 각 인출 FIFO(250)에 배치되어야 한다는 것에 주목한다.
바람직한 실시예에 있어서, 본 명세서에서 전체로서 인용하고 본원 출원인과 공유이며, 현재 미국 특허청에 계류중인 특허 출원 제(YOR9-20010211US2(15275))호, "새로운 대량 병렬 수퍼컴퓨터(A Massively Parallel Supercomputer)"에 본원의 도 1-3과, 각 처리 노드(12)이 시스템-온-칩 처리에 기초한 것, 즉 라우팅 기능을 포함하는 계산 노드의 모든 기능이 하나의 ASIC에 집적될 수 있고, 노드 크기와 전력을 현저하게 감소시키는 것에 대하여 개시하고 있다. 이러한 수퍼컴퓨터 구조는 또한 노드 밀도를 증가시키고 또한 기계의 전체 비용/성능을 감산시키도록 조절된다. 각 노드는 컴퓨터 ASIC에 그러한 많은 기능을 일체화시킨 PowerPC 440 내장 처리 코어, 부동 소수점 코어, 내장 DRAM, 집적 외부 DDR 메모리 제어기, 메시지 프로세서, 이더넷 어댑터 및 네트워크 라우터가 바람직하지만 그것에 제한되는 것은 아니다. 한가지 실시예에서, 동일한 컴퓨터 ASIC 노드가 파일서버 통신 및 I/O연산을 처리하기 위하여 예컨대 64 노드와 같은 컴퓨트 노드의 서브세트에 결합된 I/O 노드로 사용될 수 있다. 즉, I/O 노드는 컴퓨트 노드와 매우 유사하다. 그러나. 외부 메모리 구성이라는 점에서만 다를 수 있다. 예컨대 기가비트 이더넷과 같은 외부 네트워크 인터페이스의 부가라는 점에서. 본 명세서에서 사용된 트리 네트워크 라우터가 바람직한 실시예의 집적 장치에 독립 장치가 부가된 것으로 기능할 수 있음을 이해하여야 한다.
본 발명은 특정한 실시예에 대하여 설명하고 있으나, 당업자라면 첨부하는 청구항에 기재된 발명의 기술적 사상의 범위를 벗어나지 않는 범위에서 얼마든지 다른 변형이 가능하다.
본 발명에 따르면, 전역 감산 계산, 데이터 분산, 동기화 및 한정된 자원의 공유와 같은 전역 산술 연산을 요구하는 연산을 포함하여 효율적이고 신뢰성 있는, 많은 종류의 연산에 대하여 최적화된 처리 노드의 고유한 상호 결합을 포함하는 초대형 수퍼컴퓨터 구조가 제공된다.

Claims (33)

  1. 복수의 처리 노드를 포함하는 계산 구조에서 병렬 알고리즘 연산이 실행되는 동안 집합적인 감산(reduction), 확산(broadcast) 및 포인트-투-포인트 메시지 통과를 수행하는 장치에 있어서,
    하나 이상의 가상 트리 네트워크를 포함하는 트리 구성에서 상기 노드들을 상호 결합시키는 라우팅 장치를 포함하고, 특정한 가상 트리 네트워크의 뿌리 노드로부터 잎 노드로 다운스트림되는 전역 확산 연산과, 상기 가상 트리의 잎 노드로부터 뿌리 노드로 업스트림되는 전역 감산 연산과, 필요시 상기 가상 트리의 임의의 노드로부터 상기 가상 트리의 뿌리 노드로 통과하는 포인트-투-포인트 메시지 중 하나 이상의 전역 처리 연산을 활성화시키는 전역 트리 네트워크를 포함하고,
    상기 전역 트리 네트워크 및 라우팅 장치 구성은 상기 계산 구조에서 저-지연 통신을 최적으로 제공하는 것인 장치.
  2. 제1항에 있어서, 상기 계산 구조는 제1 네트워크를 형성하기 위하여 상호 결합된 복수의 처리 노드를 포함하고, 상기 하나 이상의 가상 트리 네트워크와 상기 제1 네트워크는 병렬 알고리즘 처리 성능을 최적화하기 위하여 병렬 알고리즘의 대역폭 및 지연 요건에 따라 공동으로 또는 독립적으로 사용되는 것인 장치.
  3. 제1항에 있어서, 가상 트리 네트워크의 뿌리 노드는 외부 시스템에 대한 고속 접속을 포함하는 I/O 노드로 기능하고, 상기 I/O 노드는 상기 가상 트리 네트워크에 대하여 상기 제1 네트워크에서 수행되는 처리와는 독립적인 I/O 연산을 수행하는 것인 장치.
  4. 제3항에 있어서, 상기 각 라우터는 가상 트리의 다른 노드로부터 패킷을 수신하기 위한 입력 장치와, 상기 트리의 다른 노드로 패킷을 전달하기 위한 출력 장치와, 상기 트리로 패킷을 주입하기 위한 로컬 주입 장치와, 상기 트리로부터 패킷을 제거하기 위한 로컬 수신 장치를 포함하고, 상기 장치는 상기 라우터를 상기 가상 트리에 참여시키거나 참여시키지 않도록 구성하는 수단을 더 포함하는 것인 장치.
  5. 제4항에 있어서, 상기 라우터를 구성하기 위한 수단은 감산 연산을 위하여 가상 트리의 뿌리로서 상기 노드의 참여를 더 특정하는 것인 장치.
  6. 제5항에 있어서, 상기 라우터를 구성하기 위한 수단은 감산 연산 동안 피연산자를 제공하기 위하여 입력 장치와 로컬 주입 장치의 참여를 더 특정하는 것인 장치.
  7. 제6항에 있어서, 상기 라우터는 감산 연산에 기여한다면 입력 장치와 로컬 주입 장치를 기여시킴으로써 수신된 패킷 콘탠츠 상에 특정한 감산 연산을 계산하기 위한 수단과, 상기 출력 장치를 통하여 노드의 업스트림 부 노드에 계산 결과를 전송하기 위한 수단을 더 포함하는 것인 장치.
  8. 제7항에 있어서, 상기 가상 트리 네트워크는 상기 뿌리 노드에서 단일한 패킷으로 완성되기 위하여 상기 가상 트리에서 반복적으로 전역 조합 결과가 계산되도록 프로그램되는 것인 장치.
  9. 제8항에 있어서, 상기 가상 트리 상에서의 감산에 피연산자를 기여시키도록 구성된 모든 참여 자들에게 각각 상기 뿌리에서 단일하게 조합된 패킷을 확산하기 위한 수단을 더 포함하는 것인 장치.
  10. 제3항에 있어서, 상기 고속 접속을 통하여 외부 시스템으로 전달될 예정인 포인트-투-포인트 패킷을 가상 트리의 뿌리에 있는 I/O 노드로 전송하기 위하여 계산 노드를 활성화시키는 메카니즘을 더 포함하는 것인 장치.
  11. 제9항에 있어서, 노드 주소와 가상 트리에의 참여를 기초로, 가상 트리의 노드에서 확산 패킷의 수신을 제어하기 위한 필터 메카니즘을 더 포함하는 것인 장치.
  12. 제11항에 있어서, 각 노드는 주소를 포함하고, 상기 시스템은 상기 각 가상트리의 노드들 사이에서 포인트-투-포인트 메시징을 활성화시키기 위한 프로그램 가능한 수단을 더 포함하고, 상기 주소는 모든 노드 또는 노드의 서브세트와 직접 통신하기 위하여 외부 호스트 시스템을 활성화시키는 것인 장치.
  13. 제9항에 있어서, 상기 로컬 수신 장치에 의해서 수신된 패킷의 콘탠츠에 기초하여 처리 노드의 프로세서에 하드웨어 인터럽트를 일으키는 메카니즘을 더 포함하는 것인 장치.
  14. 제9항에 있어서, 각 가상 트리 상에서 불필요한 다운트리 트래픽을 독립적으로 블로킹하기 위한 메카니즘을 더 포함하는 것인 장치.
  15. 제11항에 있어서, 패킷 통신에서 라우터들 사이의 흐름 제어를 제공하기 위한 메카니즘을 더 포함하는 것인 장치.
  16. 제15항에 있어서, 적극적인(aggressive) 확산을 수행하기 위하여 상기 흐름 제어 메카니즘으로부터 결합 해제된 개별적인 다운스트림 링크 상에 패킷 확산을 활성화시키는 수단을 더 포함하는 것인 장치.
  17. 제2항에 있어서, 상기 제1 네트워크는 n 차원 토러스를 포함하고, 여기에서 n은 1 이상인 것인 장치.
  18. 복수의 상호 결합된 처리 노드를 포함하는 컴퓨터 구조에서 병렬 알고리즘 연산이 실행되는 동안 집합적인 감산, 확산 및 포인트-투-포인트 메시지 통과를 수행하는 방법에 있어서,
    하나 이상의 가상 서브-트리 구조를 포함하는 트리 구조의 전역 트리 네트워크 구조에 따라 링크를 통하여 상기 노드를 상호 결합시키기 위한 라우터 장치를 제공하는 단계와,
    상기 가상 트리 구조의 노드에서, 특정한 가상 서브-트리 네트워크의 뿌리 노드로부터 잎 노드로 다운스트림되는 전역 확산 연산과, 상기 가상 트리의 잎 노드로부터 뿌리 노드로 업스트림되는 전역 감산 연산과, 상기 병렬 알고리즘 연산의 수행에 필요하다면 상기 가상 트리의 임의의 노드로부터 상기 가상 트리의 뿌리 노드로 포인트-투-포인트 메시지를 통과하는 연산 중 하나 이상을 포함하는 저-지연 전역 처리 연산의 수행을 활성화시키는 단계
    를 포함하는 것인 방법.
  19. 제18항에 있어서, 상기 계산 구조는 제1 네트워크를 형성하기 위하여 상호 결합된 복수의 처리 노드를 포함하고, 병렬 알고리즘 처리 성능을 최적화하기 위하여 병렬 알고리즘의 대역폭 및 지연 요건에 따라 상기 전역 트리 네트워크 및 제1 네트워크를 공동으로 또는 독립적으로 사용하는 단계를 더 포함하는 것인 방법.
  20. 제18항에 있어서, 각 가상 트리 네트워크의 뿌리 노드는 외부 시스템에 대한 고속 접속을 포함하는 I/O 노드로 기능하고, 상기 가상 트리 네트워크에 대하여 상기 제1 네트워크에서 수행되는 연산과는 독립적으로 I/O 연산을 수행하는 단계를 포함하는 것인 방법.
  21. 제20항에 있어서, 상기 각 라우터는 가상 트리의 다른 노드로부터 패킷을 수신하기 위한 입력 장치와, 상기 트리의 다른 노드로 패킷을 전송하기 위한 출력 장치와, 상기 트리로 패킷을 주입하기 위한 로컬 주입 장치와, 상기 트리로부터 패킷을 제거하기 위한 로컬 수신 장치를 포함하고, 상기 라우터를 상기 가상 트리에 참여시키거나 참여시키지 않도록 구성하는 단계를 더 포함하는 것인 방법.
  22. 제20항에 있어서, 상기 라우터 구성 단계는 감산 연산 수행시 가상 트리의 뿌리로서 노드의 참여를 특정하는 단계를 더 포함하는 것인 방법.
  23. 제22항에 있어서, 상기 라우터 구성 단계는
    감산 연산 동안 피연산자를 주입하기 위하여 상기 라우터에 결합된 상기 처리 노드의 참여를 특정하는 단계와,
    감산 연산 동안 피연산자를 주입하기 위하여 상기 라우터에 결합된 상기 처리 노드의 참여를 특정하는 단계
    중 하나 이상을 더 포함하는 것인 방법.
  24. 제23항에 있어서, 기여 자 노드 및 상기 처리 노드로부터 수신된 패킷 콘탠츠 상에 특정한 감산 연산을 계산하도록 라우터를 구성하는 단계와, 출력 장치를 통하여 노드의 업스트림 부 노드에 계산 결과를 전송하는 단계를 더 포함하는 것인 방법.
  25. 제24항에 있어서, 상기 뿌리 노드에서 단일한 패킷으로 완성하기 위하여 상기 가상 트리에서 반복적으로 전역 조합 결과를 계산하는 단계를 더 포함하는 것인 방법.
  26. 제25항에 있어서, 상기 가상 트리 상에서의 감산에 피연산자를 기여시키도록 구성된 모든 참여 자들에게 각각 상기 뿌리에서 단일하게 조합된 패킷을 확산하는 단계를 더 포함하는 것인 방법.
  27. 제20항에 있어서, 상기 고속 접속을 통하여 외부 시스템으로 전달될 예정인 포인트-투-포인트 패킷을 가상 트리의 뿌리에 있는 I/O 노드에 전송하기 위하여 계산 노드를 활성화시키는 단계를 더 포함하는 것인 방법.
  28. 제26항에 있어서, 노드 주소와 가상 트리에의 참여를 기초로, 가상 트리의 노드에서 확산 패킷의 수신을 제어하는 단계를 더 포함하는 것인 방법.
  29. 제28항에 있어서, 각 노드는 주소를 포함하고, 상기 각 가상 트리의 노드들 사이에서 포인트-투-포인트 메시징을 활성화시키고 서브-트리 메시징을 위한 단계를 더 포함하고, 상기 주소는 노드의 모든 노드 또는 노드의 서브세트와 직접 통신하기 위하여 외부 호스트 시스템을 활성화시키는 것인 방법.
  30. 제26항에 있어서, 상기 로컬 수신 장치에 의해서 수신된 패킷의 콘탠츠에 기초하여 처리 노드의 프로세서에 하드웨어 인터럽트를 일으키는 단계를 더 포함하는 것인 방법.
  31. 제26항에 있어서, 각 가상 트리 상에서 불필요한 다운트리 트래픽을 독립적으로 블로킹하는 단계를 더 포함하는 것인 방법.
  32. 제28항에 있어서, 패킷 통신에서 라우터들 사이의 흐름 제어를 제공하는 단계를 더 포함하는 것인 방법.
  33. 제32항에 있어서, 상기 흐름 제어 메카니즘을 결합 해제시킴으로써 개별적인 다운스트림 링크 상에 패킷의 적극적인(aggressive) 확산을 활성화시키는 단계를 더 포함하는 것인 방법.
KR1020037010998A 2001-02-24 2002-02-25 계산 구조에 대한 전역 트리 네트워크 KR100553143B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US27112401P 2001-02-24 2001-02-24
US60/271,124 2001-02-24
PCT/US2002/005586 WO2002069168A1 (en) 2001-02-24 2002-02-25 A global tree network for computing structures

Publications (2)

Publication Number Publication Date
KR20040002870A true KR20040002870A (ko) 2004-01-07
KR100553143B1 KR100553143B1 (ko) 2006-02-22

Family

ID=68499836

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037010998A KR100553143B1 (ko) 2001-02-24 2002-02-25 계산 구조에 대한 전역 트리 네트워크

Country Status (8)

Country Link
US (1) US7650434B2 (ko)
EP (1) EP1381959A4 (ko)
JP (1) JP4127791B2 (ko)
KR (1) KR100553143B1 (ko)
CN (1) CN100476785C (ko)
CA (1) CA2437661A1 (ko)
IL (1) IL157512A0 (ko)
WO (1) WO2002069168A1 (ko)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060259607A1 (en) * 2001-09-13 2006-11-16 Network Foundation Technologies, Llc System and method for distributing data over a computer network
WO2006020298A2 (en) * 2004-07-19 2006-02-23 Blumrich Matthias A Collective network for computer structures
US8626957B2 (en) 2003-08-22 2014-01-07 International Business Machines Corporation Collective network for computer structures
US7478156B1 (en) * 2003-09-25 2009-01-13 Juniper Networks, Inc. Network traffic monitoring and reporting using heap-ordered packet flow representation
CA2577129C (en) * 2004-07-09 2016-07-05 Network Foundation Technologies, Llc Systems for distributing data over a computer network and methods for arranging nodes for distribution of data over a computer network
US8117288B2 (en) * 2004-10-12 2012-02-14 International Business Machines Corporation Optimizing layout of an application on a massively parallel supercomputer
US20060227774A1 (en) * 2005-04-06 2006-10-12 International Business Machines Corporation Collective network routing
US7472079B2 (en) * 2005-01-12 2008-12-30 International Business Machines Corporation Computer implemented method for automatically controlling selection of a grid provider for a grid job
US8516444B2 (en) * 2006-02-23 2013-08-20 International Business Machines Corporation Debugging a high performance computing program
JP4704252B2 (ja) 2006-03-14 2011-06-15 富士通株式会社 ネットワークシステムのブロードキャスト処理方法及びネットワークシステム
US7697443B2 (en) * 2006-04-13 2010-04-13 International Business Machines Corporation Locating hardware faults in a parallel computer
US20070242611A1 (en) * 2006-04-13 2007-10-18 Archer Charles J Computer Hardware Fault Diagnosis
US7796527B2 (en) * 2006-04-13 2010-09-14 International Business Machines Corporation Computer hardware fault administration
CN100451972C (zh) * 2006-09-26 2009-01-14 杭州华三通信技术有限公司 提高多核系统访问临界资源速度的方法和装置
US7953684B2 (en) * 2007-01-31 2011-05-31 International Business Machines Corporation Method and system for optimal parallel computing performance
US9330230B2 (en) * 2007-04-19 2016-05-03 International Business Machines Corporation Validating a cabling topology in a distributed computing system
CN101311917B (zh) * 2007-05-24 2011-04-06 中国科学院过程工程研究所 一种面向粒子模型的多层直连集群并行计算系统
EP2174442A4 (en) * 2007-07-20 2012-03-07 Blue Danube Labs Inc METHOD AND SYSTEM FOR MULTI-POINT SIGNAL GENERATION WITH PHASE SYNCHRONIZED LOCAL BEARINGS
US8296457B2 (en) * 2007-08-02 2012-10-23 International Business Machines Corporation Providing nearest neighbor point-to-point communications among compute nodes of an operational group in a global combining network of a parallel computer
US7831866B2 (en) * 2007-08-02 2010-11-09 International Business Machines Corporation Link failure detection in a parallel computer
US8423663B2 (en) * 2007-08-06 2013-04-16 International Business Machines Corporation Providing full point-to-point communications among compute nodes of an operational group in a global combining network of a parallel computer
JP2009104300A (ja) * 2007-10-22 2009-05-14 Denso Corp データ処理装置及びプログラム
US8381220B2 (en) * 2007-10-31 2013-02-19 International Business Machines Corporation Job scheduling and distribution on a partitioned compute tree based on job priority and network utilization
GB0803238D0 (en) * 2008-02-22 2008-04-02 Isis Innovation Parallel processing
US7958184B2 (en) * 2008-03-04 2011-06-07 International Business Machines Corporation Network virtualization in a multi-node system with multiple networks
US8108467B2 (en) * 2008-06-26 2012-01-31 International Business Machines Corporation Load balanced data processing performed on an application message transmitted between compute nodes of a parallel computer
JP5077104B2 (ja) * 2008-06-30 2012-11-21 富士通株式会社 ネットワーク障害検知プログラム、システム、及び方法
US8194678B2 (en) * 2008-07-21 2012-06-05 International Business Machines Corporation Providing point to point communications among compute nodes in a global combining network of a parallel computer
US8121816B2 (en) * 2008-08-13 2012-02-21 Verizon Patent And Licensing Inc. Identifying causes of service level agreement performance violations
US8387064B2 (en) 2008-10-09 2013-02-26 International Business Machines Corporation Balancing a data processing load among a plurality of compute nodes in a parallel computer
JP5540609B2 (ja) 2009-09-01 2014-07-02 富士通株式会社 並列計算システムおよび通信制御プログラム
US9110860B2 (en) * 2009-11-11 2015-08-18 Mellanox Technologies Tlv Ltd. Topology-aware fabric-based offloading of collective functions
US8103910B2 (en) * 2009-11-13 2012-01-24 International Business Machines Corporation Local rollback for fault-tolerance in parallel computing systems
US8571834B2 (en) * 2010-01-08 2013-10-29 International Business Machines Corporation Opcode counting for performance measurement
US8811417B2 (en) * 2009-11-15 2014-08-19 Mellanox Technologies Ltd. Cross-channel network operation offloading for collective operations
US8904118B2 (en) 2011-01-07 2014-12-02 International Business Machines Corporation Mechanisms for efficient intra-die/intra-chip collective messaging
US20120179896A1 (en) 2011-01-10 2012-07-12 International Business Machines Corporation Method and apparatus for a hierarchical synchronization barrier in a multi-node system
US9195550B2 (en) 2011-02-03 2015-11-24 International Business Machines Corporation Method for guaranteeing program correctness using fine-grained hardware speculative execution
JP5696779B2 (ja) 2011-03-22 2015-04-08 富士通株式会社 並列計算機システム及び並列計算機システムの制御方法
US8898289B1 (en) * 2011-03-22 2014-11-25 Netapp, Inc. Distributed event processing method and architecture
CN102141975B (zh) * 2011-04-01 2013-10-09 华为技术有限公司 计算机系统
EP2573643B1 (en) 2011-07-26 2015-09-23 Huawei Technologies Co., Ltd. Computer system and clock configuration method thereof
US20130218795A1 (en) * 2012-02-20 2013-08-22 Michel Rienzo System for creating an entertainment network conglomerate via a global computer network and methods thereof
US9665531B2 (en) * 2012-06-13 2017-05-30 International Business Machines Corporation Performing synchronized collective operations over multiple process groups
US9160607B1 (en) 2012-11-09 2015-10-13 Cray Inc. Method and apparatus for deadlock avoidance
WO2014151773A1 (en) * 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a line speed interconnect structure
US9405724B2 (en) * 2013-06-28 2016-08-02 Intel Corporation Reconfigurable apparatus for hierarchical collective networks with bypass mode
US20150091909A1 (en) * 2013-09-30 2015-04-02 Alcatel Lucent Systems And Methods For Distance Approximation In Graphs
US9495204B2 (en) * 2014-01-06 2016-11-15 International Business Machines Corporation Constructing a logical tree topology in a parallel computer
US10360050B2 (en) * 2014-01-17 2019-07-23 International Business Machines Corporation Simulation of high performance computing (HPC) application environment using virtual nodes
US9553784B2 (en) 2014-07-29 2017-01-24 International Business Machines Corporation Selection of message passing collectives in presence of system noise
CN104184828B (zh) * 2014-09-09 2018-05-11 清华大学 混合网络系统、通信方法和网络节点
US10284383B2 (en) 2015-08-31 2019-05-07 Mellanox Technologies, Ltd. Aggregation protocol
US10521283B2 (en) 2016-03-07 2019-12-31 Mellanox Technologies, Ltd. In-node aggregation and disaggregation of MPI alltoall and alltoallv collectives
US10425358B2 (en) * 2016-09-29 2019-09-24 International Business Machines Corporation Network switch architecture supporting multiple simultaneous collective operations
CN107835175B (zh) * 2017-11-09 2020-09-22 深圳市云盾科技有限公司 采用平衡二叉树算法的网络连接跟踪方法
US11277455B2 (en) 2018-06-07 2022-03-15 Mellanox Technologies, Ltd. Streaming system
CN111475250B (zh) * 2019-01-24 2023-05-26 阿里巴巴集团控股有限公司 一种云环境下的网络优化方法和装置
CN109857810B (zh) * 2019-02-02 2023-06-23 立旃(上海)科技有限公司 基于区块链的数据同步装置及方法
US11625393B2 (en) 2019-02-19 2023-04-11 Mellanox Technologies, Ltd. High performance computing system
EP3699770A1 (en) 2019-02-25 2020-08-26 Mellanox Technologies TLV Ltd. Collective communication system and methods
GB2586277B (en) * 2019-08-16 2022-11-23 Siemens Ind Software Inc Broadcasting event messages in a system on chip
CN110690991B (zh) * 2019-09-10 2021-03-19 无锡江南计算技术研究所 一种基于逻辑树的无阻塞网络归约计算装置、方法
US11750699B2 (en) 2020-01-15 2023-09-05 Mellanox Technologies, Ltd. Small message aggregation
US11252027B2 (en) * 2020-01-23 2022-02-15 Mellanox Technologies, Ltd. Network element supporting flexible data reduction operations
CN111770173B (zh) * 2020-06-29 2022-09-06 中国人民解放军国防科技大学 一种基于网络控制器的归约方法及系统
US11876885B2 (en) 2020-07-02 2024-01-16 Mellanox Technologies, Ltd. Clock queue with arming and/or self-arming features
US11556378B2 (en) 2020-12-14 2023-01-17 Mellanox Technologies, Ltd. Offloading execution of a multi-task parameter-dependent operation to a network device
JP2022108373A (ja) * 2021-01-13 2022-07-26 富士通株式会社 情報処理装置、情報処理方法、およびシステム
US11922237B1 (en) 2022-09-12 2024-03-05 Mellanox Technologies, Ltd. Single-step collective operations

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59140694A (ja) * 1983-01-31 1984-08-13 Sharp Corp ダイナミツクramのリフレツシユ方法
US4843540A (en) 1986-09-02 1989-06-27 The Trustees Of Columbia University In The City Of New York Parallel processing method
US4860201A (en) * 1986-09-02 1989-08-22 The Trustees Of Columbia University In The City Of New York Binary tree parallel processor
US4845744A (en) * 1986-10-16 1989-07-04 American Telephone And Telegraph Company, At&T Bell Laboratories Method of overlaying virtual tree networks onto a message passing parallel processing network
US5191578A (en) * 1990-06-14 1993-03-02 Bell Communications Research, Inc. Packet parallel interconnection network
US5353412A (en) * 1990-10-03 1994-10-04 Thinking Machines Corporation Partition control circuit for separately controlling message sending of nodes of tree-shaped routing network to divide the network into a number of partitions
US5224100A (en) * 1991-05-09 1993-06-29 David Sarnoff Research Center, Inc. Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors
US5367692A (en) * 1991-05-30 1994-11-22 Thinking Machines Corporation Parallel computer system including efficient arrangement for performing communications among processing node to effect an array transposition operation
US5379415A (en) * 1992-09-29 1995-01-03 Zitel Corporation Fault tolerant memory system
US5802278A (en) * 1995-05-10 1998-09-01 3Com Corporation Bridge/router architecture for high performance scalable networking
US5721921A (en) * 1995-05-25 1998-02-24 Cray Research, Inc. Barrier and eureka synchronization architecture for multiprocessors
US5923593A (en) * 1996-12-17 1999-07-13 Monolithic Systems, Inc. Multi-port DRAM cell and memory system using same
KR100272108B1 (ko) * 1998-10-13 2000-11-15 윤종용 Ieee 1394 가상 네트웍 생성방법 및 그 콘트롤러
JP3708801B2 (ja) * 2000-06-16 2005-10-19 松下電器産業株式会社 半導体記憶装置

Also Published As

Publication number Publication date
US7650434B2 (en) 2010-01-19
JP4127791B2 (ja) 2008-07-30
CN1493040A (zh) 2004-04-28
CN100476785C (zh) 2009-04-08
IL157512A0 (en) 2004-03-28
KR100553143B1 (ko) 2006-02-22
US20040078493A1 (en) 2004-04-22
EP1381959A1 (en) 2004-01-21
CA2437661A1 (en) 2002-09-06
JP2004536372A (ja) 2004-12-02
EP1381959A4 (en) 2008-10-29
WO2002069168A1 (en) 2002-09-06

Similar Documents

Publication Publication Date Title
KR100553143B1 (ko) 계산 구조에 대한 전역 트리 네트워크
US8001280B2 (en) Collective network for computer structures
US10069599B2 (en) Collective network for computer structures
JP6856612B2 (ja) 多層相互接続による分散型プロセッサを有する処理システム
JP4478390B2 (ja) クラス・ネットワーク経路指定
KR100586768B1 (ko) 글로벌 인터럽트 및 배리어 네트워크
US20040114609A1 (en) Interconnection system
WO2007124514A2 (en) Method and apparatus for a scalable hybrid architecture for polyvertexic extensible networks
Ravindran et al. Issues in the Design of Direct Multiprocessor Networks
Moadeli Quarc: an architecture for efficient on-chip communication
Liu et al. Communication in a hybrid multi-layer MIMD system for computer vision

Legal Events

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

Payment date: 20110110

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee