KR100250465B1 - 고속병렬컴퓨터의 메시지 전송 방법 - Google Patents

고속병렬컴퓨터의 메시지 전송 방법 Download PDF

Info

Publication number
KR100250465B1
KR100250465B1 KR1019970057675A KR19970057675A KR100250465B1 KR 100250465 B1 KR100250465 B1 KR 100250465B1 KR 1019970057675 A KR1019970057675 A KR 1019970057675A KR 19970057675 A KR19970057675 A KR 19970057675A KR 100250465 B1 KR100250465 B1 KR 100250465B1
Authority
KR
South Korea
Prior art keywords
message
transmission
header
allocated
size
Prior art date
Application number
KR1019970057675A
Other languages
English (en)
Other versions
KR19990038051A (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 정선종
Priority to KR1019970057675A priority Critical patent/KR100250465B1/ko
Publication of KR19990038051A publication Critical patent/KR19990038051A/ko
Application granted granted Critical
Publication of KR100250465B1 publication Critical patent/KR100250465B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 고속병렬컴퓨터의 내부 네트워크인 엑센트네트를 통한 메시지 전송 방법에 관한 것이다.
종래의 멀티컴퓨터 시스템 환경에서는 시스템을 구성하는 네트워크 매체에 따라 자료 전송 방법을 개발하였지만, 고속병렬컴퓨터 환경에서의 자료 전송 방법으로 사용할 수 없으므로 고속병렬컴퓨터에 맞는 새로운 자료 전송 방법을 개발해야 한다.
본 발명에서는 원격 노드간의 메시지 전송을 위해 고속병렬컴퓨터의 내부 네트워크인 엑센트네트를 이용한다. 그리고 운영체제에서는 엑센트네트를 사용하기 위해서 처리기와 엑센트네트와의 인터페이스 보드인 XNIF를 이용한다. 따라서, 메시지 전송 방법은 이 XNIF 보드의 특성을 고려하여 전송할 메시지의 형태를 설계하고 효율적인 송신 방법을 개발한다.
본 발명은 고속병렬컴퓨터의 운영체제 기능 중 원격 노드간 대량 메시지 송신 방법으로 사용된다.

Description

고속병렬컴퓨터의 메시지 전송 방법
본 발명은 다수의 노드들로 구성된 고속병렬컴퓨터에서 대량의 자료를 원격 노드에 전송하기 위한 방법에 관한 것으로, 특히 고속병렬컴퓨터의 엑센트네트(Xcent Net)를 이용한 목적지 노드로의 메시지 전송 방법에 관한 것이다.
고속병렬컴퓨터는 여러 노드들로 구성된 멀티컴퓨터이다. 즉, 여러개의 노드들이 빠른 내부 네트워크로 연결되어 있는 시스템이다. 그리고 이러한 시스템 구조는 각 노드에 같은 운영체제가 탑재되어 여러개의 운영체제가 존재한다. 이러한 환경에서 각 노드의 운영체제가 다른 노드의 운영체제와 통신을 하기 위해서는 엑센트네트를 통해야 한다.
종래의 멀티컴퓨터 시스템 환경에서는 시스템을 구성하는 네트워크 매체에 따라 자료 전송 방법을 개발하였지만, 고속병렬컴퓨터 환경에서의 자료 전송 방법으로 사용할 수 없으므로 고속병렬컴퓨터에 맞는 새로운 자료 전송 방법을 개발해야 한다.
따라서, 본 발명은 고속병렬컴퓨터의 내부 네트워크인 엑센트네트를 이용하여 대량의 자료를 목적지 노드에 전송하는 기능을 운영체제에 제공하는 고속병렬컴퓨터의 메시지 전송 방법을 제공하는데 그 목적이 있다.
상술한 목적을 달성하기 위한 본 발명은 메시지 헤더를 구축하기 위해 메모리 영역을 할당하고, 전송 완료를 대기할 장소를 할당 받는 단계와, 메시지 전송 방식이 동기식 전송일 경우 응답 메시지를 기다리는 장소를 할당 받고 송신할 메시지의 크기를 계산하고, 동기식 전송이 아닐 경우 바로 송신할 메시지의 크기를 계산하는 단계와, 상기 송신할 메시지의 크기를 계산한 후 계산된 크기로 송신할 메시지의 바디 구축을 위한 메모리를 할당 받는 단계와, 상기 메시지 송신 방식이 동기식 전송일 경우 상대방 시스템 서버에게 통보하기 위해 응답 메시지의 크기를 계산하며 할당 받은 헤더 영역에 헤더의 내용을 구축하고, 상기 메시지 송신 방식이 동기식 전송이 아닐 경우 바로 할당 받은 헤더 영역에 헤더의 내용을 구축하는 단계와, 상기 헤더의 내용을 구축한 후 바디를 구축하고, 메시지 송신 버퍼중 비어있는 부분이 있는지를 검사하는 단계와, 상기 메시지 송신 버퍼중 비어있는 버퍼가 있을 경우 비어있는 버퍼에 헤더 내용을 기록한 후 기록한 헤더 메시지의 내용이 메시지 송신 버퍼의 빈 공간으로 이동될 때 까지 대기하는 단계와, 상기 헤더 메시지의 내용중 메시지 송신 루틴에서 인터럽트 인에이블을 설정하여 메시지 송신 완료를 대기하는 단계와, 상기 인터럽트 인에이블의 설정에 의하여 메시지 송신 완료가 통보되어 헤더와 바디를 구축하기 위해서 할당 받은 메모리를 반환하는 단계와, 상기 메시지 송신 방식이 동기식 전송일 경우 응답 메시지를 기다리고, 목적지 노드로부터 전달 받은 응답 메시지의 내용을 읽어 시스템 서버에게 통보할 내용으로 바꾸어 전달하며, 응답 메시지 대기를 위해 할당 받은 장소와 전송 완료 대기를 위해 할당 받은 장소를 반환한 후 종료하는 단계와, 상기 메시지 송신 방식이 비동기식 전송일 경우 전송 완료 대기를 위해 할당 받은 장소를 반환한 후 종료하는 단계를 포함하여 이루어진 것을 특징으로 한다.
도 1은 본 발명이 적용되는 고속병렬컴퓨터의 구성도.
도 2(a) 및 도 2(b)는 본 발명이 적용되는 고속병렬컴퓨터의 XNIF의 구성도.
도 3은 고속병렬컴퓨터의 운영체제 개략 구성도 및 원격 전송의 개략적인 절차도.
도 4(a) 및 도 4(b)는 고속병렬컴퓨터의 운용체제에서 사용되는 메시지 형태를 도시한 도면.
도 5는 본 발명에 따른 고속병렬컴퓨터의 XNIF를 통해 메시지를 원격 노드에 송신하는 절차를 설명하기 위한 흐름도.
<도면의 주요 부분에 대한 부호 설명>
11 : 클러스터 12 : 엑센트네트
13 : 처리기 노드 14 : 입출력 노드
15 : 통신제어 노드 16 : 처리기
17 : 공유 메모리 18 : PCI 버스
19 : 엑센트 네트워크 정합기
본 발명은 고속병렬컴퓨터 운영체제가 대량의 자료를 고속병렬컴퓨터의 내부 네트워크인 엑센트네트로 전송할 수 있는 형태로 만들어 전송하고 관리하는 것이다.
고속병렬컴퓨터에서 각 노드에 탑재되는 운영체제는 마이크로커널 기반의 운영체제로 크게 다수의 시스템 서버와 마이크로커널로 구성된다. 시스템 서버는 각 기능별로 분리하여 개별적인 형태로 존재한다. 따라서 마이크로커널 기반의 운영체제에서는 서버간 통신 방법이 요구된다.
통신 방법은 두 가지 종류가 있다. 송신에 대한 응답을 기다리는 동기식 통신과 응답을 기다리지 않는 비동기식 통신이 있다. 이들 통신 방법은 마이크로커널에서 지원되며, 통신할 서버의 위치에 따라 지역 통신 또는 원격 통신을 수행한다. 한편, 서버간 통신을 위해서 서버간 자료 전송 형태를 정의하여 사용하며, 실제 전송을 담당하는 마이크로커널에서는 시스템을 구성하는 네트워크 매체에 따라 서버간 자료 전송 형태를 알맞은 형태로 바꾸어 전송한다.
또한, 본 발명에서 언급되는 통신은 포트(port) 기반 통신이다. 포트는 메시지 수신을 위한 주소이며, 각 서버가 메시지 통신을 원하면 포트를 만들어야 한다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명이 적용되는 고속병렬컴퓨터의 구성도이다. 클러스터(11)는 다수의 노드가 고속의 네트워크로서 크로스바 스위치인 엑센트네트(Xcent Net)(12)에 상호 연결되어 형성된다. 노드는 4개의 처리기(16), 공유 메모리(17), 그리고 엑센트네트(12)와의 인터페이스를 담당하는 엑센트 네트워크 정합기(Xcent Network Interface: 이하 XNIF라 함)(19)가 주변기기 상호 연결(Peripheral Component Interconnect: 이하 PCI라 함) 버스(18)에 접속된 대칭적 다중 처리기(Symmetric Multi Processor; SMP) 구조로 되어 있고, 각 노드에는 마이크로 커널에 기반하여 여러 가지 기능적으로 모듈화된 서버가 탑재되어 운용되며 상호 메시지 전송 방식으로 통신한다. 또한 노드는 기능적으로 처리기 노드(Processing Node)(13), 입출력 노드(Input/Output Node)(14), 그리고 통신 제어 노드(Communication Control Node)(15)로 구별되며, 이들은 노드 내부의 PCI 버스에 접속된 주변 장치(Peripheral Devices)의 종류에 따라서 논리적으로 구분된다.
도 2(a) 및 도 2(b)는 본 발명이 적용되는 엑센트네트의 인터페이스 보드인 XNIF의 구성도이다.
도 2(a)는 XNIF의 내부 구성과 주변과의 연결 관계를 도시한 것으로, XNIF(19)는 PCI 버스(201)에 의해 처리기와 연결되며, 송신부인 송신 네트워크 인터페이스(Send Network Interface: 이하 SNI라 함)(202)와 수신부인 수신 네트워크 인터페이스(Receive Network Interface: 이하 RNI라 함)(203)로 크게 나눌 수 있다. 또한, 이들 SNI(202)와 RNI(203)는 엑센트네트(204)와의 송신 및 수신 역할을 한다.
도 2(b)는 XNIF중 SNI의 내부 구성도이다. 직접 메모리 액세스(Direct Memory Access; DMA) 제어 유니트(205)는 메시지 전송을 위해 전송할 데이터를 공유 메모리에서 읽어 오는 기능을 한다. 버스 인터페이스 유니트(206)는 SNI(202)와 PCI 버스(201)와의 인터페이스를 제공한다. 버퍼 제어 유니트(207)는 메시지 버퍼(210)의 쓰기 및 읽기를 제어한다. 재시도 제어 유니트(208)는 전송 오류가 발생한 경우 전송을 재시도하는 기능을 한다. 메시지 송신 유니트(209)는 SNI(202)에서 제어의 핵심이 되며, 메시지를 엑센트네트로 송신하는 과정을 제어한다. 메시지 송신 버퍼(Message Send Buffer: 이하 MSB라 함)(210)는 64 바이트 크기의 버퍼가 4개씩 두 개로 구성된 버퍼로 전송 요청을 받은 메시지를 저장하는 곳이다. 이 MSB(210)는 버퍼 제어 유니트(207)에 의해서 관리된다. 연결망 제어 유니트(211)는 엑센트 네트에 연결된 출력 포트를 제어한다. 패킷 송신 유니트(212)는 엑센트 네트로 메시지를 패킷 단위로 송신한다. MSB 제어 레지스터(MSB Control Register: 이하 MCR라 함)(213)는 MSB(210)의 상태를 나타내거나 제어하기 위해 사용되는 것이고, 송신 상태 레지스터(Send Status Register; SSR)(213)는 전송 오류 정보를 저장한다. 이와 같은 SNI(202) 구조에서 마이크로 커널이 원격 노드에 메시지를 송신하기 위해서는 MSB(210)와 MCR(213)만 이용하면 된다.
도 3은 노드에 고속병렬컴퓨터의 운영체제가 탑재된 개략적인 구성도 및 원격 노드에 XNIF의 SNI를 통한 메시지 전송 절차를 도시한 도면이다. 고속병렬컴퓨터 운영체제(30)는 노드의 공유 메모리에 탑재되고, 마이크로커널(31)과 다수의 시스템 서버(32)로 구성되며, 메시지 전송 루틴(33)은 마이크로커널(32)에 존재한다. 메시지 전송 루틴(33)은 시스템 서버(32)에서 메시지 전송의 필요에 따라 호출하므로써 수행된다. 전송할 메시지를 수신한 메시지 전송 루틴(33)은 고속병렬컴퓨터의 네트워크 매체에 알맞은 형태로 메시지를 변형한 후, XNIF의 SNI를 통해 메시지를 원격 노드에 송신한다. 그리고 원격 노드에 메시지를 송신한 메시지 전송 루틴(33)은 안전한 송신 여부를 기다리며 동기식 전송에 대해서는 응답 메시지를 기다린다.
도 4(a) 및 도 4(b)는 고속병렬컴퓨터의 운용체제에서 사용되는 메시지 형태를 도시한 것으로, 도 4(a)는 시스템 서버에서 사용되는 메시지 형태를 도시한 것이다. 시스템 서버에서 사용되는 메시지 형태는 크게 바디(Body) 메시지와 어넥스(Annex) 메시지로 나눌 수 있으며, 플래그(flag)(401), 바디 메시지 크기 필드(402), 바디 메시지 위치 필드(403) 및 어넥스 메시지 위치 필드(404)로 이루어져 있다. 어넥스 메시지의 크기는 120 바이트로 제한되어 있고, 바디 메시지는 가변적인 크기를 갖을 수 있다. 바디 메시지가 존재하면 반드시 메시지 크기를 기록하여야 한다.
도 4(b) 시스템 서버에서 사용되는 메시지를 엑센트네트를 통해 원격 노드에 전송하기 위해 변형한 메시지의 형태를 도시한 것이다. 엑센트네트를 통해 전송할 메시지의 형태는 XNIF의 SNI 기능에 정해지며, 크게 헤더(Header) 부분(405)과 바디(Body) 부분(406)으로 구분된다.
헤더 부분(405)은 전송될 메시지의 정보, 전송될 노드의 위치 및 전송 방법 등의 내용들을 기록하는데 다음과 같이 이루어져 있다.
데이터 비트(Data: 이하 D라 함)(407)는 고속병렬컴퓨터에서 제공하는 메시지 종류를 나타낸다. D가 1이면 대량 메시지를 전송할 수 있는 데이터 메시지를 의미한다. 본 발명에서는 대량 메시지 전송 방법이므로 D가 1인 경우만 고려한다. 긴급 비트(Emergency; E)(408)은 긴급 메시지, 브로드캐스트 비트(Broadcast; B)(409)는 브로드캐스트 전송, 멀티캐스트 비트(Multicast; M)(410)는 멀티캐스트 전송을 의미한다. 인터럽트 인에이블 비트(Interrupt Enable; IE)(411)에 값이 설정되면, 메시지를 송신한 후 목적지 노드에 안전하게 도착하였음을 메시지 송신 루틴에게 인터럽트로 송신 완료를 통보한다. 목적지 노드 식별자 비트(Destination Node Identification; DNI)(412)는 목적지 노드의 위치를 나타내며, 출발지 노드 식별자 비트(Source Node Identification; SNI)(414)는 출발지 노드를 의미한다. 메시지 길이 비트(Message Length; ML)(413)는 헤더의 크기를 나타내며, 출발지 프로세스 식별자 비트(Source Process Identifier; SPI) (415)는 고속병렬컴퓨터의 노드에 처리기가 4개 있으므로 송신을 요구한 처리기 번호를 기록한다. 이상에서 설명된 각각의 비트들을 메시지 전송 정보 필드라 할 수 있다.
그리고 메시지가 있는 위치(416)는 헤더의 바디 부분(406)의 시작 위치를 나타내며, 메시지 크기(417)는 메시지를 64 바이트 단위로 계산하여 기록한다. 그리고 목적지 노드에 메시지가 저장될 위치(418)를 알면 기록하며, 모르는 경우는 XNIF의 RNI의 임시 저장소에 보관한다. 또한 IE(411)가 1이면 메시지 송신을 요구한 쓰레드가 목적지 노드에 메시지가 잘 도착했는지 여부를 기다리므로, 이 경우를 위해서 메시지 도착 확인을 기다리는 쓰레드 위치(419)를 기록해야 한다.
바디 부분(406)은 다음과 같이 구성된다. 먼저, 시스템 서버가 요구한 전송 형태(420)는 동기식 전송 또는 비동기식 전송을 기록한다. 그리고 전송 형태(420)가 동기식 전송이면, 응답 메시지를 기다리는 쓰레드의 위치(421)를 기록한다. 수신 포트 정보(422)는 시스템 서버가 요구한 메시지가 전달될 목적 노드에 있는 시스템 서버의 포트 정보이며, 송신 포트 정보(423)와 송신 엑터 정보(424)는 메시지를 송신하는 시스템 서버의 포트 및 엑터 정보이다. 응답 크기(425)는 동기식 전송을 할 때 응답 메시지의 크기를 나타내며, 어넥스 메시지 내용(426)은 시스템 서버에서 전달되는 어넥스 메시지이다. 바디 메시지 존재 여부(427)는 시스템 서버에서 전달되는 바디 메시지가 있으면 값을 설정한다. 그리고 바디 메시지 크기(428)는 바디 메시지 크기 필드(402)의 내용이며, 바디 메시지 내용(429)은 바디 메시지 위치 필드(403)의 내용으로 구축한다.
따라서, 고속병렬컴퓨터에서 원격 노드에 메시지를 송신하기 위해서는 시스템 서버에서 사용되는 메시지 형태를 엑센트네트에 알맞은 형태로 바꾸어야 한다. 즉, 도 4(a)에서 설명된 메시지 형태를 도 4(b)에서 설명된 메시지 형태로 바꾸어야 한다.
도 5는 본 발명에 따른 고속병렬컴퓨터의 메시지 전송 방법을 설명하기 위한 흐름도로서, 시스템 서버에서 전달된 메시지를 엑센트네트에 알맞은 형태로 변환하여 XNIF의 SNI를 통해 원격 노드에 송신하는 과정을 도시한 흐름도이다.
메시지 헤더(Header)를 구축하기 위해 메모리 영역을 할당하고(501), 전송 완료를 대기할 장소를 할당 받는다(502). 여기서 할당 받은 장소의 내용은 메시지 도착 확인을 기다리는 쓰레드 위치에 기록된다. XNIF의 SNI에서 메시지 전송이 완료되면, 전송 완료 인터럽트가 발생되고 인터럽트 처리 루틴은 메시지 도착 확인을 기다리는 쓰레드 위치의 내용으로 메시지 전송 완료를 해당 쓰레드에게 통보한다. 메시지 전송 방식이 동기식 전송인지 확인하여(503) 동기식 전송이면, 응답 메시지를 기다려야 하므로 응답 메시지를 기다리는 장소도 할당 받고(504), 송신할 메시지의 크기를 계산한다(505). 동기식 전송이 아니면, 바로 송신할 메시지의 크기를 계산하여(505) 계산된 크기로 송신할 메시지의 바디 구축을 위한 메모리를 할당 받는다(506). 또한, 동기식 전송인지 확인하여(507) 동기식 전송이면, 상대방 시스템 서버에게 알리기 위해 응답 메시지 크기도 계산한다(508). 할당 받은 헤더 영역에 목적지 노드, 전송 방식, 바디 위치 및 크기, 메시지 크기 등의 내용으로 헤더를 구축한다(509). 그리고 시스템 서버로부터 받은 메시지 내용과 수신 포트 정보 등으로 바디를 구축한다(510). 동기식 전송이 아니면, 바로 단계 (509) 및 (510)을 수행한다. 헤더와 바디 부분의 구축이 완료되면, 헤더를 XNIF의 SNI 부분 중 MSB에 쓰기를 해야 메시지가 전송된다. 따라서, 8개의 MSB 버퍼 중 빈 버퍼를 찾는다(511). 빈 버퍼가 있으면, 할당 받은 MSB에 헤더 내용을 기록한다(512). 헤더 내용 중에는 바디 내용을 가리키는 부분이 있기 때문에 바디 메시지 전송에는 문제가 없다. MSB는 64바이트의 버퍼가 4개씩 두 개로 구성되어 있으므로 SNI의 크기는 64바이트인 것처럼 메시지 송신 루틴에게 제공한다. 따라서, 기록한 헤더 메시지 내용이 MSB의 빈 공간으로 이동될 때 까지 기다려야 한다(513). 쓰기를 완료한 메시지는 SNI에 의해서 목적지 노드의 RNI에 도착한다. 메시지 송신 루틴이 메시지가 목적지 노드에 안전하게 도달했는지를 조사하기 위해서 헤더 메시지의 내용중 IE에 1 값을 설정한다. IE에 값이 설정되면, 메시지 송신 완료를 기다린다(514). 메시지 송신 완료는 메시지 송신 완료 인터럽트에 의해서 통보되며, 이 인터럽트 발생은 안전하게 메시지 송신이 완료되었음을 의미한다. 따라서, 헤더와 바디를 구축하기 위해서 할당 받은 메모리를 반환한다(515). 그리고 동기식 전송인지를 확인하여(516) 동기식 전송이면 응답 메시지를 기다리는데(517), 응답 메시지는 메시지 수신 인터럽트에 의해서 전달된다. 목적지 노드로부터 전달 받은 응답 메시지의 내용을 읽어 시스템 서버에게 통보할 내용으로 바꾸어 전달하며(518), 응답 메시지 대기를 위해 할당 받은 장소를 반환하고(519), 전송 완료 대기를 위해 할당 받은 장소를 반환한다(520). 비동기식 전송이면, 바로 단계 (520)을 수행한다.
상술한 바와 같이 본 발명은 시스템 서버와 마이크로 커널로 구성된 고속병렬컴퓨터 운영체제 기능 중 원격 노드간 대량의 메시지 전송에 사용되며, 사용자에게는 메시지 송수신 시스템 호출을 제공하여 표준 메시지 전달 인터페이스(Message Passing Interface; MPI) 프로그램을 할 수 있도록 한다.

Claims (1)

  1. 메시지 헤더를 구축하기 위해 메모리 영역을 할당하고, 전송 완료를 대기할 장소를 할당 받는 단계와,
    메시지 전송 방식이 동기식 전송일 경우 응답 메시지를 기다리는 장소를 할당 받고 송신할 메시지의 크기를 계산하며, 동기식 전송이 아닐 경우 바로 송신할 메시지의 크기를 계산하는 단계와,
    상기 송신할 메시지의 크기를 계산한 후 계산된 크기로 송신할 메시지의 바디 구축을 위한 메모리를 할당 받는 단계와,
    상기 메시지 송신 방식이 동기식 전송일 경우 응답 메시지 크기를 계산하며 할당 받은 헤더 영역에 헤더의 내용을 구축하고, 상기 메시지 송신 방식이 동기식 전송이 아닐 경우 바로 할당 받은 헤더 영역에 헤더의 내용을 구축하는 단계와,
    상기 헤더의 내용을 구축한 후 바디를 구축하고, 메시지 송신 버퍼중 비어있는 부분이 있는지를 검사하는 단계와,
    상기 메시지 송신 버퍼중 비어있는 버퍼가 있을 경우 비어있는 버퍼에 헤더 내용을 기록한 후 기록한 헤더 메시지의 내용이 메시지 송신 버퍼의 빈 공간으로 이동될 때 까지 대기하는 단계와,
    상기 헤더 메시지의 내용중 메시지 송신 루틴에서 인터럽트 인에이블을 설정하여 메시지 송신 완료를 대기하는 단계와,
    상기 인터럽트 인에이블의 설정에 의하여 메시지 송신 완료가 통보되어 헤더와 바디를 구축하기 위해서 할당 받은 메모리를 반환하는 단계와,
    상기 메시지 송신 방식이 동기식 전송일 경우 응답 메시지를 기다리고, 목적지 노드로부터 전달 받은 응답 메시지의 내용을 읽어 시스템 서버에게 통보할 내용으로 바꾸어 전달하며, 응답 메시지 대기를 위해 할당 받은 장소와 전송 완료 대기를 위해 할당 받은 장소를 반환한 후 종료하는 단계와,
    상기 메시지 송신 방식이 비동기식 전송일 경우 전송 완료 대기를 위해 할당 받은 장소를 반환한 후 종료하는 단계를 포함하여 이루어진 것을 특징으로 하는 고속병렬컴퓨터의 메시지 전송 방법.
KR1019970057675A 1997-11-03 1997-11-03 고속병렬컴퓨터의 메시지 전송 방법 KR100250465B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970057675A KR100250465B1 (ko) 1997-11-03 1997-11-03 고속병렬컴퓨터의 메시지 전송 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970057675A KR100250465B1 (ko) 1997-11-03 1997-11-03 고속병렬컴퓨터의 메시지 전송 방법

Publications (2)

Publication Number Publication Date
KR19990038051A KR19990038051A (ko) 1999-06-05
KR100250465B1 true KR100250465B1 (ko) 2000-04-01

Family

ID=19524028

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970057675A KR100250465B1 (ko) 1997-11-03 1997-11-03 고속병렬컴퓨터의 메시지 전송 방법

Country Status (1)

Country Link
KR (1) KR100250465B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010037724A (ko) * 1999-10-19 2001-05-15 박종섭 비동기 이동통신 시스템에서 동기식 메시지 처리방법
KR20210000533U (ko) 2021-01-19 2021-03-08 김은석 전기드릴을 이용한 발 제작용 카본봉의 천공장치

Also Published As

Publication number Publication date
KR19990038051A (ko) 1999-06-05

Similar Documents

Publication Publication Date Title
US7401126B2 (en) Transaction switch and network interface adapter incorporating same
US7352763B2 (en) Device to receive, buffer, and transmit packets of data in a packet switching network
TW544589B (en) Loosely coupled-multi processor server
US5592625A (en) Apparatus for providing shared virtual memory among interconnected computer nodes with minimal processor involvement
KR100773013B1 (ko) 메모리를 통해 데이터 처리 시스템들간의 데이터 흐름을제어하기 위한 방법 및 장치
JP3165022B2 (ja) コンピュータ・システム及びメッセージ転送方法
US5915088A (en) Interprocessor messaging system
CA2011935A1 (en) Dual-path computer interconnect system with four-ported packet memory control
US6061274A (en) Methods and apparatus for message transfer in computer storage system
KR20030071856A (ko) 메모리를 통해 데이터 처리 시스템들간의 데이터 흐름을제어하기 위한 방법 및 장치
US6816889B1 (en) Assignment of dual port memory banks for a CPU and a host channel adapter in an InfiniBand computing node
JPH076107A (ja) インターフェース装置および方法並びに通信アダプタ
USRE39026E1 (en) Bus protocol
KR100250465B1 (ko) 고속병렬컴퓨터의 메시지 전송 방법
US7313146B2 (en) Transparent data format within host device supporting differing transaction types
US7272151B2 (en) Centralized switching fabric scheduler supporting simultaneous updates
CN1329856C (zh) 多节点体系结构中防止饥饿的方法和装置
KR20000013213A (ko) 고속병렬컴퓨터의 메시지 전송 방법
JP3799741B2 (ja) バスコントローラ
WO2022024562A1 (ja) 並列分散計算システム
JP2971119B2 (ja) 複数プロセッサシステムにおける高速データ転送方式
JPH0619855A (ja) メッセージのキューイング方法とその装置
JPH08339354A (ja) ネットワーク分散処理システム
JPS6298444A (ja) デ−タ通信方式
JPH10143486A (ja) 並列計算機におけるデータ送受信方法

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

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee