KR100219350B1 - 분산된 노드 사이 스위칭과 분리된 데이터/제어 메시지 처리를 갖는 다중 노드 네트워크 - Google Patents

분산된 노드 사이 스위칭과 분리된 데이터/제어 메시지 처리를 갖는 다중 노드 네트워크 Download PDF

Info

Publication number
KR100219350B1
KR100219350B1 KR1019960017493A KR19960017493A KR100219350B1 KR 100219350 B1 KR100219350 B1 KR 100219350B1 KR 1019960017493 A KR1019960017493 A KR 1019960017493A KR 19960017493 A KR19960017493 A KR 19960017493A KR 100219350 B1 KR100219350 B1 KR 100219350B1
Authority
KR
South Korea
Prior art keywords
message
control
data
messages
node
Prior art date
Application number
KR1019960017493A
Other languages
English (en)
Other versions
KR960042414A (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 KR960042414A publication Critical patent/KR960042414A/ko
Application granted granted Critical
Publication of KR100219350B1 publication Critical patent/KR100219350B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/247Multipath using M:N active or standby paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

분산 데이터 처리 시스템은 양방향 통신 링크들에 의해 상호 연결된 복수 개의 노드들을 포함한다. 각각의 노드는 제어 메시지들을 처리하기 위한 제어 메시지 라인과 상기 제어 메시지들을 저장하기 위한 제어 메모리를 포함한다. 각각의 노드는 데이터 메시지들을 처리하기 위한 데이터 메시지 라인과 상기 데이터 메시지들을 저장하기 위한 데이터 메모리를 포함한다. 상기 노드의 프로세서는 상기 데이터 메시지 라인이 상기 데이터 메모리로부터 데이터 메시지들을 대기 큐(queue)에 넣고 디스패치하게 하고, 상기제어 메시지 라인이 상기 제어 메모리로부터 제어 메시지들을 대기 큐(queue)에 넣고 디스패치하게 한다. 각각의 노드는 제어 메시지 라인과 데이터 메시지 라인을 결합한 적어도 두 배의 입/출력 대역폭을 갖기 위해 상기 노드를 인에이블하는 N 양방향 통신 링크들을 포함한다. 입/출력 스위치는 라우팅 프로세서를 포함하고, N양방향 통신 링크들과, 상기 데이터 라인과, 그리고 상기 제어 라인 사이에 연결된다. 상기 입/출력 스위치는 상기 라우딩 제어 프로세서로부터의 출력에 따라 적어도 하나의 양방향 통신 링크 상에 제어 메시지나 데이터 메시지 중 어느 하나를 전송하기 위해 각각의 통신 링크를 인에이블한다. 만약 통신 링크가 제어 메시지나 데이터 메시지 중 어느 하나에 의해 사용중이면, 상기 라우팅 제어 프로세서는 대기된 메시지를 디스패치하기 위해 다른 통신 링크를 증대시킨다.

Description

분산 노드간 스위칭 및 분리된 데이터/제어 메시지 처리를 수행하는 분산 데이터 처리시스템
제1도는 본 발명에 따른 분산 데이터 처리 시스템을 구현한 복수 노드 네트워크를 나타낸 블록도.
제2도는 각각의 노드의 구성을 나타낸 블록도.
제3도는 제2도의 노드에서 사용되는 입/출력 스위치를 나타낸 블록도.
제4도는 제2도의 노드에 포함된 제어 메모리 인터페이스 블록을 나타낸 블록도.
제5도는 제2도의 노드의 데이터 버퍼 인터페이스 블록을 나타낸 블록도.
본 발명은 인터노드 통신 링크(inter-node communication link)들을 분산 스위칭하는 복수 노드 네트워크에 관한 것으로, 특히 노드들 안에 있는 분리된 경로들(separate paths)을 따라 제어 메시지와 데이터 메시지들을 처리하는 복수 노드 네트워크로 구성된 분산 데이터 처리 시스템에 관한 것이다.
저가의 마이크로 프로세서를 사용할 수 있음으로 인하여 분산된, 복수 노드 데이터 처리 시스템(distributed, multi-node data processors)이 성행되어 왔다. 이러한 시스템들은 복수 노드들을 포함하고, 각각의 노드는 하나의 마이크로 프로세서를 포함한다. 어떤 시스템들에서는, 노드들은 고정 회로(fined circuits)에 의해 상호 연결되기도 하고, 또 다른 시스템들에서는, 노드들은 집중 스위치(centralized switch)들을 통해 상호 연결되기도 한다. 이러한 시스템들은 대규모의 문제들을 해결하는데 종종 사용되며, 이 시스템에서 각각의 노드는 그 문제들의 각 부분을 병렬로 처리하고, 각각의 노드에서의 처리 결과는 하나의 출력 노드에서 결합된다. 또 복수 노드 시스템들은 디스크 드라이브 메모리용 콘트롤러들과 같은 제어 기능들을 구성하기 위해서도 사용된다. 이러한 시스템들에서, 데이터 전송들은 일반적으로 디스크 드라이브의 복수 트랙들로부터의 데이터로 이루어진 긴 데이터 메시지(long data message)들로 구성된다. 이러한 시스템에서 노드들 사이의 제어 메시지는 비교적 짧다. 이 긴 데이터 메시지들에도 불구하고 각각의 노드들이 제어 메시지들을 제대로 디스패치할 수 있도록 하는 제어 로직이 각각의 노드들에 제공된다.
그러나, 이러한 노드들에서, 데이터 메시지와 제어 메시지들 양쪽 모두는 공통 입/출력(I/O)포트(common input/output port)들을 통해 처리되는데, 이 때문에 이 공통 입출력 포트는 제어 메시지들을 처리하는데 있어 종종 과도한 지연(undue delay)을 일으킨다.
하나의 네트워크에서 노드들 사이의 데이터 메시지와 제어 메시지들의 라우팅(routing)에 대한 많은 기술들이 종래 기술에 설명되어 있다. Flaig 등의 미합중국 특허 공보 제5,105,424호에서, 분산 노드간 메시지 라우팅 시스템(distributed inter-node message routing system)이 설명되어 있으며, 여기서 각각의 노드는 네트워크의 각각의 차원(dimension)에 대한 분리 라우팅 제어 회로(separate routing control circuit)를 갖는다. Flaig 등의 시스템에서, 각각의 노드는 패킷의 다음 목적지에 따라 라우팅 방향에 대한 정보를 메시지 패킷에 추가한다. 그리고 난 후 각각의 패킷은 목적지 노드까지의 경로 상에 있는 다음 인접한 노드로 라우팅 회로에 의해 디스패치된다. 각각의 노드 인터페이스에서, 이 시스템 내의 다른 노드들의 위치와 각각의 노드에 대응하는 경로의 위치에 대한 메모리 맵이 저장된다. 라우팅 회로는 메시지 패킷에 추가되어야 할 경로 정보를 결정하기 위해 저장된 메모리 맵을 접근한다.
Busch의 미합중국 특허 공보 제3,676,846호는 집중 메시지 버퍼 시스템(centralized message buffering system)을 설명한다. 저속의 리소스들로부터 인입된 메시지들은 주변 컴퓨터에서 버퍼링(buffering)되는데, 이 주변 컴퓨터는 인입데이터(incoming data)를 일시 저장하고 그것을 데이터 블럭들의 스트링들로 정돈한다. 이 데이터 블록의 스트링들은 메시지로써 중앙 호스트 컴퓨터(central host computer)에 높은 메시지 전송률로 전송된다. Fung의 미합중국 특허 공보 제4,380,046호는 대용량 병렬 프로세서 시스템(massively parallel processor system)을 소개하고 있는데, 여기서 데이터는 병렬로 처리되고, 양방향 데이터 버스가 개개의 프로세서간의 데이터 전송을 위해 사용된다.
Hillis 등의 미합중국 특허 공보 제5,105,424호는 메시지 패킷들에 관한 라우팅 기술을 소개하고 있는데, 여기서는 먼저 어떤 메시지 패킷이 라우터와 관련된 처리 노드processing node)에 어드레스되는지 판단한다. 만약, 어떤 메시지 패킷이 라우터와 관련된 처리 노드(processing node)에 어드레스되지 않으면, 이 라우터는 그 메시지 패킷들을 그들의 목적지로 보내거나 또는 만일 회로 충돌 때문에 목적지로 보낼 수 없는 경우라면 저장한다. 라우터는 또한 동일 목적지에 어드레스된 메시지 패킷들을 병합할 수 있고 노드 배열(nodal array)상의 어떤 프로세서 노드들에게 선택적으로 메시지 패킷들을 또한 브로드케스트(broadcast)할 수 있다.
Cok의 미합중국 특허 공보 제4,942,517호는 토러스 모양의(torus-like), 분산 메모리를 갖는 병렬 컴퓨터를 소개하고 있는데 이 컴퓨터는 열로 구성된 다수의 프로세서들을 갖고 잇으며, 이 프로세서 각각은 독립된 메모리를 갖고 있다. 이 컴푸터에서 하나의 공통 입/출력 체널(common input/output channel)은 어떤 열에서 각각의 프로세서와 관련된 버퍼를 통해서 프로세서들의 한 열(a single row of processors)에 연결된다.
종래 기술에 있어서 네트워크를 다수 상호 연결하는 구조들을 채택하고 있음에도 불구하고, 어느 것도 긴 데이터의 메시지가 전송되는 동안 제어 메시지의 전송을 방해하는 문제를 해결하기 위한 만족할 만한 방법을 제시하지 못했다. 네트워크의 개개의 노드들에서, 제어 메시지가 데이터 메시지 처리를 기다리지 않고 신속히 처리되는 것은 중요하다.
따라서, 본 발명의 목적은 데이터 메시지와 제어 메시지를 처리함에 있어서 개선된 능력을 갖는 복수 노드로 구성된 분산 데이터 처리 시스템을 제공함에 있다.
본 발명의 또 다른 목적은 매우 긴 데이터 메시지가 존재하더라도 제어 메시지를 신속하게 디스패치할 수 있도록 구성한 개선된 복수 노드로 구성된 분산 데이터 처리 시스템을 제공함에 있다.
본 발명의 또 다른 목적은 메시지 라우팅 회로가 노드 프로세서로부터 독립하여 작동하게 함으로써 메시지 전송들을 처리하는 동안에도 계속 노드의 내부 처리(intra-node processing)를 가능하게 하는 복수 노드로 구성된 분산 데이터 처리 시스템을 제공함에 있다.
본 발명에 따른 분산 데이터 처리 시스템은 양방향 통신 링크들에 의해 상호 연결된 복수 개의 노드들을 포함한다. 각각의 노드는 제어 메시지 라인, 데이터 메시지 하인, 입/출력 스위치, 노드 프로세서를 포함한다. 제어 메시지 라인은 제어 메시지들을 처리하기 위한 제어 메모리 인터페이스와 상기 제어 메시지들을 저장하기 위한 제어 메모리를 포함한다. 데이터 메시지 라인은 데이터 메시지들을 처리하기 위한 데이터 버퍼 인터페이스와 상기 데이터 메시지들을 저장하기 위한 데이터 메모리를 포함한다. 상기 노드 프로세서는 상기 데이터 버퍼 인터페이스가 상기 데이터 메모리로부터 데이터 메시지들을 대기 큐(queue)에 넣고 디스패치하게 하고, 상기 제어 메모리 인터페이스가 상기 제어 메모리로부터 제어 메시지들을 대기 큐(queue)에 넣고 디스패치하게 한다. 각각의 노드는 제어 메시지 라인과 데이터 메시지 라인에서의 합보다 적어도 두 배의 입/출력 대역폭을 갖도록 해주는 N 양방향 통신 링크들을 포함한다. 입/출력 스위치는 라우팅 프로세서를 포함하고, N 양방향 통신 링크들과, 상기 데이터 라인과, 그리고 상기 제어 라인 사이에 연결된다. 상기 입/출력 스위치는 상기 라우팅 제어 프로세서로부터의 출력에 따라 적어도 하나의 양방향 통신 링크 상에 제어 메시지나 데이터 메시지 중 어느 하나를 디스패치하고, 이것에 의해서 데이터 메시지나 제어 메시지들 중 어느 하나를 전송하기 위해 각각의 통신 링크를 인에이블한다. 만약 통신 링크가 제어 메시지나 데이터 메시지 중 어느 하나에 의해 사용 중이면, 상기 라우팅 제어 프로세서는 대기된 메시지를 디스패치하기 위해 다른 통신 링크를 인에이블시킬 수 있다.
제1도의 블록도는 디스크 드라이브 콘트롤러 어레이(disk drive controller array)로 구성된 복수 노드 네트워크(10)를 나타낸다. 노드 A와 D는 결합된 디스크 드라이브(12,14, 그리고16,18)를 각각 연결하는 데이터 저장 노드이다. 통신 인터페이스 노드 B와 C쌍은 상기 복수 노드 네트워크의 데이터 저장 장치를 사용하는 결합된 호스트 프로세서들에게 입/출력 기능을 제공한다. 캐시 노드 E는 네트워크(10)와 하나 또는 그 이상의 호스트 프로세서들 간의 입력 데이터 전송 기능과 출력 데이터 전송 기능 양쪽 모두를 위한 임시 저장 장치들을 제공한다. 복수 노드 네트워크(10)는 노드들을 추가함으로써 확장할 수 있으며, 이 노드 모두는 내부 통신 네트워크(20)에 의해 상호연결된다.
각각의 노드 A~E는 제2도에 도시된 바와 같이 공통 노드 정렬(common node arrangement)로 구성된다. 각각의 노드는 노드의 전체 기능들을 제어하는 노드 프로세서(22)를 포함한다. 각각의 노드는 제어 메시지들을 수신, 저장, 그리고 디스패치하기 위해 제어 메시지 라인(control message ling;24)과 데이터 메시지들을 수신, 저장, 그리고 디스패치하기 위해 데이터 메시지 라인(data message line;26)을 더 포함한다. 제어 메시지 라인(24)은 제어 메모리 인터페이스 모듈(27)과 동적 랜덤 액세스 메모리(DRAM; 28)와 같은 제어 메모리를 포함한다. 각각의 데이터 메시지 라인(26)은 데이터 버퍼 인터페이스 모듈(30)과 DRAM(32)과 같은 데이터 메모리를 포함한다. 데이터 버퍼 인터페이스 모듈(30)은 복수 개의 디바이스 인터페이스(34,36) 등에 결합되고, 이러한 디바이스 인터페이스들은 연관된 디스크 드라이버(38,40) 등에 인터페이스들을 제공한다. 제어 메모리 인터페이스(27), 노드 프로세서(22) 등으로부터 생성된 제어 메시지는 다양한 노드 동작들을 제어할 수 있다.
만약, 제2도의 노드가 캐시 노드로서 사용되면, 데이터 메시지 라인(26) 안의 랜덤 액세스 메모리(32)는 상기 노드가 통신 인터페이스 노드나 데이터 저장 노드로 구성된 것보다도 크기가 크다. 만약 상기 노드가 통신 인터페이스 노드로서 구성되면, 외부 호스트 프로세서와 연결하기 위해 통신 어댑터들(미도시)이 포함된다.
이하의 설명으로부터 명확한 바와 같이, 복수 노드 네트워크 아키텍처(10)는 디스크 드라이브들로부터 혹은 디스크 드라이브들로 특징적으로 발생한 긴 데이터 메시지(long data message)들과 상기 네트워크와 각각의 노드들의 작동을 인에이블 하는데 요청되는 다수의 짧은 제어 메시지(small control message)들 양쪽 모두를 효율적으로 처리하도록 구성된다. 각각의 노드에서, 개개의 제어 메시지 라인과 데이터 메시지 라인들은 제어 메시지와 데이터 메시지를 분리하고 그것들의 독자적인 처리를 허락하고, 각각의 노드에서 제공된 입/출력 스위치(42)에 전송한다. 입/출력 스위치(42)는 하나 또는 그 이상의 입력 링크들(44)에 도착되었으며 목적지가 또 다른 노드로 정해져 있는 메시지들을 독립적으로 스위칭하는 장치를 포함한다. 바람직하게는 각각의 노드에 존재하는 라인들의 적어도 두 배만큼의 통신 링크들(44)이 제공되고, 그렇게 하여 각각의 노드 내에 있는 것에 적어도 두 배의 통신 대역폭을 제공한다.
각각의 통신 링크들(44)은 다른 노드에 연결되고, 그것에 의해 경우에 따라 연결된 노드에 직접 라우팅되거나 연결된 노드를 통해 다른 노드로 라우팅되도록 메시지들을 인에이블한다. 입/출력 스위치(42)는 임의의 통신 링크(44)부터 다른 임의의 통신 링크(44)로 메시지들을 향하게 할 수 있다. 입/출력 스위치(42)는 또한 여러가지의 링크들의 현재 상태가 주어졌을 때 사용하기에 가장 좋은 통신 링크(46)를 동적으로 선택할 수 있다. 각각의 통신 링크들(44)은 독립적으로 존재하고 데이터 메시지나 제어 메시지들 중 어느 하나에 대해 사용될 수 있다.
상술한 노드 구조는 모든 메시지 스위칭 동작들은 노드들을 통해 분산되므로 집중 스위칭 제어(centralized switching control)의 필요성이 제거되는 분산 네트워크의 구성을 가능하게 한다. 다만 하나의 노드에서 제어 메시지와 데이터 메시지들은 분리되어 실질적으로 독립하여 처리된다. 각각의 입/ 출력 스위치(42)는 같은 방법으로 제어 메시지와 데이터 메시지들을 처리한다. 더욱이, 복수 인터 노드 링크(multiple inter nodal link)들은 하나 또는 약간의 노드들의 결함이 있는 경우에 시스템에 높은 수준의 견고성(robustness)과 중복성(redundancy)을 제공한다.
제3도를 참조하여, 입/ 출력 스위치(42)를 더욱 상세히 설명한다. 각각의 통신 링크(44)들은 양방향이고 링크 어댑터(50)와 인터페이스한다. 다섯 개의 링크어댑터가 도시되어 있으며, 각각의 링크 어댑터는 다른 노드와 전이중(full duplex)통신이 가능하게 한다. 바람직하게 각각의 링크 어댑터(50)는100Mbyte/ sec이고, 전이중 트랜시버(full duplex transceiver)이고, 라우팅 스위치(52) 또는 통신 링크(44)를 통해 다른 노드 중 어느 하나로부터 비동기적으로 클럭된 데이터를 처리하기 위해 작은 선입/ 선출 버퍼(first-in/ first-out buffer)를 포함한다.
메시지들을 송출하는 경우에 있어서, 라우팅 프로세서(54)는 제어 메시지 라인 인터페이스(58)나 데이터 메시지 라인 인터페이스(60)중 어느 하나로부터 목적지 주소를 받는다. 메시지를 수신한 경우에는, (만약 메시지가 다른 노드로 목적지가 정해져 있으면) 라우팅 프로세서(54)가 라우팅 테이블(56)을 액세스함으로써 라우팅 스위치(52)의 상태를 조사하고, 이어서 메시지 전송을 위해 최적 링크 어댑터(optimal link adapter; 50)를 선택한다. 만약 수신된 메시지가 상기 노드에 해당하는 것이면, 라우팅 프로세서(54)는 제어 메시지 라인 또는 데이터 메시지 라인을 선택한다. 만약 라우팅 프로세서(54)가 모든 링크들이 사용중임을 발견하면, 사용 중 지시(busy indication)가 노드 프로세서(22)로 리턴된다.
입/출력 스위치(42)는 노드 셋업 회로(node set up circuit)를 더 포함하고, 노드 셋업 회로는 제어 메시지 라인 인터페이스(58)에 연결되고, 입/출력 스위치(42)를 초기화하고 제어 메시지 라인 인터페이스(58)로부터 상태 정보를 판독하는데 사용된다. 주요 셋업 기능은 라우팅 테이블(56)의 초기화이다. 라우팅 테이블(56)은 모든 가능한 노드 주소에 관한 각각의 엔트리를 갖는다. 각각의 노드 주소 엔트리는 상기 노드 주소에 가장 짧은 경로가 되는 주요 링트 어댑터를 명기하고 주요 링크 어댑터(primary link adapter)가 사용 가능하지 않은 경우 세 개의 교체 링크 어댑터들을 또한 명기한다. 메시지가 중간 노드를 통해 라우팅되고 주 통신경로(primary communication path)가 선택되지 않았을 때, 사용 가능 링크 어댑터가 발견되거나 사용 가능 링크 어댑터가 더 이상 발견되지 않을 때까지 라우팅 프로세서(54)는 다음 교체 링크 어댑터를 선택한다. 메시지가 유래되는 노드에서 인터럽트가 발생된다.
제어 메시지가 제어 메시지 라인 인터페이스(58)에 나타나는 경우 혹은 데이터 메시지가 데이터 메시지 라인 인터페이스(60)에 나타나는 경우 중 어느 하나의 경우가 발생할 때, 라우팅 테이블(56)의 엔트리들과 라우팅 스위치(52)로 부터의 사용중/사용가능(busy/available) 정보에 따라 라우팅 프로세서(54)는 목적지 주소를 조사하고 사용 가능 링크 어댑터를 통해 메시지를 라우팅한다. 주목할 것은 입/ 출력 스위치(42)에서, 데이터 메시지와 제어 메시지는 전송할 준비가 되어 있는 독립된 메시지로서 동일하게 처리된다는 것이다. 입/출력 스위치(42)는 제어 메시지라인과 데이터 메시지 라인 양쪽 모두에 사용 가능한 대역폭의 적어도 두 배만큼의 대역폭을 포함하고 있기 때문에 불필요한 지연 없이 메시지 전송들이 이루어진다.
그러므로, 제어 메시지들은 전송(또는 수신) 절차에 있는 매우 긴 데이터 메시지가 완료될 때까지 대기할 필요 없이 디스패치된다.
바람직하게 라우팅 프로세서(54)는 어떤 인터페이스가 전송에 대해 사용 가능한 메시지를 먼저 지적하느냐에 따라 제어 메시지 라인 인터페이스(58)나 데이터 메시지 라인 인터페이스(60) 중 어느 하나로부터 메시지들을 받는다. 만약 제어 메시지와 데이터 메시지가 동시에 발생하면, 바람직하게는 라우팅 프로세서(54)가 제어 메시지를 먼저 전송한다. 제어 메시지는 데이터 메시지와 비교할 때 매우 짧은 메시지이다.
라우팅 스위치(52)는 임의의 링크 어댑터들(50)과, 제어 메시지 라인 인터페이스(58)와, 그리고 데이터 메시지 라인 인터페이스(60) 사이에 통신을 가능하게 하는 종래의 7×7 논-블록킹 회로 스위치(non blocking circuit switch)이다. 라우팅 프로세서(54)는 라우팅 스위치(52)를 통해 메시지를 하나 또는 그 이상의 링크 어댑터들(50)로 전송하는데 사용된다. 메시지의 헤드에 존재하는 값(또는 값들)에 대응하여, 라우팅 프로세서(54)는 메시지를 싱글 링크 어댑터(single link adapter)나 복수 링크 어댑터들 중 어느 하나에 할당할 수 있고, 이에 따라 파도 머리 타입(a wavefront type)의 메시지 라우팅을 할 수 있다. 주목할 것은 링크 어댑터(50)를 통해 수신되었으며 또 다른 노드로 보내져야 할 임의의 메시지를, 라우팅 프로세서(54)는 노드 프로세서(22) 내에서 발생되는 액세스나 인터럽트를 필요로 하지 않고 상기 메시지의 제리우팅(rerouting)을 수행할 수 있다는 것이다. 이런방법으로, 복수 노드 네트워크에서의 메시지 라우팅은 결국 노드 프로세서(22)의 상호 작용 없이 실행된다, 그것에 의해 각각의 노드 프로세서(22)가 내부노드 기능들로 활동을 집중할 수 있다.
제4도를 참조하여 제어 메모리 인터페이스 모듈(27)을 더욱 상세히 나타낸다. 스위치(70)는 제어 메모리 인터페이스 모듈(27)에서 다양한 기능들 사이에 통신을 수행한다. 프로세서 버스 인터페이스(72)와, 명령 수행 유닛(order execution unit; 74)와, 출력 포트 로직(80)과, 그리고 입력 포트 로직(82)이 있다. DRAM 콘트롤러(76)는 피연산자 메모리 버스(operand memory bus; 84)를 통해 랜덤 액세스 메모리(28)를 접속할 수 있다.
프로세서 버스 인터페이스(72)는 노드 프로세서(22)에 대한 인터페이스이고 메모리 페치(memory fetch)와 저장을 할 수 있는 경로를 제공한다. 명령 수행 유닛(74)은 수행되어질 명령에 따라 데이터를 해석하고, 페치하고, 그리고 일정한 메모리 레지스터들에 저장한다. 모든 명령들이 아닌 몇몇 명령들이 상기 유닛에서 수행된다. 상기 일정한 명령들에 대한 설명은 다음과같다. 본질적으로, 명령 수행 유닛(74)은 노드 프로세서(22)의 특별한 연관 없이 일정한 명령들의 빠른 처리를 가능하게 한다.
시간 날짜 클럭(time-of-day; 86)은 클럭 인크리먼터와 클럭 비교기(미도시) 양쪽 모두를 포함한다. 각각의 노드에서 각각의 시간 날짜 클럭(86)은 다른 노드들의 시간 날짜 클럭들과 주기적으로 제동기화한다. 명령 수행 유닛(74)은 시간 날짜 클럭(86)을 세팅하고, 판독하는 장치들을 제공하고, 그렇지 않으면 시간 날짜 크럭(86)을 제어하는 장치들을 제공한다.
지역 제어 버스 인터페이스(78)는 제2도에 도시된 지역 제어 버스(35)에 결합된다. 그리하여, 지역 제어 버스 인터페이스(78)에 의해 노드 프로세서(22)와, 데이터 버퍼 인터페이스 모듈(30)(제2도)과, 데이터 버퍼 인터페이스 모듈(30)에 연결된 다양한 디바이스 인터페이스(34), (36) ...들 사이에서의 액세스가 가능하게 된다. 구체적으로, 노드 프로세서(22)는 프로세서 버스 인터페이스(72), 스위치(70) 및 지역 제어 버스 인터페이스(78)를 통해서 지역 버스(35)에 결합되어 있으며(제4도 참조), 이러한 지역 버스(35)는 데이터 버퍼 인터페이스 모듈(30) 및 디바이스 인터페이스(34,36)에 또한 결합되어 있다. 따라서, 노드 프로세서(22), 데이터 버퍼 인터페이스 모듈(30), 디바이스 인터페이스(34,36)간의 액세스가 이루어질 수 있다. 지역 제어 버스 인터페이스(78)를 통해 노드 프로세서(22)는 다수의 기능을 수행할 수 있다. 즉, 데이터 메모리(32)에 페치하고, 저장하고, 하나 또는 그 이상의 디바이스 인터페이스(34,36)에 명령을 부여하고, 제어 메시지 라인(24)으로부터 데이터 메시지 라인(26)으로 데이터를 전송하고 역으로 데이터 메시지 라인(26)으로부터 제어 메시지 라인(24)으로 데이터를 전송할 수 있다.
출력 포트 로직(80)은 복수 개의 큐(90)를 포함하고, 거기에 다양한 수준의 우선 순위 메시지가 저장되고, 전송을 대기한다. 출력 포트 로직(80)은 다음으로 낮은 우선 순위 큐가 처리되기 전에 가장 높은 우선 순위의 큐 내에 있는 각 메시지의 전송을 시도한다. 메시지는 동일 노드의 제어 메시지 라인 인터페이스를 경유하여 출력 포트 로직(80)으로부터 입력 포트 로직(82)으로 전송될 수 있으나, 이러한 메시지는 통상 입/출력 스위치(42)를 경유하여 다른 노드들에 전송된다.
입력 포트 로직(82)은 제어 메시지 라인 인터페이스(58)로부터 제어 메시지를 받고 그것들을 간단히 버퍼링(buffer)한다. 입력 포트 로직(82)은 종류(즉, 하드웨어 수행 또는 프로세서 수행)에 따라 제어 메시지를 디코딩하고, 하드웨어 수행 메시지들을 이들을 수행하는 메시지 수행 유닛(83)으로 전송한다. 프로세서 수행 메시지는 수신된 제어 메시지 헤더 안의 코드에 의해 요청된 기능에 대응하는 논리적 입력 데이터 구조로 DRAM(28) 내 메모리 주소로 수신된다. 잠시 후에 상기 기능이 수행된다.
제5도를 참조하여 데이터 버퍼 인터페이스 모듈(30)을 상세히 설명한다. 구조적으로, 데이터 버퍼 인터페이스 모듈은 제어 메모리 인터페이스 모듈(27)과 유사하나 시간 날짜 클럭, 메시지 수행 유닛 또는 프로세서 버스 인터페이스가 포함되지 않는다. 데이터 버퍼 인터페이스 모듈(30)은 여러 가지의 연결된 기능들이 이들 사이에 통신을 가능하게 하는 스위치(100) 주위에 구성되어 있다. DRAM 콘트롤러(102)는 데이터 메모리(32)를 액세스할 수 있도록 한다. 지역 제어 버스 인터페이스(104)는 제어 메시지들의 수신과 전송이 가능하도록 지역 버스(35)(제2도 참조)를 통해서 제어 메모리 인터페이스 모듈(27)에 연결된다. 데이터 버스 인터 페이스(106)는 지역 버스(35)를 통해서 디바이스 인터페이스 모듈(34,36)로 액세스하도록 할 수 있고 디바이스 인터페이스 모듈(34,36)로부터 액세스될 수 있으며, 디바이스 인터페이스 모듈(34,36)은 각각 디스크 드라이버(38,40)에 연결된다. 출력 포트 로직 모듈(108)과 입력 포트 로직 모듈(110)은 제어 메모리 인터페이스(27)의 입/ 출력 포트 로직 모듈들과 거의 동일한 양식으로 구성된다. 그러나, 거기서 처리되는 데이터 구조가 더욱 복잡하다. 명령 수행 유닛(110)은 데이터 메시지 라인 기능들과 관련된 하드웨어 수행 메시지를 수행한다.
상기한 바와 같이 제어 메시지 라인과 데이터 메시지 라인을 구성한 결과, 제어 메시지와 데이터 메시지들은 실질적으로 독립하여 처리된다. 이에 의해 제어 메시지들이 처리되고 전송을 준비하는 동안 동시에 긴 데이터 메시지가 저장되고 전송될 수 있다. 결과적으로, 제어 메시지들을 위해 긴 데이터 메시지들의 처리를 중단(preemption)할 필요가 없다. 이러한 중단은 실질적으로 상태 저장, 로딩과 재로딩을 요구하고 데이터 메시지들을 위한 중요한 처리 오버헤드를 갖는다. 예를 들어, 디스크 드라이브로부터 데이터 메시지의 전송에서는, 노드들간의 데이터 메시지 전송은 관련된 제어 메시지들에 의해 적어도 다섯 번 중단된다. 이것은 실질적으로 유효 메시지 대역폭을 줄인다.
더욱이, 상기 시스템은 일정치 않은 긴 메시지 길이를 사용할 수 있고, 그러므로 메시지들을 명확히 메시지 세그먼트 길이로 분리하는(제어 메시지 패킷들을 삽입할 수 있음) 종래의 패킷 형태 스위칭 시스템(packet-type switching system)에서 벗어난다. 일정치 않은 긴 메시지 길이는 단일 메시지의 복수 필드들이 연관되어 단일 메시지가 되도록 함으로써 이루어진다. 각각의 필드는 필드 길이를 명기하는 구획 문자(delimiter)와 그것을 뒤따르는 순회 용장 체크 문자(cyclic redundancy check character)를 포함한다. 이것은 데이터가 CRC문자의 에러 검출능력(strength)을 초과하지 않고 하나의 메시지로 전송되는 것을 허락한다.
바람직하게 제어 메시지들은 두 종류로 부분 분할된다. 제어 메시지는 입력포트 로직 모듈(82)내에서 종류(class)에 따라 디코딩된다. 하나의 종류는 노드 프로세서에 의해 처리되어야 할 메시지들이고, 다른 하나의 종류는 노드 프로세서의 간섭을 요구하지 않고 노드의 하드웨어 내에서 처리될 수 있는 메시지들이다. 후자의 메시지 종류는 락메시지(lock message)들과 상태 추출 제어 메시지(state extraction control message)들을 포함한다. 락 메시지는 하나의 노드가 그 노드내에 있는 프로세서를 관련시키지 않고 다른 노드에 하나 또는 그 이상의 락(lock)을 획득하거나 해제하도록 한다. 이것은 락을 획득하기 위한 응답 시간과 오버헤드를 적어도 두 자리 수만큼 줄이고 요청 노드들이 락을 동기로 조작하도록 즉, 다른 태스크를 디스패치하지 않도록 하여, 상기 시스템의 응답 능력을 실질적으로 향상한다.
상태 획득 메시지들은 하나의 노드가 상기 노드 프로세서를 관련시키지 않고 다른 노드로부터 상태 정보를 추출하도록 하는 메시지이다. 이러한 메시지의 예로는, 노드 메모리에 저장된 데이터의 일부를 판독하게 하고 이것을 요청 노드(requesting node)로 되돌려 전송하는 제어 메시지가 있다. 이러한 메시지는 제어 메모리 인터페이스(27) 내의 명령 수행 유닛(74)에서 직접 처리된다. 이러한 명령의 하나는 목적지 노드의 메모리 위치로부터 데이터를 페치하게 하는 판독 목적지 주소(read destination address)이다. 메시지 본체는 복스 바이트 메모리 주소를 포함하고, 메시지가 목적지 노드에서 수신될 때, 목적지 노드의 명령 수행 유닛(74)은 제어 메시지 본체로부터의 데이터를 메시지 본체에 특정된 메모리 위치에 기록한다. 상기 메시지의 재디스패치(redispatch)는 액세스된 데이터를 요청 노드로 전달한다. 다른 제어 메시지로는, 임의의 수의 데이터 워드는 연속적인 메모리 위치에 저장되는 기록 멀티플(write mltiple)메시지가 있다. 제어 메시지의 본체는 메모리 주소와 상기 메모리 주소에서 시작하여 기록될 하나 또는 그 이상의 데이터 워드들로 구성된다.
상기한 것은 단지 본 발명의 실시예라고 이해되어야 한다. 다양한 대체와 변경이 본 발명의 정신을 일탈하지 않고 가해질 수 있다. 예를 들어, 제2도에서, DRAM 메모리(28,32)는 분리된 모듈들로 보이지만, 실제 구현시, 그것들은 바람직하게 단위 메모리 모듈의 두 개의 부분으로 구성될 수 있다. 더욱이, 제어 메모리 인터페이스 모듈(27)과 데이터 버퍼 인터페이스 모듈(30)의 기능들은 바람직하게 하나의 인터페이스 모듈(unitary interface module)로 결합될 수 있다.

Claims (10)

  1. 복수의 디스크 드라이브 제어기 노드들-여기서, 각 디스크 드라이브 제어기 노드는 양방향 통신 링크들을 통해서 N(단, N≥4)의 다른 제어기 노드들에 직접 접속되고, 그에 따라 각 상기 노드는 내부 메시지 취급 대역폭의 적어도 2배의 입/출력 대역폭을 가짐을 포함하는 디스크 드라이브 제어기 어레이로서 구성된 분산 데이터 처리 시스템에 있어서, 상기 각 디스크 제어기 노드들은, 제어 메시지들을 실질적으로 독립하여 취급하기 위한 제어 메시지 수단과; 제어 메시지들을 저장하기 위하여 상기 제어 메시지 수단에 결합된 제어 메모리 수단과; 데이터 메시지들을 실질적으로 독립하여 취급하기 위한 데이터 메시지 수단과; 상기 디스크 드라이브 수단으로 및 상기 디스크 드라이브 수단으로부터의 데이터 메시지들을 저장하기 위하여 상기 데이터 메시지 수단에 결합되어 있는 데이터 메모리 수단과; 상기 데이터 메시지 수단이 상기 데이터 메모리 수단으로부터의 데이터 메시지들을 대기 큐에 넣고, 디스패치하도록 하며, 상기 제어 메시지 수단이 상기 제어 메모리 수단으로부터의 제어 메시지들을 대기 큐에 넣고, 디스패치하도록 하기 위하여, 상기한 수단들 각각에 결합된 프로세서 수단-여기서, 상기 데이터 메시지들은 일반적으로 상기 제어 메시지보다 실질적으로 더 김과, 상기 N 양방향 통신 링크들과 상기 데이터 메시지 수단들과 상기 제어 메시지 수단들 사이에 결합되고, 라우팅 제어 수단을 포함하며, 상기 라우팅 제어 수단으로부터의 출력들에 따라 제어 메시지들 및 데이터 메시지들의 병행하여(concurrently) 디스패치할 수 있도록 상기 N개의 양방향 통신 링크들을 이용하는 입/출력(I/O) 스위치 수단-여기서, 상기 I/O 스위치 수단은 상기 데이터 메시지의 디스패치가 완료되기까지의 지연을 필요로 하지 않고, 상기 N개의 양방향 통신 링크들 중에서 사용 가능하고 가장 적합한 통신 링크를 동적으로 선택하여 상기 제어 메시지들을 디스패치함 을 포함하는 분산 데이터 처리 시스템.
  2. 제1항에 있어서, 상기 라우팅 제어 수단은 양방향 통신 링크를 통해서 수신된 메시지에 응답하여 여기서 상기 메시지는 다른 노드로 어드레스됨, 상기 프로세서 수단의 동작을 필요로 하지 않고 상기 다른 노드로 상기 메시지를 보내는 분산 데이터 처리 시스템.
  3. 제1항에 있어서, 상기 I/O 스위치 수단은 상기 데이터 메시지 수단 및 제어 메시지 수단으로부터 각각 수신된 순서로 데이터 메시지들 및 제어 메시지들을 디스패치하고, 데이터 메시지 및 제어 메시지들이 실질적으로 동시에 수신되는 경우에 상기 데이터 메시지 전에 상기 제어 메시지들을 디스패치하는 분산 데이터 처리 시스템.
  4. 제1항에 있어서, 상기 라우팅 제어수단은 각 목적지 노드를 위한 엔트리를 포함하는 테이블 수단-여기서, 상기 엔트리는 상기 목적지 노드로 어드레스된 메시지들을 위해 할당될 주 양방향 통신 링크와, 상기 주 양방향 통신 링크가 사용중(busy)인 경우에 채용될 복수의 대체 양방향 통신 링크들을 특정함-을 포함하는 분산 데이터 처리 시스템.
  5. 제1항에 있어서, 상기 목적지 노드를 위한 메시지에 첨부되는 각 어드레스는 상기 메시지가 상기 목적지 노드로 상기 양방향 통신 링크들 중의 단지 하나의 링크를 통해서 전송되는지 또는 복수의 링크를 통해서 전송되는지를 결정하기 위하여 상기 라우팅 제어 수단에 의해 채용되는 값을 포함하는 분산 데이터 처리 시스템.
  6. 제4항에 있어서, 상기 라우팅 제어 수단은, 상기 정보가 또 다른 노드를 나타내는지를 결정하기 위하여 수신된 메시지 헤더에 응답하고, 만일 그렇다면, 상기 프로세서 수단을 관련시키지 않고서, 상기 정보에 상응하는 상기 테이블 수단 내의 엔트리에 액세스하여 상기 메시지의 디스패치를 가능하게 하는 분산 데이터 처리 시스템.
  7. 제1항에 있어서, 상기 프로세서 수단은 에러 체크를 위하여 산재된 순회 용장 부호(CRC)를 갖는 무한히 긴 데이터 메시지들을 조립하기 위하여 상기 데이터 메시지 수단 및 데이터 메모리 수단을 제어하며, 상기 CRC의 에러 검출 능력 내에 있는 상기 무한히 긴 데이터 메시지들 내에 각 상기 CRC가 위치하며, 무한히 긴 데이터 메시지는 디스크 드라이브의 하나의 트랙 또는 트랙들로부터 판독된 바와 같은 데이터가 이어지는 헤더 정보를 포함하는 분산 데이터 처리 시스템.
  8. 제1항에 있어서, 수신된 제어 메시지들이 상기 프로세서 수단에 의해 처리될 제1형태인지 또는 명령 실행 유닛에 의해 처리될 제2형태인지를 결정하기 위한, 상기 제어 메시지 수단 내의 수단과; 제2형태 제어 메시지들을 수신하고 상기 프로세서 수단의 개입없이 상기 제2형태 제어 메시지에 의해 요구되는 동작을 수행하는 명령 실행 유닛을 포함하는 분산 데이터 처리 시스템.
  9. 제9항에 있어서, 상기 제2형태 제어 메시지는 상태 보고를 요구하고 상기 명령 실행 유닛은 상태값을 검색하고 상기 상태값을 응답 제어 메시지 내에 삽입하고 상기 응답 제어 메시지를 디스패치하는 분산 데이터 처리 시스템.
  10. 제1항에 있어서, 상기 제어 메모리 수단과 데이터 메모리 수단은 2부분으로 이루어진 하나의 랜덤 액세스 메모리를 포함하는 분산 데이터 처리 시스템.
KR1019960017493A 1995-05-24 1996-05-22 분산된 노드 사이 스위칭과 분리된 데이터/제어 메시지 처리를 갖는 다중 노드 네트워크 KR100219350B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US44890195A 1995-05-24 1995-05-24
US08/448,901 1995-05-24
US8/448,901 1995-05-24

Publications (2)

Publication Number Publication Date
KR960042414A KR960042414A (ko) 1996-12-21
KR100219350B1 true KR100219350B1 (ko) 1999-09-01

Family

ID=23782089

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960017493A KR100219350B1 (ko) 1995-05-24 1996-05-22 분산된 노드 사이 스위칭과 분리된 데이터/제어 메시지 처리를 갖는 다중 노드 네트워크

Country Status (4)

Country Link
US (1) US5675736A (ko)
EP (1) EP0744851A1 (ko)
JP (1) JP3365705B2 (ko)
KR (1) KR100219350B1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5796964A (en) * 1996-01-16 1998-08-18 International Business Machines Method for modifying an existing computer bus to enhance system performance
US5918017A (en) * 1996-08-23 1999-06-29 Internatioinal Business Machines Corp. System and method for providing dynamically alterable computer clusters for message routing
US5911148A (en) * 1997-05-29 1999-06-08 International Business Machines Corporation Automated message processing system configured for automated tape device management
US6134630A (en) 1997-11-14 2000-10-17 3Ware High-performance bus architecture for disk array system
JP3449204B2 (ja) * 1998-01-23 2003-09-22 ソニー株式会社 制御装置、無線伝送装置及び無線伝送方法
US6687754B1 (en) * 1998-08-27 2004-02-03 Intel Corporation Method of detecting a device in a network
US6460120B1 (en) 1999-08-27 2002-10-01 International Business Machines Corporation Network processor, memory organization and methods
US6404752B1 (en) 1999-08-27 2002-06-11 International Business Machines Corporation Network switch using network processor and methods
US6658484B1 (en) * 1999-09-23 2003-12-02 Sharp Laboratories Of America, Incorporated Message control system
US7042837B1 (en) * 2000-10-25 2006-05-09 Sun Microsystems, Inc. Automatic link failover in data networks
US6952419B1 (en) 2000-10-25 2005-10-04 Sun Microsystems, Inc. High performance transmission link and interconnect
US20020169680A1 (en) * 2001-05-10 2002-11-14 International Business Machines Corporation Method and apparatus for building commercial distributed computing networks via computer cost subsidization
US6728790B2 (en) * 2001-10-15 2004-04-27 Advanced Micro Devices, Inc. Tagging and arbitration mechanism in an input/output node of a computer system
US6848015B2 (en) * 2001-11-30 2005-01-25 Hewlett-Packard Development Company, L.P. Arbitration technique based on processor task priority
US7092990B2 (en) * 2002-06-26 2006-08-15 International Business Machines Corporation Handling node address failure in a distributed nodal system of processors
CN1295633C (zh) * 2002-12-26 2007-01-17 华为技术有限公司 一种多cpu通信的方法
US7814188B2 (en) 2003-12-16 2010-10-12 Honeywell International Inc. Synchronized wireless communications system
US7165118B2 (en) * 2004-08-15 2007-01-16 Microsoft Corporation Layered message processing model
WO2006124357A2 (en) 2005-05-11 2006-11-23 Bigfoot Networks, Inc. Distributed processing system and method
US20070060373A1 (en) * 2005-09-12 2007-03-15 Bigfoot Networks, Inc. Data communication system and methods
US9455844B2 (en) * 2005-09-30 2016-09-27 Qualcomm Incorporated Distributed processing system and method
WO2008011253A2 (en) * 2006-07-17 2008-01-24 Bigfoot Networks, Inc. Host posing network device and method thereof
US8874780B2 (en) * 2006-07-17 2014-10-28 Qualcomm Incorporated Data buffering and notification system and methods thereof
US20080126956A1 (en) 2006-08-04 2008-05-29 Kodosky Jeffrey L Asynchronous Wires for Graphical Programming
EP2115619B1 (en) * 2007-01-26 2014-08-06 Qualcomm Incorporated Communication socket state monitoring device and methods thereof
EP2140350B1 (en) * 2007-03-23 2017-04-05 Qualcomm Incorporated Distributed processing method and computer program product
WO2008118807A1 (en) * 2007-03-26 2008-10-02 Bigfoot Networks, Inc. Method and system for communication between nodes
WO2009014951A1 (en) * 2007-07-20 2009-01-29 Bigfoot Networks, Inc. Remote access diagnostic device and methods thereof
WO2009014971A1 (en) * 2007-07-20 2009-01-29 Bigfoot Networks, Inc. Client authentication device and methods thereof
EP2225664A4 (en) * 2007-11-29 2010-11-10 Bigfoot Networks Inc TELEPHONE GUIDANCE GUIDANCE APPARATUS AND METHOD THEREFOR
US20110040740A1 (en) * 2009-08-15 2011-02-17 Alex Nugent Search engine utilizing flow networks
JP5333200B2 (ja) * 2009-12-25 2013-11-06 富士通株式会社 パケット通信制御装置、メモリアクセス制御装置及び情報処理システム
FR2996091B1 (fr) * 2012-09-21 2015-07-17 Thales Sa Noeud fonctionnel pour un reseau de transmission d'informations et reseau correspondant

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3676846A (en) * 1968-10-08 1972-07-11 Call A Computer Inc Message buffering communication system
US4380046A (en) * 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
US4330858A (en) * 1979-06-29 1982-05-18 International Business Machines Corporation Time domain supervisory channel for data terminal equipments
EP0232859A3 (en) * 1986-01-27 1989-08-30 International Business Machines Corporation Processor intercommunication network
US5117420A (en) * 1987-04-27 1992-05-26 Thinking Machines Corporation Method and apparatus for routing message packets
US5191410A (en) * 1987-08-04 1993-03-02 Telaction Corporation Interactive multimedia presentation and communications system
US5008882A (en) * 1987-08-17 1991-04-16 California Institute Of Technology Method and apparatus for eliminating unsuccessful tries in a search tree
US4942517A (en) * 1987-10-08 1990-07-17 Eastman Kodak Company Enhanced input/output architecture for toroidally-connected distributed-memory parallel computers
US4899333A (en) * 1988-03-31 1990-02-06 American Telephone And Telegraph Company At&T Bell Laboratories Architecture of the control of a high performance packet switching distribution network
US5105424A (en) * 1988-06-02 1992-04-14 California Institute Of Technology Inter-computer message routing system with each computer having separate routinng automata for each dimension of the network
FR2645380B1 (fr) * 1989-03-30 1991-05-24 Cit Alcatel Dispositif de traitement de messages de signalisation dans un reseau de telecommunication en technique temporelle asynchrone
US5170393A (en) * 1989-05-18 1992-12-08 California Institute Of Technology Adaptive routing of messages in parallel and distributed processor systems
US5113398A (en) * 1989-06-01 1992-05-12 Shackleton System Drives Corporation Self-healing data network and network node controller
US5088091A (en) * 1989-06-22 1992-02-11 Digital Equipment Corporation High-speed mesh connected local area network
US5218676A (en) * 1990-01-08 1993-06-08 The University Of Rochester Dynamic routing system for a multinode communications network
US5230047A (en) * 1990-04-16 1993-07-20 International Business Machines Corporation Method for balancing of distributed tree file structures in parallel computing systems to enable recovery after a failure
US5130992A (en) * 1990-04-16 1992-07-14 International Business Machines Corporaiton File-based redundant parity protection in a parallel computing system
US5173689A (en) * 1990-06-25 1992-12-22 Nec Corporation Self-distributed logical channel node failure restoring system
US5293377A (en) * 1990-10-05 1994-03-08 International Business Machines, Corporation Network control information without reserved bandwidth
US5289460A (en) * 1992-07-31 1994-02-22 International Business Machines Corp. Maintenance of message distribution trees in a communications network

Also Published As

Publication number Publication date
JPH08320839A (ja) 1996-12-03
EP0744851A1 (en) 1996-11-27
JP3365705B2 (ja) 2003-01-14
KR960042414A (ko) 1996-12-21
US5675736A (en) 1997-10-07

Similar Documents

Publication Publication Date Title
KR100219350B1 (ko) 분산된 노드 사이 스위칭과 분리된 데이터/제어 메시지 처리를 갖는 다중 노드 네트워크
US5940612A (en) System and method for queuing of tasks in a multiprocessing system
JP3599197B2 (ja) 待ち時間が可変の、プロセッサをメモリに接続する相互接続ネットワーク
US5842038A (en) Optimized input/output memory access request system and method
EP0991999B1 (en) Method and apparatus for arbitrating access to a shared memory by network ports operating at different data rates
EP0391583B1 (en) Dual-path computer interconnect system with four-ported packet memory control
US5020020A (en) Computer interconnect system with transmit-abort function
US5898881A (en) Parallel computer system with error status signal and data-driven processor
US5701416A (en) Adaptive routing mechanism for torus interconnection network
US5859975A (en) Parallel processing computer system having shared coherent memory and interconnections utilizing separate undirectional request and response lines for direct communication or using crossbar switching device
JP4124491B2 (ja) 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ
US5187780A (en) Dual-path computer interconnect system with zone manager for packet memory
KR20030007447A (ko) 내부 프로세서 메모리 공간을 이용한 고속 데이터 처리
JPH0728764A (ja) プロセツサ−メモリ間のトラフイツク径路指定装置及び方法
US5125096A (en) System for implementing to a packet switch protocol for a multinode data communications network utilizing separate data and control paths
US5293377A (en) Network control information without reserved bandwidth
JPS61214694A (ja) データ伝送のスイッチング装置
JP2010218364A (ja) 情報処理システム、通信制御装置および方法
US5557266A (en) System for cascading data switches in a communication node
US11615053B2 (en) Routing in a network of processors
US7218638B2 (en) Switch operation scheduling mechanism with concurrent connection and queue scheduling
JPH07262151A (ja) 並列プロセッサシステムおよびそれに適したパケット廃棄方法
US11520726B2 (en) Host connected computer network
US7272151B2 (en) Centralized switching fabric scheduler supporting simultaneous updates
Peterson et al. A high-speed message-driven communication architecture

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: 20080526

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee