KR20140088069A - 하이퍼큐브 네트워크에서 데이터 전송을 최적화하기 - Google Patents

하이퍼큐브 네트워크에서 데이터 전송을 최적화하기 Download PDF

Info

Publication number
KR20140088069A
KR20140088069A KR1020147001451A KR20147001451A KR20140088069A KR 20140088069 A KR20140088069 A KR 20140088069A KR 1020147001451 A KR1020147001451 A KR 1020147001451A KR 20147001451 A KR20147001451 A KR 20147001451A KR 20140088069 A KR20140088069 A KR 20140088069A
Authority
KR
South Korea
Prior art keywords
data
processed
processing devices
addresses
digit
Prior art date
Application number
KR1020147001451A
Other languages
English (en)
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 KR20140088069A publication Critical patent/KR20140088069A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/06Deflection routing, e.g. hot-potato 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/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/14Routing performance; Theoretical aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

프로세싱 디바이스들의 하이퍼큐브 네트워크를 동작하는 방법은 복수의 프로세싱 디바이스들이 단일 프로세싱 디바이스에서 처리될 데이터를 저장하는 것을 결정하는 단계, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들을 획득하는 단계, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들 각 디짓에 대해 최대 공통의 수를 결정하는 단계, 각 디짓에 대해 상기 결정된 최대 공통의 수를 포함하는 새로운 어드레스를 생성하는 단계, 및 상기 처리될 데이터를 상기 생성된 새로운 어드레스를 갖는 프로세싱 디바이스로 전송하는 단계를 포함한다.

Description

하이퍼큐브 네트워크에서 데이터 전송을 최적화하기{OPTIMISING DATA TRANSMISSION IN A HYPERCUBE NETWORK}
본 발명은 프로세싱 디바이스들의 하이퍼큐브 (hypercube) 네트워크를 동작하는 방법에 관련된 것이다. 한 실시예에서, 본 발명은 데이터의 처리를 위한 중앙 위치 (a central location)를 계산함으로써 하이퍼큐브 네트워크내에서 데이터 전송을 최적화하기 위한 메카니즘을 제공한다.
많은 컴퓨터 환경에서 다수 프로세싱 디바이스들 (multiple processing devices)은 네트워크내에서 함께 접속된다. 예를 들면, 고도로 복잡한 (highly complex) 소프트웨어 제품들은 함께 접속되는 다수 물리적 기계들에 걸쳐 나누어져서 수행될 수 있다 (may be split). 유사하게, 인터넷상에서 수행되는 작업들은 매우 종종 네트워크로서 함께 접속되는 다수 서버들에 의하여 수행된다. 전술한 다수 프로세싱 디바이스들의 다른 예가 수퍼컴퓨터들 (supercomputers)과 같은 개별 기계들내에 있는데, 이것은 단일 기계내에서 다수 프로세싱 디바이스들을 제공함을 통하여 엄청난 프로세싱 능력을 제공한다.
많은 프로세싱 디바이스들이 다수 위치들로부터 데이터를 요청하는 연산 (computation)에 참여할 때, 상기 프로세싱 디바이스들은 특정량의 데이터 (a certain amount of data)를 단일 포인트 (single point)로 보낼 필요가 있는데, 이는 상기 연산을 평가할 수 있기 위해서이다. 한 예가 분산 데이터베이스 (distributed database)에서 결합 질의 (join query)이며, 이 예에서 두 테이블로부터의 데이터는 상기 결합 질의를 평가해야 하기 위해 공동의 노드 (a common node)로 통합되어야 (be consolidated) 한다. 데이터는 네트워크내 다른 프로세싱 디바이스들에서 다른 볼륨으로 (in differing) 제공될 수 있다.
일부 컴퓨터 네트워크들, 특히 대량 병렬 (massively parallel) 수퍼컴퓨터들은 하이퍼큐브 토폴로지 (topology)로 구성된다. 이 토폴로지에서, 각 프로세싱 디바이스는 적은 수의 이웃들을 갖고 그 이웃들에 접속된다. 한 프로세싱 디바이스로부터 알려진 목적지 (destination)로 데이터를 전송하려면, 데이터는, 하이퍼큐브 네트워크내 프로세싱 디바이스들의 위치를 나타내는 (signify), 프로세싱 디바이스들의 논리적 어드레스들에 따라 연속된 이웃들사이 (between a succession of neighbours)를 지나서, 목적지에 도달하게 된다. 좀 더 많은 정보를 얻으려면, 예를 들어, http://en.wikipedia.Org/wiki/MIMD#Hypercube_interconnection_network을 참조하라.
데이터가 다수 프로세싱 디바이스들로부터 처리를 위해 단일 위치로 전송될 필요가 있을 때, 데이터량이 많거나 그리고/또는 네트워크내 프로세싱 디바이스들사이의 대역폭 (bandwidth)이 좁다면, 모든 데이터를 특정 프로세싱 디바이스로 전송하도록 선택하여 전송될 데이터의 총량을 최소화하고, 그리함으로써 (thereby) 연산 수행에 있어서 최소한의 네트워크 대역폭을 사용하는 것이 바람직하다. 이런 상황에서 전술한 네트워크내 이상적인 프로세싱 디바이스의 위치를 결정하는 방법 및 시스템이 필요하다.
그러므로 종래 기술을 기반으로 개량하고자 하는 것이 본 발명의 목적이다.
본 발명의 제1의 실시는, 프로세싱 디바이스들의 하이퍼큐브 네트워크를 동작하는 방법을 제공하는데, 상기 방법은 복수의 프로세싱 디바이스들이 단일 프로세싱 디바이스에 처리될 데이터를 저장하는 것을 결정하는 단계, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들을 획득하는 단계, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들의 각 디짓 (each digit)에 대해 최대 공통의 수 (the most common number)를 결정하는 단계, 각 디짓에 대해 상기 결정된 최대 공통의 수를 포함하는 새로운 어드레스를 생성하는 단계, 그리고 상기 처리될 데이터를 상기 생성된 새로운 어드레스를 갖는 프로세싱 디바이스로 전송하는 단계를 포함한다.
본 발명의 제2의 실시예는, 프로세싱 디바이스들의 하이퍼큐브 네트워크를 포함하는 시스템을 제공하는데, 상기 시스템은 복수의 프로세싱 디바이스들이 단일 프로세싱 디바이스에 처리될 데이터를 저장하는 것을 결정하고, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들을 획득하고, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들 각 디짓에 대해 최대 공통의 수를 결정하고, 각 디짓에 대해 상기 결정된 최대 공통의 수를 포함하는 새로운 어드레스를 생성하며, 그리고 상기 처리될 데이터를 생성된 새로운 어드레스를 갖는 프로세싱 디바이스로 전송하도록 동작된다.
본 발명의 제3의 실시예는, 프로세싱 디바이스들의 하이퍼큐브 네트워크를 동작하기 위한 컴퓨터 판독가능 매체상의 컴퓨터 프로그램 제품을 제공하는데, 상기 제품은 복수의 프로세싱 디바이스들이 단일 프로세싱 디바이스에 처리될 데이터를 저장하는 것을 결정하고, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들을 획득하고, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들 각 디짓에 대해 최대 공통의 수를 결정하고, 각 디짓에 대해 상기 결정된 최대 공통의 수를 포함하는 새로운 어드레스를 생성하며, 그리고 상기 처리될 데이터를 생성된 새로운 어드레스를 갖는 프로세싱 디바이스로 전송하기 위한 명령을 포함한다.
그러므로 검색되어야 할 데이터의 분산이 알려지면 하이퍼큐브 네트워크내 프로세싱 디바이스가 네트워크 트래픽의 총량을 최소화하는 결과를 가져오도록 결정하는 메카니즘을 제공하는 것이 가능하다. 본 발명의 잇점은 하이퍼큐브 네트워크에 걸쳐 (across) 데이터-집약적 분산 연산의 스루풋 (throughput of data-intensive distributed computations)을 개량한다는 것이다. 예를 들면, 하나의 단일 위치에서 처리되어야 할 데이터를 저장하는 네개의 디바이스들을 가진 16개의 프로세싱 디바이스들의 네트워크에서, 상기 방법 및 시스템은 상기 16개의 프로세싱 디바이스들중 어떤 것이 네트워크내에서 요구되는 데이터 전송량을 최소화하면서, 그 일을 할 것인지를 결정할 것이다. 선택된 프로세싱 디바이스는 데이터를 저장하는 넷중의 하나이거나 또는 네트워크내 완전히 다른 프로세싱 디바이스일 수 있다.
하이퍼큐브 네트워크를 구성하는 상기 프로세싱 디바이스들은, 예를 들면, 각 개별 프로세서에 메모리가 부착된, 수퍼컴퓨터내에서 개별 프로세서들일 수 있다. 프로세싱 디바이스들은, 예를 들어, 디바이스들의 네트워크를 형성하기 위하여 이더넷 (Ethernet)을 통하여 접속된 표준 데스크탑 컴퓨터들과 같은 기계들일 수 있다. 유사하게, 프로세싱 디바이스들은 지리적으로 흩어져서 (spread) 인터넷과 같은 광대역 네트워크 (wide area network)에 의하여 함께 접속되어 있을 수 있다. 하이퍼큐브 네트워크를 구성하는 프로세싱 디바이스들은 동일할 필요는 없고, 다른 기계들도 네트워크, 예를 들면 서버와 클라이언트 디바이스들의 네트워크로서 함께 접속될 수 있다.
하이퍼큐브 네트워크는 네트워크의 모든 노드들이 동일한 길이의 고유 어드레스를 갖고, 어드레스들에 의하여 결정된 네트워크의 노드들 사이의 접속을 갖고, 오직 한 디짓만큼 다른 어드레스를 갖는 두 노드들이 함께 접속될 수 있도록 하는 네트워크이다. 하이퍼큐브 네트워크를 구성하는 프로세싱 디바이스들의 수는 중요하지 않다 (not material). 이론적으로 수학적 순수 하이퍼큐브 네트워크 (a theoretically mathematically pure hypercube network)에서 네트워크내 노드들 (프로세싱 디바이스들)의 수는 (2N)의 거듭제곱 (a power)이며, 이 때 각 노드는 길이가 N 디짓인 이진수 라벨 (어드레스)을 갖는다. 각 노드는 자신의 어드레스로부터 오직 한 디짓만큼 다른 어드레스를 갖는 노드들에 접속된다. 예를 들어, N이 3이면, 000, 001, 010, 011, 100, 101, 110, 및 111로 라벨이 된 8개의 노드들이 존재한다. 노드 000은 노드들001, 010 및 100등에 접속된다. 그러나 본 발명의 방법 및 시스템의 실제적 실시에 있어서, 네트워크내 프로세싱 디바이스들의 수가 2의 거듭제곱이 아닌 경우에도, 네트워크는 여전히 하이퍼큐브 네트워크로 구성될 수 있는데, 이는 상기 두 어드레스들이 하이퍼큐브 토폴로지 조건들에서 (in hypercube topology terms) “인접하고 (adjacent)” 접속 규칙들이 여전히 지켜질 때, 하나 또는 그 이상의 프로세싱 디바이스들을 두개의 이진수 어드레스들로 라벨함으로써 구성될 수 있다.
데이터의 처리를 수행하기 위한 네트워크내 프로세싱 디바이스의 정확한 위치를 결정하는 방법이 “일반화된 하이퍼큐브들 (generalized hypercubes)”로서 분류될 수 있는 네트워크상에서 사용될 수 있다 (부얀과 아그라왈이 1984년 4월, 컴퓨터상의 IEEE 거래들, 볼륨 C-33, 제 4권, 페이지 323에서 333에서 발표한 “컴퓨터 네트워크를 위한 일반화된 하이퍼큐브 및 하이퍼버스 구조들”에서 좀 더 많은 정보를 참조하라 (see Bhuyan, L.N. and Agrawal, D.P., "Generalized Hypercube and Hyperbus Structures for a Computer Network," IEEE Transactions on Computers, volume C-33, number 4, pages 323 to 333, April 1984 for more information)). 일반화된 하이퍼큐브들은 어드레스 라벨내 디짓들을 이진수 어드레스들에서 사용되는 단지 0 또는 1이 아닌 값들이 되게 함으로써 하이퍼큐브의 표준 개념상에서 확장된다. 예를 들어 모든 네트워크 라벨들은 0, 1 또는 2 디짓들을 취할 수 있는데, 그 결과 00, 01, 02, 10, 11, 12, 20, 21 및 22를 2차원 내트워크를 위한 라벨들의 세트로서 부여할 수 있다. 모든 라우팅은 표준 하이퍼큐브에서와 동일하므로, 상기 라벨들이 하나 오직 한 디짓만큼만 다르다면 노드들은 이웃이 된다 (02는 노드들 12, 22, 00 및 01에 접속될 것이다). 바람직하게도, 상기 방법은 처리될 데이터를 저장하는 복수의 프로세싱 디바이스들 각각에서 처리될 데이터량을 결정하는 단계를 더 포함하고 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들 각 디짓에 대한 최대 공통의 수 (the most common number)를 결정하는 단계는 상기 결정된 데이터의 양에 따라 각 디짓에 대한 최대 공통의 수를 결정하는 것에 가중치를 부여하는 단계 (weighting)를 포함한다. 데이터 처리를 위해 프로세싱 디바이스들중 어떤 것을 사용할 것인 지를 결정하기 위한 방법 및 시스템은 가중치를 부여하지 않는 절차로서도 또는 부여하는 절차로서도 수행될 수 있다. 가중치가 부여된 절차에서, 각각의 프로세싱 디바이스가 전송할 데이터량은 어드레스들에서 최대 공통의 수들을 결정하는데 사용된다. 상기 프로세스에 가중치를 부여하는 것의 잇점은 데이터의 처리를 수행할 프로세싱 디바이스를 선택할 때 네트워크 주변에서 전송될 데이터를 최소화하도록 하는 선택을 할 것이라는 것이다.
이진수 어드레스들을 사용하는 하이퍼큐브 네트워크에서 어드레스들의 각 디짓을 살펴서 0들과 1들을 구별하는데, 이것은 상기 하이퍼큐브 구조를 선택되는 차원 (dimension)에 따라 효과적으로 두개의 절반으로 분리되게 하여 각 절반내 있는 기여하는 노드들의 수가 결정되게 하고, 그 결과 최대 노드들 (the most nodes)을 갖는 절반을 선택하게 한다. 만일 하이퍼큐브가 모든 차원들을 따라 나누어지면 특정 노드는 센터로서 분리된다 (isolated). 가중치가 부여된 예에서, 하이퍼큐브는 어떤 절반이 최대 전체 데이터 (the most total data)를 갖는지 보기 위해 각 차원을 따라 절반으로 나누어지는데, 그 결과 데이터의 “질량의 중심 (centre of mass)”을 효과적으로 찾을 수 있다. 유익하게도, 본 방법은, 처리될 데이터를 저장하는 복수의 프로세싱 디바이스들의 이진수 어드레스들의 각 디짓에 대한 최대 공통의 수가 하나 이상의 결과를 리턴하면, 리턴된 결과들중 단지 하나를 선택하는 단계를 더 포함한다. 가중치가 부여된 형태로 또는 그렇지 않은 형태로 사용되든지 간에, 본 방법은 하나 이상의 어드레스를 리턴할 수 있는데; 그리함으로써 (thereby) 네트워트내에서 하나 이상의 프로세싱 디바이스가 대역폭 소비의 관점에서 같은 비용으로 프로세싱을 수행할 수 있다는 것을 의미한다. 이 경우, 어떤 선택 논리가 다른 프로세싱 디바이스들사이에서 선택될 필요가 있다.
이상적으로는, 만일 처리될 데이터를 저장하는 복수의 프로세싱 디바이스들중 하나의 프로세싱 디바이스가 하나 이상의 어드레스를 부여받게 된다면, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스를 획득하는 단계는, 하나 이상의 어드레스를 부여받은 프로세싱 디바이스에 관하여 (in respect of), 상기 프로세싱 디바이스를 위해 오직 하나의 어드레스만을 획득한다. 하나의 프로세싱 디바이스가 그것에 결합된 하나 이상의 어드레스를 갖는 것을 상상할 수 있다. 이 경우, 절차가 적절히 기능을 발휘하기 위해서는, 이들 어드레스들 중 오직 하나가 다수 디바이스들에 의하여 저장된 데이터의 프로세싱을 수행하기 위하여 최선의 프로세싱 디바이스를 연산하는데 사용될 것이다.
본 발명의 실시예들이 이하에서 첨부된 도면들을 참조하여, 예로서, 기술된다:-
도 1은 하이퍼큐브 네트워크의 개략도 (schematic diagram)이다,
도 2는 하이퍼큐브 네트워크의 더 구체적인 (further) 개략도이다,
도 3은 이진수 어드레스들의 테이블이다,
도 4는 하이퍼큐브 네트워크를 동작하는 방법의 흐름도이다,
도 5는 이진수 어드레스들 및 데이터의 테이블이다, 그리고
도 6은 하이퍼큐브 네트워크의 다른 구체적인 개략도이다.
도 1은 접속된 노드 (12)를 포함하는 하이퍼큐브 네트워크 (10)을 보여준다. n-차원 하이퍼큐브 네트워크는 N이 2의 거듭제곱 (2n)인 N개의 노드들로 구성된다. 상기 네트워크 (10)내 각 노드 (12)는 하나의 노드 어드레스가 할당되는데, 이 어드레스는, 이 예에서는 n 디짓을 갖는 이진수이다. 도 1의 예에서, 세-디짓의 이진수 어드레스들 000, 001, 010, 011, 100, 101, 110 및 111을 갖는 8개의 노드들이 있는 3차원 하이퍼큐브 네트워크가 도시되어 있다. 상기 노드들은 만일 그들의 이진수 어드레스들이 하나 그리고 오직 한 디짓만큼 다르다면 함께 접속된다. 그래서 000으로 라벨된 노드는 001, 010 및 100에 접속된다. 101로 라벨된 노드는 100, 111 및 001등등에 접속된다.
두 노드들간의 최단 경로 (The shortest path)는 목적지 (destination) 노드 어드레스와 이웃 어드레스가 같고, 상기 이진수 어드레스의 특정 디짓에 대해서는, 현재 노드와 다를 때 두 노드들의 어드레스들을 한번에 한 디짓씩 비교해서 이웃 노드로 이동함 (travelling to)으로써 결정된다. 도 1의 예에서, 노드 000에서 101로 이동하는 메시지는, 먼저 노드 100으로 (제1의 디짓이 0에서 1로 변경됨) 그리고 노드 101로 (마지막 디짓이 0에서 1로 변경됨) 이동할 것이다. 이것은 하이퍼큐브 네트워크로서 구성되는 네트워크내 논리적 라우팅을 정의한다.
동일 방법이 좀 더 큰 크기의 모든 하이퍼큐브 네트워크들에도 적용된다. 예를 들어, n이 4이고 네트워크 메시지를 노드 1100으로부터 노드 0111로 전송하려면, 상기 메시지는 노드 1100으로부터 노드 0100으로 (목적지 어드레스의 제1의 디짓이 출발지 (originator) 어드레스에서 변경됨), 그리고 노드 0100으로부터 노드 0110으로 (목적지와 현재 노드의 제2 디짓들은 동일하지만 제3의 디짓들은 다름), 최종적으로 메시지는 노드 0110으로부터 노드 0111 (목적지)로 전송된다. 메시지는 출발지 (source)로부터 목적지에 도달하기 위하여 세 단계를 통과할 필요가 있고 이것은 출발지 및 목적지 어드레스들에서 다른 디짓들의 수를 카운트함으로써 쉽게 결정될 수 있다. 이 예에서 어드레스들 1100 및 0111은 세 디짓들만큼 다르고 그래서 메시지는 이 노드들사이에서 (목적지에) 도달하기 위하여 네트워크내 세 홉들 (three hops)을 이동할 필요가 있다. 두 어드레스들사이의 다른 디짓들의 수를 해밍 거리 (Hamming Distance)라 한다. 동일한 최단 길이의 다수 경로들이 있을 수 있다. 상기 예에서 메시지는 1100에서 1101로 0101로 0111로 또한 이동할 수 있는데, 이 경우도 또한 세 홉들을 사용한다.
도 2는 다양한 프로세싱 디바이스들 (12)로 이루어진 도 1의 하이퍼큐브 네트워크 (10)을 보여준다. 이 예에서, 상기 프로세싱 디바이스들 (12)는 서버들 및 클라이언트들 디바이스들로서, 클라이언트들 디바이스들은 데스크톱 및 랩톱 컴퓨터들로 이루어진다. 상기 프로세싱 디바이스들은 인터넷등 광대역 네트워크와 같은 적절한 네트워크를 통하여 함께 접속된다. 상기 프로세싱 디바이스들은 모두 이용가능한 로컬 스토리지를 가지며 네트워크 주변으로 전송하기 위한 데이터를 저장한다. 상기 네트워크의 토폴로지는 하이퍼큐브 네트워크의 토폴러지이고, 여기서 각각의 프로세싱 디바이스는 하이퍼큐브 네트워크의 접속 토폴로지를 반영하는 고유의 이진수 어드레스를 할당받는다.
일반적으로, 하이퍼큐브 네트워크를 실제적으로 구현하는 데는 도 2에 도시한 8개보다 더 많은 프로세싱 디바이스들을 가질 수 있다. 예를 들어, 하이퍼큐브 네트워크내 함께 접속된 매우 많은 수의 프로세싱 디바이스들을 가진 수퍼컴퓨터들에서, n은 5, 6 또는 함께 접속된 2n 프로세싱 디바이스들을 갖는 더 큰 수일 수 있다. 전술한 네트워크에서, 각각의 프로세싱 디바이스는 n개의 이웃들과 접속되고 논리적 이진수의 부여 (numbering)은 네트워크의 하부 (underlying) 물리적 구조를 나타내는데, 일반적으로, 한 디짓만큼만 다른 이진수 어드레스들을 갖는 프로세싱 디바이스들 (논리적 이웃들역시 그러함)은 그 네트워크내에서 물리적으로 밀접하게 위치할 것이라는 점을 나타낸다.
전술한 대규모 네트워크들에서, 네트워크 주변으로 데이터를 전송하는 것은 중요한 작업이며, 예를 들어 만약 n이 6이면, 두개의 프로세싱 디바이스들은 이론적으로 6개의 프로세싱 디바이스들만큼 떨어져 위치할 수 있다는 것이며, 이들 두개의 디바이스들사이의 데이터 전송은 5개의 다른 프로세싱 디바이스들을 지나갈 것이며, 위에서 논의된 라우팅을 따라 지나갈 것이다. 단일 위치에서 처리를 위해 다수 프로세싱 디바이스들로부터 데이터를 필요로 하는 것은 전술한 시스템들에서 흔한 일이다. 네트워크내에서 모든 프로세싱 디바이스는 상기 처리의 수행이 가능하므로, 상기 작업을 위한 프로세싱 디바이스의 선택은 전체적인 하이퍼큐브 네트워크내에서 대역폭 사용의 관점에서도 매우 중요하다.
하이퍼큐브 네트워크는 다수 노드들로부터 처리를 위해 단일 노드로 데이터가 전송될 필요가 있을 때마다, 네트워크가 노드들 세트의 중심을 결정할 수 있게 동작되도록 구성될 수 있다. 예를 들어, 5차원 하이퍼큐브는 한 세트의 노드들 S를 가질 수 있는데, 이 때 S는, S = (10100, 11111, 00110, 00010, 10000)이 되게 하는, 하이퍼큐브 그래프 노드들의 서브셋의 어드레스들이다. 이 경우에, 상기 세트 S는 5차원 하이퍼큐브로부터 5개 라벨들의 이진수 어드레스들을 포함한다.
네트워크는 S내 노드들의 이진수 어드레스들 각각의 디짓들을 분석하여 얼마나 많은 어드레스들이 각 디짓에 대하여 “1”을 갖고 있으며 얼마나 많은 어드레스들이 “0”을 갖고 있는지를 결정한다. 이 예에서, 그들의 제1의 디짓에서, 두개의 어드레스들은 "0"을 그리고 세개의 어드레스들은 "1"을 갖는다. 그들의 제2의 디짓에서, 네개의 어드레스들은 "0"을 그리고 하나의 어드레스는 "1"등등을 갖는다. 이것은 다음과 같이 표시될 수 있다: 디짓카운트(0) = (2,4,2,2,4) 그리고 디짓카운트(1) = (3,1,3,3,1). 각 디짓에 대해서 차례로, 어떤 디짓 카운트가 최고값 (the highest)인지 결정되며, 노드 C의 어드레스는 최고 카운트를 갖는 디짓의 값에 다음과 같이 세트된다: 최고디짓카운트 (HighestDigitCount) = (1,0,1,1,0) (제1의 디짓에서, 디짓카운트(1) > 디짓 카운트(0), 제2의 디짓에서, 디짓카운트(0) > 디짓 카운트(1) 등.)이고 그리하여 C = 10110이 된다.
어드레스들이 반드시 이진수 어드레스들일 필요가 없는, 좀 더 일반화된 하이퍼큐브 스킴 (scheme)에서, 데이터 전송을 감소시키기 위해 중앙 처리 디바이스를 연산하는 방법은, 디짓 카운트들의 수가 증가된 각 디짓에 대해서만, 동일하다. 예를 들어, 0, 1 및 2의 디짓들을 갖는 네트워크 어드레스들을 포함하는 좀 더 일반화된 하이퍼큐브 네트워크에서는, 디짓카운트(0), 디짓카운트(1) 및 디짓카운트(2)의 디짓 카운트 3세트의 카운트 업 (count up)이 있고 최고 디짓 카운트를 갖는 차원이, 어드레스내 각 위치에 대해, 중앙 노드의 위치로서 선택된다.
도 3은 이진수 어드레스들을 사용하는 시스템에서, 연산 (calculation)을 도시한다. 이진수 어드레스들 (14)의 세트 S는 노드 C의 새로운 이진수 어드레스 (16)을 생성하기 위하여 사용된다. 어드레스로서 C를 갖는 노드는 세트 S의 멤버들과 관련있는, 중앙 노드이다. 이 노드는 노드들의 세트 S로부터 최소 전체 거리 (the minimum total distance)를 갖는다. 노드 C로부터 S내 노드들까지의 전체 거리는 다음과 같이 어드레스들내 각 디짓에 대한 최저 디짓 카운트(the lowest digit count)를 합함으로써 (by summing) 결정될 수 있다 : 디짓카운트(0) = (2,4,2,2,4), 디짓카운트(1) = (3,1,3,3,1), 최저디짓카운트 (LowestDigitCount) = (2,1,2,2,1) 그리고 전체최저디짓카운트 (TotalLowestDigitCount) = 8 (2+1+2+2+1)
이 방법은 전체 해밍 거리에 대한 각 디짓의 기여를 차례로 고려함으로써 입증될 수 있다. 만약 노드 C가 제1의 디짓으로 0을 갖는다면, 그들의 “1” 차원으로부터 데이터를 전송할 필요가 있는 노드들은 3개인 반면에 만일 “1”이 제1의 디짓으로 선택된다면 데이터를 전송할 필요가 있는 노드들은 2개만이 있게 된다 (왜냐하면 두 노드들은 그들 어드레스들의 제1의 디짓에서 0을 가지기 때문이다). 어드레스내 각 디짓에 대해서, 만약 그 디짓 값이 최고 카운트 (the highest count)로 선택되면 데이터가 전송되어야 하는 레그들 (legs)의 전체수 (the overall number)에 대한 기여는 최소화되어 결국 데이터가 이동해야 할 전체적인 거리가 최소화된다.
노드들의 수가 짝수이면, 특정 디짓에서 1을 갖는 노드들의 수는 0을 갖는 노드들의 수와 같게 될 것이다. 0 또는 1 어느 쪽이든지 중앙 노드의 디짓을 위해 선택될 수 있는 경우, 각각의 노드가 노드들의 세트 S에 대하여 동일하게 최소 전체 거리를 갖는 다수의 노드들이 있을 수 있다.
프로세싱 디바이스들의 하이퍼큐브 네트워크를 동작하는 방법이 도 4에서 요약된다. 상기 방법의 제 1단계는 네트워크내 복수의 프로세싱 디바이스들이 단일 프로세싱 디바이스에 처리될 데이터를 저장하는 것을 결정하는 단계를 포함한다. 이것은, 단일 개체로서 처리되기 위해 다수 위치들로부터 데이터를 필요로 하는, 어떤 명령이 실행되는 결과로서 일어날 수 있다. 상기 방법에서 다음 단계는 처리될 데이터를 저장하는 복수의 프로세싱 디바이스들의 어드레스들을 획득하는 단계 S2이다. 위에서 논의된 것과 같이, 상기 프로세싱 디바이스들 각각은 각각의 디바이스를 식별하는 고유한 어드레스 (이진수 어드레스일 수 있음)를 가질 수 있다.
다음 단계는 단계 S3인데, 이것은 처리될 데이터를 저장하는 복수의 프로세싱 디바이스들의 어드레스들의 각 디짓에 대한 최대 공통의 수를 결정하는 단계를 포함한다. 도 3과 관련하여 위에서 도시된 바와 같이, 예를 들어, 처리될 데이터를 저장하는 디바이스들의 세트에서 프로세싱 디바이스들의 이진수 어드레스들은 검사되어 상기 이진수 어드레스들의 각각의 위치에서 최대 공통의 수를 식별한다. 하이퍼큐브 네트워크 토폴로지의 특성 (nature)은 상기 어드레스들이 모두 동일한 길이이고, 단순한 카운트 동작이 각각의 위치에서 최대 공통의 수를 결정하기 위하여 사용될 수 있음을 의미한다.
이 단계 다음에 각 디짓에 대해 결정된 최대 공통의 수를 포함하는 새로운 어드레스를 생성하는 단계를 포함하는, 단계 S4, 그리고 그 생성된 새로운 어드레스의 프로세싱 디바이스로 처리될 데이터를 전송하는 단계를 포함하는 단계 S5가 뒤따른다. 단계 S3에서 결정된 최대 공통의 디짓들은 도 3의 예에서 노드 C로 도시된 것과 같이, “중앙 노드”의 새로운 어드레스를 생성하는데 사용된다. 그 다음 디바이스들의 세트에서 모든 프로세싱 디바이스들에 의하여 저장된 데이터는, 데이터가 처리되는, 최대 공통의 디짓들을 포함하는 새로운 어드레스의 새로운 프로세싱 디바이스로 전송된다.
위에서 설명된 상기 프로세스는 다른 프로세싱 디바이스들에 의하여 저장되는 데이터의 양을 고려하기 위하여 수정될 수 있다. 만약 이 정보가 이용가능하다면 각 노드에서 다른 양의 데이터를 갖는 노드들 세트의 중앙을 결정하는 것이 가능하다. 예를 들어, 하이퍼큐브 그래프 노드들의 서브셋의 어드레스들인 노드들의 세트 S가 있을 때 각 노드는 공통의 위치에 전달될 필요가 있는 알려진 데이터의 양을 가지며 D는 노드들에서 보유중인 (held) 데이터량을 정의하고 Di (D의 제i 멤버)는 어드레스 Si (S의 제i 멤버)를 갖는 노드에서 보유중인 데이터의 양을 명시한다고 하자.
도 5는 S= (10100, 11111, 00110, 00010, 10000)이고 D= (100, 500, 20, 1, 500)인 예를 도시한다. 이 경우 S는 5차원 하이퍼큐브로부터 다섯개 라벨들의 어드레스들을 포함하고 D는 S내 대응하는 노드에 보유중인 데이터의 양을 포함한다 (이를테면, 노드 10100은 데이터의 100 항목들을 보유하고, 노드 11111은 데이터의 500 항목들을 보유한다).
그 다음 S내 어드레스들 각각에서 대응하는 디짓의 분석이 수행되는데 이는 그 디짓에 대해 값 “1”을 갖는 어드레스들에서 보유중인 데이터의 전체량을 결정하고 그 디짓에 대해 값 “0”을 갖는 어드레스들에서 보유중인 데이터의 전체량을 결정하기 위함이다. 예를 들면, 두 어드레스들은 그들의 제1의 디짓들에서 "0"을 갖고 있고, 이들 어드레스들은 20 및 1의 데이터 항목들을 가지므로 제1의 디짓에서 "0"을 갖는 어드레스들에서 전체 데이터는 21이 된다. 세 어드레스들이 그들의 제1의 디짓에서 "1"을 갖고 있고, 이들 어드레스들은 100, 500 및 500 데이터 항목들을 가지므로 제1의 디짓에서 "1"을 갖는 어드레스들에서 전체 데이터는 1100이 된다. 각 디짓의 분석은 0과 1의 값들에 대해 데이터카운트 (DataCount) 세트를 다음과 같이 유지함으로써 표시될 수 있다: 데이터카운트(0) = (21, 621, 501, 600, 621) 그리고 데이터카운트(1) = (1100, 500, 620, 521, 500).
그 다음 각 디짓에 대해서 차례로, 어떤 데이터 카운트가 최고인지가 결정되고, 그리고 노드 C의 어드레스는 최고 카운트를 갖는 디짓의 값에 세트되어 최고데이터카운트 (the HighestDataCount) = (1,0,1,1,0) (제1의 디짓에서, 데이터카운트(1) > 데이터카운트(0), 제2 디짓에서, 데이터카운트(0) > 데이터카운트(1) 등)이 된다. 그러므로 C = 10100이고 어드레스로 C를 갖는 노드가 이 노드들 및 데이터량의 세트에 대한 “중앙” 노드가 된다. 노드들 S로부터 이 노드로 모든 데이터를 전송하면 전체 데이터 전송은 최소화가 된다.
세트 S내 노드들로부터 노드 C로 전송되는 전체 데이터량은 어드레스들내 각 디짓에 대한 최저 데이터카운트 (the lowest DataCount)를 합함 (summing)으로써 다음과 같이 결정될 수 있다 : 데이터카운트(0) = (21, 621, 501, 600, 621), 데이터카운트(1) = (1100, 500, 620, 521, 500), 최저데이터카운트 = (21, 500, 501, 521, 621) 그리고 전체최저데이터카운트 (TotalLowestDataCount) = 2043 (21+500+501+521+621).
이 방법은 전체 데이터 전송 거리에 대해 각 디짓의 기여를 차례로 고려함으로써 입증될 수 있다. 만약 노드 C가 제1의 디짓으로서 0을 갖는다면, “1” 차원으로부터 전송될 필요가 있는 데이터의 유닛들은 1100이고 반면에 제1 디짓으로서 “1”을 선택한다면 전송될 필요가 있는 데이터는 오직 21개의 유닛들이다. 어드레스내 각 디짓에 대해서, 만약 최대 데이터를 갖는 디짓값이 선택되면 전송되어야 하는 데이터의 전체 양에 대한 기여는 다른 어드레스들로부터는 최소화된다. 노드들의 수가 어떠하든지 간에, 특정 디짓에서 1을 갖는 어드레스에서 데이터의 전체 양과 0을 갖는 어드레스에서 데이터의 전체량은 동일하게 될 것이다. 중앙 노드의 디짓에 대해 “0” 또는 “1”이 선택될 수 있는 이 경우에, 각각의 노드가 노드들의 세트 S로부터 동일하게 최소의 전체 데이터 전송을 갖는 다수 노드들이 있을 수 있다.
도 5에서 도시되고 위에서 설명된 상기 방법은 세트 S를 구성하는 프로세싱 디바이스들의 이진수 어드레스들내 최대 공통의 디짓을 결정하는 효과적으로 가중치가 부여된 결정 방법이다. 도 6은 도 1의 하이퍼큐브 네트워크를 도시하는데 이것은 네트워크내 네개의 노드들이 단일 위치에서 처리할 데이터를 저장함을 보여준다. 노드들 세트 S = (000, 001, 100, 111)이고 데이터 D 세트 = (15, 6, 10, 20)이다. 그러므로, 데이터카운트(0) = (21, 31, 25) 이고 데이터카운트(1) = (30, 20, 26)인데 이것은 중앙 노드 C의 이진수 어드레스 = 101임을 의미한다. 이 예에서, 이것은 데이터 처리를 수행하는 하이퍼큐브 네트워크의 프로세싱 디바이스일 수 있다.

Claims (12)

  1. 프로세싱 디바이스들의 하이퍼큐브 네트워크 (a hypercube network)를 동작하는 방법에 있어서, 상기 방법은:
    복수의 프로세싱 디바이스들이 단일 프로세싱 디바이스에서 (at a single processing device) 처리될 데이터를 저장하는 것을 결정하는 단계,
    상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들을 획득하는 단계,
    상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들 각 디짓 (each digit)에 대해 최대 공통의 수 (the most common number)를 결정하는 단계,
    각 디짓에 대해 결정된 최대 공통의 수를 포함하는 새로운 어드레스를 생성하는 단계, 및
    상기 처리될 데이터를 상기 생성된 새로운 어드레스를 갖는 프로세싱 디바이스로 전송하는 단계를 포함하는
    방법.
  2. 제 1항에 있어서, 상기 방법은 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들 각각에서 처리될 데이터의 양을 결정하는 단계를 더 포함하고 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들 각 디짓에 대해 최대 공통의 수를 결정하는 단계는 상기 결정된 데이터의 양에 따라 각 디짓에 대해 최대 공통의 수를 결정하는 것에 가중치를 부여하는 단계 (weighting)를 포함하는
    방법.
  3. 제 1항 또는 2항에 있어서, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들의 디짓에 대해 최대 공통의 수가 하나 이상의 결과를 리턴하면 (return), 리턴된 결과들중 하나를 선택하는
    방법.
  4. 제 1항, 2항 또는 3항에 있어서, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들중 하나의 프로세싱 디바이스가 하나 이상의 어드레스를 부여받게 되면, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스를 획득하는 단계는, 하나 이상의 어드레스를 부여받은 프로세싱 디바이스에 관하여, 상기 프로세싱 디바이스에 대해 오직 하나의 어드레스만을 획득하는
    방법.
  5. 프로세싱 디바이스들의 하이퍼큐브 네트워크 (a hypercube network)를 포함하는 프로세싱 시스템에 있어서, 상기 시스템은:
    복수의 프로세싱 디바이스들이 단일 프로세싱 디바이스에서 처리될 데이터를 저장하는 것을 결정하는 단계,
    상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들을 획득하는 단계,
    상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들 각 디짓에 대해 최대 공통의 수를 결정하는 단계,
    각 디짓에 대해 결정된 최대 공통의 수를 포함하는 새로운 어드레스를 생성하는 단계, 및
    상기 처리될 데이터를 상기 생성된 새로운 어드레스를 갖는 프로세싱 디바이스로 전송하는 단계를 위하여 동작가능한
    시스템.
  6. 제 5항에 있어서, 상기 시스템은 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들 각각에서 처리될 데이터량을 결정하는 단계를 위해 더 동작가능하고 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들 각 디짓에 대해 최대 공통의 수를 결정할 때 상기 결정된 데이터의 양에 따라 각 디짓에 대해 최대 공통의 수를 결정하는 것에 가중치를 부여하도록 더 동작가능한
    시스템.
  7. 제 5항 또는 6항에 있어서, 상기 시스템은 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들 각 디짓에 대해 최대 공통의 수가 하나 이상의 결과를 리턴하면 (return), 상기 리턴된 결과들중 하나를 선택하도록 더 동작가능한
    시스템.
  8. 제 5항, 6항 또는 7항에 있어서, 상기 시스템은 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들중 하나의 프로세싱 디바이스가 하나 이상의 어드레스를 부여받게 되면, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스를 획득하는 단계는, 하나 이상의 어드레스를 부여받은 프로세싱 디바이스에 관하여, 상기 프로세싱 디바이스를 위해 오직 하나의 어드레스만을 획득하도록 더 동작가능한
    시스템.
  9. 프로세싱 디바이스들의 하이퍼큐브 네트워크 (a hypercube network)를 동작하기 위한 컴퓨터 판독가능 매체상 컴퓨터 프로그램 제품에 있어서, 상기 제품은:
    복수의 프로세싱 디바이스들이 단일 프로세싱 디바이스에서 처리될 데이터를 저장하는 것을 결정하는 단계,
    상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들을 획득하는 단계,
    상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들 각 디짓에 대해 최대 공통의 수 (the most common number)를 결정하는 단계,
    각 디짓에 대해 결정된 최대 공통의 수를 포함하는 새로운 어드레스를 생성하는 단계, 및
    상기 처리될 데이터를 상기 생성된 새로운 어드레스를 가진 프로세싱 디바이스로 전송하는 단계를 수행하기 위한 명령을 포함하는
    컴퓨터 프로그램 제품.
  10. 제 9항에 있어서, 상기 제품은 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들 각각에서 처리될 데이터량을 결정하는 명령들을 더 포함하고 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들 각 디짓에 대해 최대 공통의 수를 결정하는 단계는 상기 결정된 데이터의 양에 따라 각 디짓에 대해 최대 공통의 수를 결정하는 것에 가중치를 부여하는 명령을 더 포함하는
    컴퓨터 프로그램 제품.
  11. 제 9항 또는 10항에 있어서, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스들 각 디짓에 대해 최대 공통의 수가 하나 이상의 결과를 리턴하면 (return), 상기 제품은 상기 리턴된 결과들중 하나를 선택하는 명령들을 포함하는
    컴퓨터 프로그램 제품.
  12. 제 9항, 10항 또는 11항에 있어서, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들중 하나의 프로세싱 디바이스가 하나 이상의 어드레스를 부여받게 되면, 상기 처리될 데이터를 저장하는 상기 복수의 프로세싱 디바이스들의 어드레스를 획득하는 명령은, 하나 이상의 어드레스를 부여받은 프로세싱 디바이스에 관하여, 상기 프로세싱 디바이스를 위해 오직 하나의 어드레스만을 획득하는 명령을 포함하는
    컴퓨터 프로그램 제품.
KR1020147001451A 2011-10-26 2012-09-25 하이퍼큐브 네트워크에서 데이터 전송을 최적화하기 KR20140088069A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11186670.3 2011-10-26
EP11186670 2011-10-26
PCT/EP2012/068874 WO2013060542A1 (en) 2011-10-26 2012-09-25 Optimising data transmission in a hypercube network

Publications (1)

Publication Number Publication Date
KR20140088069A true KR20140088069A (ko) 2014-07-09

Family

ID=46982550

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147001451A KR20140088069A (ko) 2011-10-26 2012-09-25 하이퍼큐브 네트워크에서 데이터 전송을 최적화하기

Country Status (7)

Country Link
US (3) US9769112B2 (ko)
EP (1) EP2759100B1 (ko)
JP (1) JP5665208B2 (ko)
KR (1) KR20140088069A (ko)
CN (1) CN103891214B (ko)
IN (1) IN2014CN02291A (ko)
WO (1) WO2013060542A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140088069A (ko) 2011-10-26 2014-07-09 인터내셔널 비지네스 머신즈 코포레이션 하이퍼큐브 네트워크에서 데이터 전송을 최적화하기
JP6459630B2 (ja) * 2015-02-27 2019-01-30 富士通株式会社 データ転送制御装置、データ転送制御プログラム、および並列計算システム
US10057334B2 (en) 2016-11-14 2018-08-21 Futurewei Technologies, Inc. Quad full mesh and dimension driven network architecture
CN106790620B (zh) * 2016-12-30 2020-02-11 许昌学院 一种分布式大数据处理方法
JP7409404B2 (ja) 2022-01-24 2024-01-09 積水ハウス株式会社 接続部材、接続ユニット及び杭ユニット

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5170482A (en) * 1987-08-14 1992-12-08 Regents Of The University Of Minnesota Improved hypercube topology for multiprocessor computer systems
CA2043505A1 (en) * 1990-06-06 1991-12-07 Steven K. Heller Massively parallel processor including queue-based message delivery system
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
US5255368A (en) * 1991-08-19 1993-10-19 Hewlett-Packard Company Method for selecting data communications paths for routing messages between processors in a parallel processing computer system organized as a hypercube
US5991866A (en) * 1992-03-25 1999-11-23 Tm Patents, Lp Method and system for generating a program to facilitate rearrangement of address bits among addresses in a massively parallel processor system
US5471589A (en) * 1993-09-08 1995-11-28 Unisys Corporation Multiprocessor data processing system having nonsymmetrical channel(x) to channel(y) interconnections
US5884046A (en) * 1996-10-23 1999-03-16 Pluris, Inc. Apparatus and method for sharing data and routing messages between a plurality of workstations in a local area network
US6021118A (en) * 1997-02-10 2000-02-01 Lucent Techologies Inc. Synchronization methods for distributed processing systems having replicated data
US6167502A (en) * 1997-10-10 2000-12-26 Billions Of Operations Per Second, Inc. Method and apparatus for manifold array processing
US6230252B1 (en) * 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
US6741552B1 (en) * 1998-02-12 2004-05-25 Pmc Sierra Inertnational, Inc. Fault-tolerant, highly-scalable cell switching architecture
US6973559B1 (en) * 1999-09-29 2005-12-06 Silicon Graphics, Inc. Scalable hypercube multiprocessor network for massive parallel processing
EP1370966B1 (en) * 2001-02-24 2010-08-25 International Business Machines Corporation A novel massively parrallel supercomputer
US20030065632A1 (en) * 2001-05-30 2003-04-03 Haci-Murat Hubey Scalable, parallelizable, fuzzy logic, boolean algebra, and multiplicative neural network based classifier, datamining, association rule finder and visualization software tool
US20030009509A1 (en) 2001-06-22 2003-01-09 Fish Russell H. Distributed means of organizing an arbitrarily large number of computers
US6992988B2 (en) * 2001-08-20 2006-01-31 Sun Microsystems, Inc. System and method for deadlock-free routing on arbitrary network topologies
US7437354B2 (en) * 2003-06-05 2008-10-14 Netlogic Microsystems, Inc. Architecture for network search engines with fixed latency, high capacity, and high throughput
US7379424B1 (en) * 2003-08-18 2008-05-27 Cray Inc. Systems and methods for routing packets in multiprocessor computer systems
US8335909B2 (en) * 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
JP3998691B2 (ja) 2005-05-26 2007-10-31 沖電気工業株式会社 データ転送ネットワーク
GB0524126D0 (en) * 2005-11-26 2006-01-04 Cogniscience Ltd Data transmission method
US8108512B2 (en) * 2006-09-01 2012-01-31 Massively Parallel Technologies, Inc. System and method for accessing and using a supercomputer
US7844959B2 (en) 2006-09-29 2010-11-30 Microsoft Corporation Runtime optimization of distributed execution graph
US20080082644A1 (en) * 2006-09-29 2008-04-03 Microsoft Corporation Distributed parallel computing
US8239847B2 (en) 2009-03-18 2012-08-07 Microsoft Corporation General distributed reduction for data parallel computing
JP5313100B2 (ja) 2009-09-29 2013-10-09 Kddi株式会社 クラスタヘッド決定方法、該方法を実行するノードおよび制御プログラム
US8830873B2 (en) * 2011-05-08 2014-09-09 Infinetics Technologies, Inc. Flexible radix switch
KR20140088069A (ko) 2011-10-26 2014-07-09 인터내셔널 비지네스 머신즈 코포레이션 하이퍼큐브 네트워크에서 데이터 전송을 최적화하기

Also Published As

Publication number Publication date
JP2014534713A (ja) 2014-12-18
US20170346785A1 (en) 2017-11-30
EP2759100B1 (en) 2015-03-04
US10608982B2 (en) 2020-03-31
CN103891214B (zh) 2016-08-24
JP5665208B2 (ja) 2015-02-04
US11140127B2 (en) 2021-10-05
CN103891214A (zh) 2014-06-25
IN2014CN02291A (ko) 2015-06-19
EP2759100A1 (en) 2014-07-30
US20140229633A1 (en) 2014-08-14
US9769112B2 (en) 2017-09-19
WO2013060542A1 (en) 2013-05-02
US20200177542A1 (en) 2020-06-04

Similar Documents

Publication Publication Date Title
US11140127B2 (en) Optimising data transmission in a hypercube network
JP4857274B2 (ja) 超並列型スーパーコンピュータでのアプリケーション・レイアウトの最適化
Chen et al. Tology-aware optimal data placement algorithm for network traffic optimization
Glantz et al. Algorithms for mapping parallel processes onto grid and torus architectures
Yuan et al. Lfti: A new performance metric for assessing interconnect designs for extreme-scale hpc systems
Mahafzah et al. Broadcast communication operations for hyper hexa-cell interconnection network
Shi et al. Partitioning dynamic graph asynchronously with distributed FENNEL
Lakhotia et al. Accelerating Allreduce with in-network reduction on Intel PIUMA
Rahman et al. High and stable performance under adverse traffic patterns of tori-connected torus network
Zhao et al. Fast and scalable analysis of massive social graphs
Shang et al. Efficient breadth-first search on large graphs with skewed degree distributions
Viswanathan et al. An optimised 3D topology for on-chip communications
Rahman et al. HTM: a new hierarchical interconnection network for future generation parallel computers
Yang et al. Exceeding the performance of two-tier fat-tree: Equality network topology
Ganesan et al. The hyper-deBruijn multiprocessor networks
Tripathy et al. ANew INTERCONNECTION TOPOLOGY FOR NETWORK ON CHIP
Chen et al. A scheme to optimize flow routing and polling switch selection of software defined networks
Gopalakrishnan et al. Multiobjective piecewise regressive elitism spotted hyena optimized mapping for 3D NoC architecture design
Wu et al. Cube-connected-cubes network
Nitzberg et al. The P-Mesh-a commodity-based scalable network architecture for clusters
Kumar et al. On Performance of Modified Torus Interconnection Networks
Li et al. Finding a hamiltonian cycle in a hierarchical dual-net with base network of p-ary q-cube
Doreen et al. An efficient sra based isomorphic task allocation scheme for k-ary n-cube massively parallel processors
Fang et al. Novel broadcasting schemes on cube-connected cycles
Pati et al. Folded Leafy Cube-A Reliable High Performance Computing System for Big Data

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application