KR0170595B1 - Software emulation method of xcent-net interface - Google Patents

Software emulation method of xcent-net interface Download PDF

Info

Publication number
KR0170595B1
KR0170595B1 KR1019960014064A KR19960014064A KR0170595B1 KR 0170595 B1 KR0170595 B1 KR 0170595B1 KR 1019960014064 A KR1019960014064 A KR 1019960014064A KR 19960014064 A KR19960014064 A KR 19960014064A KR 0170595 B1 KR0170595 B1 KR 0170595B1
Authority
KR
South Korea
Prior art keywords
message
transmission
thread
crossbar network
request
Prior art date
Application number
KR1019960014064A
Other languages
Korean (ko)
Other versions
KR970071258A (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 양승택
Priority to KR1019960014064A priority Critical patent/KR0170595B1/en
Publication of KR970071258A publication Critical patent/KR970071258A/en
Application granted granted Critical
Publication of KR0170595B1 publication Critical patent/KR0170595B1/en

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation

Abstract

본 발명은 마이크로 커널 레벨에서 고속병렬컴퓨터의 크로스바 네트웍 라우터 보드(Xcent-Net InterFace)의 송신부 기능을 소프트웨어로 에뮬레이션하는 방법에 관한 것으로서, 종래의 크로스바 네트웍에 대한 메시지 송신 커널은 크로스바 네트웍 라우터 보드가 있는 시스템에서만 사용가능한 소프트웨어이었다는 문제점을 해결하기 위해, 본 발명은 제1쓰레드에 의해 송신 커널이 메시지 송신버퍼(MSB)에 크로스바 네트웍 라우터 보드(XNIF) 메시지를 저장시킨 후 송신하도록 하는 과정과, 이 과정의 제1쓰레드에서 송신된 메시지를 제2쓰레드에 의해 이더넷 메시지로 변환 및 송신 완료를 통보하도록 하는 과정으로 이루어져, 크로스바 네트웍 라우터 보드가 없는 이더넷으로 연결된 노드에서 크로스바 네트웍에 대한 메시지 송신 커널을 사용하도록 한 것이다.The present invention relates to a method for emulating in software the function of a transmitter of a crossbar network router board (Xcent-Net InterFace) of a high-speed parallel computer at a microkernel level. The message transmission kernel for a conventional crossbar network includes a crossbar network router board. In order to solve the problem that the software was only available to the system, the present invention allows the transmitting kernel to store and transmit a crossbar network router board (XNIF) message in the message transmission buffer (MSB) by the first thread. The process of converting a message sent from the first thread of the second thread into an Ethernet message and notifying the completion of the transmission is performed so that the message transmission kernel for the crossbar network can be used by an Ethernet connected node without a crossbar network router board. One thing .

Description

고속 병렬 컴퓨터에서 크로스바 네트웍 라우터의 송신부에 대한 소프트웨어 에뮬레이션 방법Software Emulation Method for Transmitters of Crossbar Network Routers in High-Speed Parallel Computers

제1도는 고속 병렬 컴퓨터 구조도.1 is a high-speed parallel computer architecture.

제2도는 본 발명을 구현하는데 이용되는 시스템 구조도.2 is a system architecture diagram used to implement the present invention.

제3도는 크로스바 네트웍 라우터 보드인 크로스바 네트웍 인터페이스(Xcent-Net InterFace)의 구조도.3 is a structural diagram of a crossbar network interface (Xcent-Net InterFace) that is a crossbar network router board.

제4도는 본 발명의 구조도.4 is a structural diagram of the present invention.

제5도는 본 발명에 따라 송신할 메시지와 송신된 메시지를 관리하는 흐름도.5 is a flowchart of managing a message to be transmitted and a message sent according to the present invention.

제6도는 본 발명에 따라 제2도의 시스템 구조에서 메시지를 전송하는 흐름도.6 is a flow diagram for transmitting a message in the system architecture of FIG. 2 in accordance with the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

1 : 크로스바 네트웍(Xcent-Net) 2 : 노드(Node)1: Crossbar network (Xcent-Net) 2: Node

3 : 처리기 4 : 지역 메모리3: handler 4: local memory

5 : 크로스바 네트웍 라우터 보드(XNIF) 6 : 이더넷(Ethernet)5: Crossbar Network Router Board (XNIF) 6: Ethernet

7 : 이더넷 보드7: Ethernet board

8 : 크로스바 네트웍 라우터 보드 에뮬레이터8: Crossbar Network Router Board Emulator

9 : PCI(Peripheral Component Interconnect) 버스9: PCI (Peripheral Component Interconnect) bus

10 : 송신부(SNI : Send Network Interface)10: Sender (SNI: Send Network Interface)

11 : 수신부(RNI : Receive Network Interface) 12 : DMA 제어 유니트11: Receive Network Interface (RNI) 12: DMA Control Unit

13 : 버스 인터페이스 유니트 14 : 버퍼 제어 유니트13 bus interface unit 14 buffer control unit

15 : 재시도 제어 유니트 16 : 메시지 송신 유니트15: retry control unit 16: message transmission unit

17 : 메시지 송신 버퍼(또는 MSB) 18 : 연결망 제어 유니트17: message transmission buffer (or MSB) 18: network control unit

19 : 패킷 송신 유니트19: packet transmission unit

20a : 메시지 송신 버퍼 제어 레지스터(또는 MCR)20a: Message Send Buffer Control Register (or MCR)

20b : 송신상태 레지스터(또는 SSR)20b: Transmit status register (or SSR)

21 : 크로스바 네트웍 라우터 보드 헤드 메시지(Xnifhead)21: Crossbar Network Router Board Head Message (Xnifhead)

22 : 크로스바 네트웍 라우터 보드 바디 메시지(Xnifbody)22: Crossbar Network Router Board Body Message (Xnifbody)

23 : MSB 자료구조 24 : MCR 자료구조23: MSB data structure 24: MCR data structure

25 : SSR 자료구조 26 : 제1쓰레드25: SSR data structure 26: First thread

27 : 최상위 버퍼 30 : 제2쓰레드27: top buffer 30: second thread

31 : 최하위 메시지 33 : 이더넷 메시지31: lowest message 33: Ethernet message

본 발명은 고속병렬컴퓨터에서 크로스바 네트웍 라우터의 송신부에 대한 소프트웨어 에뮬레이션 방법에 관한 것으로서, 특히 마이크로 커널(Micro Kernel)레벨에서 고속병렬컴퓨터의 내부 네트웍인 Xcent-Net(10×10 크로스바 네트웍을 의미) 크로스바 네트웍의 라우터(router) 보드에서 송신부 기능을 소프트웨어로 에뮬레이션하는 방법에 관한 것이다. 이러한 크로스바 네트웍 라우터 보드의 송신부는 처리기에서 발생되는 메시지를 크로스바 네트웍으로 전달하는 크로스바 네트웍 인터페이스인 하드웨어 부분이다.The present invention relates to a software emulation method for a transmitter of a crossbar network router in a high-speed parallel computer. In particular, Xcent-Net (meaning a 10 × 10 crossbar network) crossbar, which is an internal network of a high-speed parallel computer at the microkernel level, is used. It is a method for emulating the transmitter function in software on a router board of a network. The transmitter of such a crossbar network router board is a hardware part that is a crossbar network interface that delivers a message generated from a processor to a crossbar network.

고속병렬컴퓨터는 처리기(processor) 및 메모리등으로 구성되는 노드(node)들이 크로스바 네트웍으로 연결되는 구조를 갖는다. 따라서, 각 노드에는 크로스바 네트웍을 사용하기 위해서 크로스바 네트웍 인터페이스 보드를 하나씩 장착하고 있다. 각 노드에서 원격 노드로 전송되는 메시지는 이 보드를 거쳐서 전송된다. 크로스바 네트웍 인터페이스를 이용하여 메시지를 전송할 수 있는 소프트웨어는 커널(kernel)이다.A high-speed parallel computer has a structure in which nodes composed of a processor and a memory are connected to a crossbar network. Therefore, each node is equipped with one crossbar network interface board in order to use the crossbar network. Messages from each node to remote nodes are sent across this board. The software that can send messages using the crossbar network interface is the kernel.

고속병렬컴퓨터의 하드웨어 개발 완료전 크로스바 네트웍에 대한 메시지 전송기능을 갖는 커널을 사용하기 위해서는 크로스바 네트웍 인터페이스 에뮬레이션 방법을 필요로 한다. 그리고 에뮬레이션 환경은 두 대의 시스템이 이더넷(Ethernet)으로 연결된 구조를 갖도록 한다. 또한, 에뮬레이션 환경은 각 시스템의 커널에 크로스바 네트웍 인터페이스 에뮬레이터를 두어 이더넷으로 가상적인 크로스바 네트웍 환경으로 만든다.The crossbar network interface emulation method is required to use a kernel that has a message transfer function for the crossbar network before the hardware development of the high speed parallel computer is completed. And the emulation environment allows two systems to be connected by Ethernet. In addition, the emulation environment places a crossbar network interface emulator in the kernel of each system to create a virtual crossbar network environment over Ethernet.

종래의 크로스바 네트웍에 대한 메시지 송신 커널은 크로스바 네트웍 인터페이스 보드가 있는 시스템에서만 사용가능한 소프트웨어이다. 그러나 본 발명에서 개발한 소프트웨어 에뮬레이션 방법을 사용하면, 크로스바 네트웍 인터페이스 보드가 없는 이더넷으로 연결된 시스템에서도 크로스바 네트웍에 대한 메시지 송신 커널을 사용할 수도 있다.The message sending kernel for a conventional crossbar network is software available only on systems with a crossbar network interface board. However, using the software emulation method developed in the present invention, a message transmission kernel for a crossbar network can be used even in an Ethernet connected system without a crossbar network interface board.

따라서 본 발명은 크로스바 네트웍 인터페이스 보드가 없는 시스템에서도 기존의 메시지 송신 커널을 사용할 수 있도록 크로스바 네트웍 인터페이스 보드의 기능들을 소프트웨어로 에뮬레이션하기 위한 고속 병렬 컴퓨터에서 크로스바 네트웍 라우터의 송신부에 대한 소프트웨어 에뮬레이션 방법을 제공하는데 그 목적이 있다.Accordingly, the present invention provides a software emulation method for a transmitter of a crossbar network router in a high-speed parallel computer for emulating the functions of the crossbar network interface board in software so that the existing message transmission kernel can be used even in a system without the crossbar network interface board. The purpose is.

상기 목적을 달성하기 위한 본 발명의 특징은, 고속병렬컴퓨터내 크로스바 네트웍 라우터 보드를 포함하는 노드들간에 크로스바 네트웍을 통해 메시지를 송신하는 커널을 사용하기 위해 상기 커널에 크로스바 네트웍 라우터 보드 에뮬레이터를 두고, 상기 에뮬레이터의 송신부 내부가 전송요청을 받은 메시지를 저장하는 메시지 송신버퍼(MSB)와, 이 메시지 송신버퍼의 상태를 나타내거나 제어하A feature of the present invention for achieving the above object is to provide a crossbar network router board emulator in the kernel to use a kernel for transmitting messages across the crossbar network between nodes including a crossbar network router board in a high speed parallel computer, A message transmission buffer (MSB) for storing a message received by the transmission unit of the emulator and a status of the message transmission buffer can be displayed or controlled.

기 위해 사용되는 메시지 송신버퍼 제어 레지스터(MCR)와, 그리고 전송 오류 정보를 저장하는 송신상태 레지스터(SSR)를 포함하되, 상기 MSB, MCR, SSR와 연관되어 메시지 전송요청을 받는 제1쓰레드 및 메시지를 전송하는 제2쓰레드에 의해 상기 크로스바 네트웍 라우터 보드가 없는 상기 이더넷으로 메시지를 송신하는 기능을 에뮬레이션하는 방법에 있어서, 상기 제1쓰레드에 의해 상기 커널이 상기 MSB에 크로스바 네트웍 라우터 보드(XNIF) 메시지를 저장시킨 후 송신하도록 하는 제1과정과, 상기 제1과정의 제1쓰레드에서 송신된 메시지를 제2쓰레드에 의해 이더넷 메시지로 변환 및 송신 완료를 통보하도록 하는 제2과정으로 이루어져, 크로스바 네트웍 라우터 보드가 없는 이더넷으로 연결된 노드에서 크로스바 네트웍에 대한 메시지 송신 커널을 사용하도록 하는 특징이 있다. 이러한 상기 제1과정과 제2과정은 메시지 송신중에도 메시지 송신요청을 받을 수 있도록 병렬로 수행된다.A message transmission buffer control register (MCR) and a transmission status register (SSR) for storing transmission error information, wherein the first thread and message are associated with the MSB, MCR, and SSR to receive a message transmission request. A method for emulating a function of sending a message to the Ethernet without the crossbar network router board by a second thread transmitting a crossbar network router board (XNIF) message to the MSB by the first thread. And a second step of storing and transmitting the message, and a second step of converting a message transmitted from the first thread of the first step into an Ethernet message by the second thread and notifying completion of transmission. You can use the message sending kernel for crossbar networks on nodes connected by boardless Ethernet. It is characterized in that. The first and second processes are performed in parallel to receive a message transmission request even during message transmission.

이에따른 제1과정은, 상기 MCR을 통해 전달된 상기 MSB에 대한 요청 대기중에 읽기 및 쓰기요청이 수신되는지를 조사하는 제1단계와, 상기 제1단계의 조사에 따라 쓰기요청일 경우 메시지를 송신하도록 상기 제2쓰레드에게 요청하는 제2단계와, 상기 제1단계의 조사에 따라 읽기 요청일 경우 메시지를 송신하도록 상기 제2쓰레드에게 요청하는 제3단계를 이루어진 것이 특징이다. 그리고, 상기 제2단계는, 상기 제1단계의 조사에 의해 쓰기요청일 경우 상기 MCR에서 쓰기요청을 클리어하는 쓰기요청 클리어단계와, 상기 클리어 후 해당 MSB의 상태에 따라 정확한 위치에 메시지를 이동시키는 메시지 이동단계와, 상기 메시지 이동후, 이 메시지 송신이 가능한지를 조사하는 송신여부 조사단계와, 상기 송신여부 조사에 따라 메시지 송신이 가능할 경우 상기 제2쓰레드에게 메시지를 송신하도록 요청하는 전송요청단계로 이루어진 특징이 있다. 또한, 상기 제3단계는, 상기 제1단계의 조사에 의해 읽기요청일 경우 전송오류가 발생되었는지 조사하는 전송오류발생 조사단계와, 상기 조사단계에 의해 전송오류가 발생될 경우 상기 SSR에서 전송오류정보를 제거하는 오류정보 제거단계와, 상기 조사단계에 의해 전송오류가 없을 경우와 상기 전송오류정보 제거 후에, 상기 MCR에서 읽기요청을 클리어하는 읽기요청 클리어단계와, 상기 읽기요청 클리어 후, 상기 MSB상태에 따른 메시지를 이동시켜 제거하는 메시지 제거단계와, 상기 메시지 제거후, 메시지가 존재하는지를 판단하는 메시지 존재유무판단단계와, 상기 메시지가 존재할 경우 상기 제2쓰레드에게 메시지를 송신하도록 요청하는 전송요청단계로 이루어진 것이 특징이다. 여기서 메시지 제거단계는 상기 MSB의 최하위 버퍼에 있는 메시지를 제거한다.According to the first step, a first step of checking whether a read and write request is received while waiting for a request for the MSB delivered through the MCR, and transmitting a message in the case of a write request according to the investigation of the first step And a third step of requesting the second thread to request the second thread to transmit a message in the case of a read request according to the investigation of the first step. The second step includes a write request clearing step of clearing a write request in the MCR when the write request is examined by the first step, and moving the message to a correct position according to the state of the MSB after the clearing. A message moving step, a transmission checking step of checking whether the message can be transmitted after the message is moved, and a transmission request step of requesting to send a message to the second thread when the message can be sent according to the transmission checking. There is a characteristic. The third step may include a transmission error generation investigation step of investigating whether a transmission error has occurred when the read request is generated by the investigation of the first step, and a transmission error in the SSR when a transmission error occurs by the investigation step. An error information removing step of removing information, a read request clearing step of clearing a read request in the MCR when there is no transmission error by the investigation step and after removing the transmission error information, and after the read request clearing, the MSB A message removal step of moving and removing a message according to a state, a message existence determination step of determining whether a message exists after removing the message, and a transmission request requesting to transmit a message to the second thread if the message exists. It is characterized by consisting of steps. The message removing step removes the message in the lowest buffer of the MSB.

한편, 상기 제2과정은, 상기 제1과정의 제1쓰레드에서 커널 초기화시 송신요청을 수신할 때까지 제2쓰레드가 대기하는 제1-1단계와, 상기 송신요청이 발생되면 송신할 메시지가 있는 버퍼를 선정하는 제2-1단계와, 상기 선정된 MSB에서 크로스바 네트웍 라우터 보드 메시지를 읽은 후, 그 읽은 메시지로 부터 이더넷으로 전송할 정보들을 추출하는 제3-1단계와, 상기 크로스바 네트웍 라우터 보드 메시지를 이더넷 메시지로 변환한 후 이더넷으로 송신하는 제4-1단계와, 상기 이더넷 메시지 송신 후, 전송오류가 발생되었는지를 조사하는 제5-1단계와, 상기 이더넷 메시지 전송오류가 발생되었을 경우, 그 전송오류를 커널 송신부가 오류를 알 수 있도록 상기 SSR에 기록하는 제6-1단계와, 상기 이더넷 메시지 전송 오류가 발생되지 않았을 경우, 전송완료를 커널 송신부에 알리는 제7-1단계로 이루어진 특징이 있다.On the other hand, in the second process, step 1-1 where the second thread waits until the first thread of the first process receives a transmission request when the kernel is initialized, and a message to be transmitted is generated when the transmission request is generated. Step 2-1 of selecting a buffer in which the buffer is located; and reading step 3-1 of a crossbar network router board message from the selected MSB, and extracting information to be transmitted to Ethernet from the read message; and step 3-1 of the crossbar network router board. Step 4-1 of converting the message into an Ethernet message and then transmitting to Ethernet, Step 5-1 of investigating whether a transmission error has occurred after transmitting the Ethernet message, and if the Ethernet message transmission error occurs, Step 6-1 of recording the transmission error in the SSR so that the kernel transmitter can recognize the error; and, if the Ethernet message transmission error has not occurred, the transmission is completed. Is characterized in comprising the step 7-1 notifies the bride.

즉, 본 발명의 방법은 크로스바 네트웍 인터페이스송신부 구조 및 기능 분석과 에뮬레이터 구조를 설계한 후, 그 설계를 기반으로 하여 에뮬레이션을 하는 방법이다.That is, the method of the present invention is a method of emulating the structure of the crossbar network interface transmitter and the function and the emulator structure, and then based on the design.

이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하면 다음과 같다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

제1도는 고속병렬컴퓨터의 구조도이다. 고속병렬컴퓨터는 여러 노드들이 크로스바 네트웍(Xcent-Net, 1)에 연결되어 구성된다. 각 노드(2)는 네개의 처리기(3)와 지역 메모리(4), 크로스바 네트웍의 라우터 보드(5)인 크로스바 네트웍 인터페이스(XNIF; Xcent-Net InterFace)로 구성된다. 각 노드(2)에는 같은 커널 소프트웨어가 탑재되어 수행되며, 노드간 통신은 커널의 통신부분인 크로스바 네트웍 라우터 보드(5)를 이용하여 이루어진다.1 is a structural diagram of a high-speed parallel computer. A high-speed parallel computer consists of several nodes connected to a crossbar network (Xcent-Net, 1). Each node 2 consists of four processors 3, a local memory 4, and a crossbar network interface (XNIF; Xcent-Net InterFace), which is a router board 5 of the crossbar network. Each node 2 is equipped with the same kernel software, and the inter-node communication is performed using the crossbar network router board 5, which is a communication part of the kernel.

제2도는 본 발명이 적용되는 시스템 구조도이다. 두 개의 노드(2)는 이더넷(Ethernet, 6)으로 연결되고, 각 노드에는 처리기(3), 지역 메모리(3), 이더넷 보드(7)로 구성된다. 상기 제1도와는 달리 두 노드(2)를 연결하는 네트웍이 이더넷(6)이므로, 이더넷 보드(7)를 사용해야 한다. 그리고 지역 메모리(4)에는 각 노드의 커널과 본 발명인 크로스바 네트웍 라우터 보드 에뮬레이터(8)가 커널에 포함되어 존재한다. 따라서, 커널 통신 부분은 크로스바 네트웍 라우터 보드 에뮬레이터(8)를 사용하면 가상적인 크로스바 네트웍 통신을 할 수 있다.2 is a system structural diagram to which the present invention is applied. Two nodes 2 are connected by Ethernet 6, and each node is composed of a processor 3, a local memory 3, and an Ethernet board 7. Unlike the first diagram, since the network connecting the two nodes 2 is Ethernet 6, an Ethernet board 7 must be used. In the local memory 4, the kernel of each node and the crossbar network router board emulator 8 of the present invention are included in the kernel. Therefore, the kernel communication portion can perform virtual crossbar network communication using the crossbar network router board emulator 8.

제3도는 제1도의 크로스바 네트웍 라우터 보드(XNIF)의 구조도이다. 크로스바 네트웍 라우터 보드(XNIF)는 제1도의 처리기(3)와는 PCI(Peripheral Component Interconnect) 버스(9)로 연결되며, 크게 두 가지 부분으로 송신부인 SNI(Send Network Interface)(10)와 수신부인 RNI(Receive Network Interface)(11)로 나누어 진다.3 is a structural diagram of a crossbar network router board (XNIF) of FIG. The crossbar network router board (XNIF) is connected to the processor 3 of FIG. 1 through a Peripheral Component Interconnect (PCI) bus (9). The crossbar network router board (XNIF) is divided into two parts, a send network interface (SNI) 10 and a receiver RNI. (Receive Network Interface) (11).

본 발명은 크로스바 네트웍 라우터 보드의 송신부(10)에 대한 에뮬레이션 방법이므로 송신부(SNI) 기능에 대해서만 기술한다. DMA(Direct Memory Access) 제어 유니트(12)는 메시지 전송을 위해 전송할 데이타를 지역 메모리(4)에서 읽어오는 기능을 갖는다. 버스 인터페이스 유니트(13)는 송신부(10)와 PCI 버스(9)와의 인터페이스를 제공한다. 버퍼 제어 유니트(14)는 메시지 송신 버퍼(MSB; Message Send Buffer, 17)의 쓰기 및 읽기를 제어한다. 재시도 제어 유니트(15)는 전송 오류가 발생한 경우 전송을 재시도하는 기능을 갖는다. 메시지 송신 유니트(16)는 송신부(10)에서 제어의 핵심이 되며, 메시지를 크로스바 네트웍(1)으로 송신하는 과정을 제어한다.Since the present invention is an emulation method for the transmitter 10 of the crossbar network router board, only the transmitter (SNI) function will be described. The DMA (Direct Memory Access) control unit 12 has a function of reading data from the local memory 4 to be transmitted for message transmission. The bus interface unit 13 provides an interface between the transmitter 10 and the PCI bus 9. The buffer control unit 14 controls the writing and reading of the message send buffer 17 (MSB). The retry control unit 15 has a function of retrying transmission when a transmission error occurs. The message transmission unit 16 becomes the core of the control in the transmitter 10 and controls the process of transmitting the message to the crossbar network 1.

메시지 송신 버퍼(MSB, 17)는 64 바이트 크기의 버퍼가 4개씩 두개로 구성된 버퍼로서, 전송 요청을 받은 메시지를 저장하는 곳이다. 이 버퍼는 상기 버퍼 제어 유니트(14)에 의해서 관리된다. 그리고 연결망 제어 유니트(18)는 크로스바 네트웍(1)에 연결된 출력포트를 제어한다. 패킷 송신 유니트(19)는 크로스바 네트웍(1)으로 메시지를 패킷 단위로 송신하는 유니트이다. 메시지 송신 버퍼 제어 레지스터(MCR; MSB Control Register)(20a) 상기 메시지 송신 버퍼(17)의 상태를 나타내거나 제어하기 위해서 사용되고, 송신 상태 레지스터(SSR; Send Status Register, 20b)는 전송 오류 정보를 저장한다.The message transmission buffer (MSB) 17 is a buffer composed of two 64-byte buffers, each of which stores a message that has received a transmission request. This buffer is managed by the buffer control unit 14. And the network control unit 18 controls the output port connected to the crossbar network (1). The packet transmission unit 19 is a unit for transmitting messages in packet units to the crossbar network 1. Message Send Buffer Control Register (MCR) MSA Control Register (MCR) 20a is used to indicate or control the status of the message send buffer 17, and Send Status Register (SSR) 20 stores transmission error information. do.

제4도는 제2도의 크로스바 네트웍 라우터 보드(XNIF) 에뮬레이터(8)의 송신부 하드웨어 동작을 소프트웨어로 에뮬레이션한 구조도이다. 크로스바 네트웍(1)으로 메시지를 송신하기 위해서는 메시지 송신에 필요한 전송방식, 수신노드, 메시지 길이, 송신 노드등의 정보를 갖는 크로스바 네트웍 라우터 보드 헤드 메시지(Xnifhead, 21)와 실질적인 메시지인 크로스바 네트웍 라우터 보드 바디 메시지(Xnifbody, 22)로 크로스바 네트웍 라우터 메시지를 구성해야 한다. 그리고 제3도의 메시지 송신 버퍼(17), 메시지 송신 버퍼 제어 레지스터(MCR, 20a) 및 송신 상태 레지스터(SSR, 20b)에 대한 자료구조들(23, 24, 25)을 할당한다. 여기서, 상기 송신부(10)의 하드웨어를 동작시키는 회로에 해당되는 프로그램은 하드웨어 동작 특성을 고려하여 쓰레드(thread)로 구현한다.4 is a structural diagram of software emulation of the transmitter hardware operation of the crossbar network router board (XNIF) emulator 8 of FIG. In order to send a message to the crossbar network (1), the crossbar network router board head message (Xnifhead, 21) and the crossbar network router board which are the actual messages are provided. You must configure the crossbar network router message with a body message (Xnifbody, 22). And allocate data structures 23, 24 and 25 for the message transmission buffer 17, the message transmission buffer control register MCR 20a and the transmission status register SSR 20b of FIG. Here, a program corresponding to a circuit for operating hardware of the transmitter 10 is implemented as a thread in consideration of hardware operating characteristics.

상기 쓰레드는 프로세스나 태스크 보다 더 작은 단위로 다중 프로그래밍 시스템에서 CPU에게 보내어져 실행되는 프로그램 단위를 일컫는다. 그리고 제1쓰레드(26)는 제3도의 버퍼 제어 유니트(14) 기능을 갖는다. 커널이 메시지를 송신하기 위해서 상기 메시지 송신 버퍼(17)의 최상위 버퍼(27)에 쓰기 동작을 하면, 제1쓰레드(26)는 메시지 송신버퍼(17)의 메시지량에 따라 알맞은 위치로 메시지를 이동(28)시켜 송신을 기다리도록 한다. 그리고 송신이 가능하면 제1쓰레드(26)는 메시지를 송신하도록 명령(29)한다. 제2쓰레드(30)는 메시지 송신 버퍼(17)의 최하위에 있는 메시지(31)를 이더넷(6)으로 수신노드에 송신하는 기능을 갖는다. 이때, 메시지 송신 버퍼(17)에 저장된 메시지는 크로스바 네트웍 인터페이스 메시지(21, 22)이다. 따라서 실제 전송을 위해서는 이더넷 메시지(33)로 변환해야 한다. 왜냐하면, 에뮬레이터가 구현된 시스템이 이더넷으로 연결된 시스템이기 때문이다. 이와같이 메시지 변환 및 송신을 완료한 후, 제2쓰레드(30)는 메시지 송신 완료(34)를 통보한다. 송신이 완료되면, 제1쓰레드(26)는 메시지 송신 버퍼(17)의 최하위 메시지(31)를 제거하고 다른 메시지들을 한 단계씩 이동시켜 계속 송신을 한다.The thread refers to a program unit that is sent to a CPU and executed in a multiple programming system in smaller units than a process or task. The first thread 26 has the function of the buffer control unit 14 of FIG. When the kernel writes to the uppermost buffer 27 of the message sending buffer 17 to send a message, the first thread 26 moves the message to an appropriate position according to the message amount of the message sending buffer 17. (28) to wait for transmission. If the transmission is possible, the first thread 26 commands 29 to transmit the message. The second thread 30 has a function of transmitting the message 31 at the lowest level of the message transmission buffer 17 to the receiving node via the Ethernet 6. At this time, the messages stored in the message transmission buffer 17 are crossbar network interface messages 21 and 22. Therefore, the actual transmission must be converted to Ethernet message 33. This is because the emulator-implemented system is an Ethernet-connected system. After completing the message conversion and transmission in this way, the second thread 30 notifies the completion of the message transmission 34. When the transmission is completed, the first thread 26 removes the lowest message 31 of the message transmission buffer 17 and moves other messages one step at a time to continue transmission.

제5도는 제4도의 제1쓰레드(26) 기능에 대한 흐름도이다. 이 제1쓰레드(26)는 커널이 초기화되면서 메시지 송신 버퍼(MSB, 17)에 대한 쓰기 및 읽기 요청을 기다린다(S1). 메시지 송신 버퍼(17)에 대한 쓰기 및 읽기 요청은 메시지 송신 버퍼 제어 레지스터(20a)를 통해서 전달된다. 이 요청을 받으면, 제1쓰레드(26)는 수행을 시작하여 무슨 요청인지 조사한다(S2). 만약 쓰기 요청을 받으면, 이미 커널이 메시지 송신 버퍼(17)의 최상위 버퍼(27)에 메시지 쓰기를 완료했기 때문에 메시지 송신 버퍼 제어 레지스터(MCR, 20a)에서 쓰기 요청을 클리어하고(S3), 해당 메시지 송신 버퍼(MSB, 17)의 상태에 따라 정확한 위치에 메시지를 이동시킨다(S4). 그 이동 후, 메시지 송신이 가능한지 조사한다(S5). 송신이 가능하면 메시지를 송신하도록 제2쓰레드(30)에게 명령(또는 요청)(S6)하지만, 그렇지 않다면 다른 요청을 받기 위해서 대기 상태(S1)로 전이한다. 전송완료가 통보되면, 메시지 송신 버퍼(17)의 최하위 버퍼에 있는 메시지(31)를 제거해야 한다. 이것은 읽기 요청으로 이루어진다. 상기에서 읽기 요청이 발생하면(S2) 먼저 전송 오류가 있는지 조사한다(S7). 전송 오류가 발생하면, 송신 상태 레지스터(SSR, 20b)에서 전송 오류 정보를 제거한다(S8). 그러나 전송오류가 없으면, 바로 메시지 송신 버퍼 제어 레지스터(MCR, 20a)에서 읽기 요청을 클리어한다(S9). 그리고 메시지 송신 버퍼(17) 상태에 따른 메시지를 한 단계씩 이동시켜 메시지를 제거한다(S10). 상기 메시지 제거 후, 메시지가 존재하면(S11), 메시지 송신을 요청하고(S6), 그렇지 않다면 다른 요청을 위해 대기상태(S1)로 전이한다.5 is a flowchart of the function of the first thread 26 of FIG. The first thread 26 waits for a write and read request to the message transmission buffer MSB 17 while the kernel is initialized (S1). Write and read requests to the message send buffer 17 are passed through the message send buffer control register 20a. Upon receiving this request, the first thread 26 starts execution to check what request (S2). If a write request is received, since the kernel has already completed writing the message to the top buffer 27 of the message send buffer 17, the write request is cleared in the message send buffer control register (MCR) 20a (S3), and the corresponding message is cleared. The message is moved to the correct position according to the state of the transmission buffer MSB 17 (S4). After that, it is checked whether message transmission is possible (S5). If it is possible to send a message (or request) S6 to the second thread 30 to send a message, otherwise it transitions to the waiting state S1 to receive another request. When the completion of the transmission is notified, the message 31 in the lowest buffer of the message transmission buffer 17 must be removed. This is done with a read request. When the read request occurs in the above (S2), it is first examined whether there is a transmission error (S7). If a transmission error occurs, transmission error information is removed from the transmission status register (SSR) 20b (S8). However, if there is no transmission error, the read request is immediately cleared in the message transmission buffer control register (MCR) 20a (S9). Then, the message is removed by moving the message according to the state of the message transmission buffer 17 step by step (S10). After the message is removed, if a message exists (S11), a message transmission request is requested (S6), otherwise it transitions to a waiting state S1 for another request.

제6도는 제4도의 제2쓰레드(30) 기능에 대한 흐름도이다. 제2쓰레드(30)는 커널 초기화시 상기 제1쓰레드(26)에서 송신 요청이 올 때까지 대기 상태(S12)에 있는다. 송신 요청이 발생되면, 송신할 메시지가 어디에 있는지, 어느 메시지 송신 버퍼(MSB, 17)에 있는 메시지를 송신할 것인가를 선정한다(S13). 이 선정된 메시지 송신 버퍼(17)에서 부터 크로스바 네트웍 라우터 보드 메시지를 읽는다(S14). 그 읽은 메시지로 부터 이더넷으로 전송에 필요한 수신부 및 메시지 크기등의 정보들을 추출한다(S15). 그리고 크로스바 네트웍 라우터 보드 메시지(21, 22)를 이더넷 메시지로 변환한다(S16). 그리고 이더넷으로 메시지를 송신하기 위한 준비 작업 후 메시지를 송신한다(S17). 송신 후, 전송 오류가 있는지 조사(S18)하여 오류가 있으면 송신 상태 레지스터(SSR, 20b)에 기록(S19)하여 커널 송신부가 오류를 알 수 있도록 한다. 전송 완료를 커널 송신부에 알리고(S20), 다른 전송 요청을 받기 위해서 대기상태(S12)로 전이한다.6 is a flowchart of the function of the second thread 30 of FIG. The second thread 30 is in a waiting state S12 until a transmission request comes from the first thread 26 at kernel initialization. When a transmission request is generated, it is selected where the message to be transmitted is located and which message transmission buffer (MSB) 17 is to be transmitted (S13). The crossbar network router board message is read from the selected message transmission buffer 17 (S14). From the read message, information such as a receiver and a message size necessary for transmission to Ethernet is extracted (S15). The crossbar network router board messages 21 and 22 are converted into Ethernet messages (S16). After the preparation operation for transmitting the message over Ethernet, the message is transmitted (S17). After the transmission, it is checked whether there is a transmission error (S18) and if there is an error, it is recorded (S19) in the transmission status register (SSR) 20b so that the kernel transmitter can recognize the error. The sender is notified of the completion of the transmission (S20), and transitions to the waiting state (S12) to receive another transmission request.

제5도와 제6도는 병렬로 수행되도록 하여 메시지 송신중에도 메시지 송신 요청을 받을 수 있도록 한다.5 and 6 are performed in parallel so that the message transmission request can be received even during the message transmission.

이상과 같은 본 발명은 크로스바 네트웍을 기반으로 하는 메시지 송신 커널을 이더넷 환경의 시스템에서 사용될 수 있도록 하는 효과가 있다.The present invention as described above has the effect that the message transmission kernel based on the crossbar network can be used in the system of the Ethernet environment.

Claims (7)

고속병렬컴퓨터내 크로스바 네트웍 라우터 보드를 포함하는 노드들간에 크로스바 네트웍을 통해 메시지를 송신하는 커널을 사용하기 위해 상기 커널에 크로스바 네트웍 라우터 보드 에뮬레이터를 두고, 상기 에뮬레이터의 송신부 내부가 전송요청을 받은 메시지를 저장하는 메시지 송신버퍼(MSB)와, 이 메시지 송신버퍼의 상태를 나타내거나 제어하기 위해 사용되는 메시지 송신버퍼 제어 레지스터(MCR)와, 그리고 전송 오류 정보를 저장하는 송신상태 레지스터(SSR)를 포함하되, 상기 MSB, MCR, SSR와 연관되어 메시지 전송요청을 받은 제1쓰레드 및 메시지를 전송하는 제2쓰레드에 의해 상기 크로스바 네트웍 라우터 보드가 없는 상기 이더넷으로 메시지를 송신하는 기능을 에뮬레이션하는 방법에 있어서, 상기 제1쓰레드에 의해 상기 커널이 상기 MSB에 크로스바 네트웍 라우터 보드(XNIF) 메시지를 저장시킨 후 송신하도록 하는 제1과정과, 상기 제1과정의 제1쓰레드에서 송신된 메시지를 제2쓰레드에 의해 이더넷 메시지로 변환 및 송신 완료를 통보하도록 하는 제2과정으로 이루어져, 크로스바 네트웍 라우터 보드가 없는 이더넷으로 연결된 노드에서 크로스바 네트웍에 대한 메시지 송신 커널을 사용하도록 하는 것을 특징으로 하는 것을 특징으로 하는 고속 병렬 컴퓨터에서 크로스바 네트웍 라우터의 송신부에 대한 소프트웨어 에뮬레이션 방법.A crossbar network router board emulator is placed in the kernel to use a kernel for transmitting messages across the crossbar network between nodes including a crossbar network router board in a high-speed parallel computer. A message transmission buffer (MSB) to store, a message transmission buffer control register (MCR) used to indicate or control the status of the message transmission buffer, and a transmission status register (SSR) to store transmission error information, A method for emulating a function of transmitting a message to the Ethernet without the crossbar network router board by a first thread receiving a message transmission request associated with the MSB, MCR, and SSR and a second thread transmitting a message, The kernel is linked to the MSB by the first thread. A first process of storing and transmitting a Bar Network Router Board (XNIF) message; and a second thread converting a message transmitted from the first thread of the first process into an Ethernet message and notifying completion of transmission by a second thread. A software emulation method for a sender of a crossbar network router in a high speed parallel computer, comprising two steps, wherein a node transmitting a message for the crossbar network is used in an Ethernet connected node without a crossbar network router board. 제1항에 있어서, 상기 제1과정과 상기 제2과정은 메시지 송신중에도 메시지 송신요청을 받을 수 있도록 병렬로 수행되는 것을 특징으로 하는 고속병렬 컴퓨터에서 크로스바 네트웍 라우터의 송신부에 대한 소프트웨어 에뮬레이션 방법.The software emulation method of claim 1, wherein the first process and the second process are performed in parallel to receive a message transmission request even during the transmission of the message. 제1항에 있어서, 상기 제1과정은, 상기 MCR을 통해 전달된 상기 MSB에 대한 요청 대기중에 읽기 및 쓰기요청이 수신되는지를 조사하는 제1단계와, 상기 제1단계의 조사에 따라 쓰기요청일 경우 메시지를 송신하도록 상기 제2쓰레드에게 요청하는 제2단계와, 상기 제1단계의 조사에 따라 읽기요청일 경우 메시지를 송신하도록 상기 제2쓰레드에게 요청하는 제3단계로 이루어진 것을 특징으로 하는 고속병렬컴퓨터에서 크로스바 네트웍 라우터의 송신부에 대한 소프트웨어 에뮬레이션 방법.The method of claim 1, wherein the first process comprises: a first step of checking whether a read and write request is received while waiting for a request for the MSB delivered through the MCR; And a second step of requesting the second thread to transmit a message, and a third step of requesting the second thread to transmit a message in the case of a read request according to the investigation of the first step. Software emulation method for transmitting part of crossbar network router in high speed parallel computer. 제3항에 있어서, 상기 제2단계는, 상기 제1단계의 조사에 의해 쓰기요청일 경우 상기 MCR에서 쓰기요청을 클리어하는 쓰기요청 클리어단계와, 상기 클리어 후 해당 MSB의 상태에 따라 정확한 위치에 메시지를 이동시키는 메시지 이동단계와, 상기 메시지 이동후, 이 메시지 송신이 가능한지를 조사하는 송신여부 조사단계와, 상기 송신여부 조사에 따라 메시지 송신이 가능할 경우 상기 제2쓰레드에게 메시지를 송신하도록 요청하는 전송요청단계로 이루어진 것을 특징으로 하는 고속병렬컴퓨터에서 크로스바 네트웍 라우터의 송신부에 대한 소프트웨어 에뮬레이션 방법.4. The method of claim 3, wherein the second step comprises: a write request clearing step of clearing a write request in the MCR when the write request is examined by the first step; A message moving step of moving a message, a sending step of checking whether the message can be transmitted after the moving of the message, and a request for sending a message to the second thread if the message can be sent according to the sending check Software emulation method for a transmitter of a crossbar network router in a high-speed parallel computer characterized in that the request step. 제1항 또는 제3항에 있어서, 상기 제3단계는, 상기 제1단계의 조사에 의해 읽기요청일 경우 전송오류가 발생되었는지 조사하는 전송오류발생 조사단계와, 상기 조사단계에 의해 전송오류가 발생될 경우 상기 SSR에서 전송오류정보를 제거하는 오류정보 제거단계와, 상기 조사단계에 의해 전송오류가 없을 경우와 상기 전송오류정보 제거 후에, 상기 MCR에서 읽기요청을 클리어하는 읽기요청 클리어 단계와, 상기 읽기요청 클리어 후, 상기 MSB상태에 따른 메시지를 이동시켜 제거하는 메시지 제거단계와, 상기 메시지 제거후, 메시지가 존재하는지를 판단하는 메시지 존재 유무판단단계와, 상기 메시지가 존재할 경우 상기 제2쓰레드에게 메시지를 송신하도록 요청하는 전송요청단계로 이루어진 것을 특징으로 하는 고속병렬컴퓨터에서 크로스바 네트웍 라우터의 송신부에 대한 소프트웨어 에뮬레이션 방법.The method of claim 1 or 3, wherein the third step comprises: a transmission error occurrence investigation step of investigating whether a transmission error has occurred in the case of a read request by the investigation of the first step; An error information removing step of removing transmission error information from the SSR if generated, a read request clearing step of clearing a read request from the MCR after the transmission step has no transmission error and after removing the transmission error information; A message removal step of moving and removing a message according to the MSB state after the read request is cleared, a message existence judging step of determining whether a message exists after removing the message, and if the message exists, to the second thread. A crossbar network in a high-speed parallel computer characterized by comprising a transmission request step for requesting to transmit a message. Software emulation method for the transmission of the emitter. 제5항에 있어서, 상기 메시지 제거단계는 상기 MSB의 최하위 버퍼에 있는 메시지를 제거하는 것을 특징으로 하는 고속병렬컴퓨터에서 크로스바 네트웍 라우터의 송신부에 대한 소프트웨어 에뮬레이션 방법.6. The method of claim 5, wherein the message removing step removes the message in the lowest buffer of the MSB. 제1항에 있어서, 상기 제2과정은, 상기 제1과정의 제1쓰레드에서 커널 초기화시 송신요청을 수신할 때까지 제2쓰레드가 대기하는 제1-1단계와, 상기 송신요청이 발생되면 송신할 메시지가 있는 버퍼를 선정하는 제2-1단계와, 상기 선정된 MSB에서 크로스바 네트웍 라우터 보드 메시지를 읽은 후, 그 읽은 메시지로 부터 이더넷으로 전송할 정보들을 추출하는 제3-1단계와, 상기 크로스바 네트웍 라우터 보드 메시지를 이더넷 메시지로 변환한 후 이더넷으로 송신하는 제4-1단계와, 상기 이더넷 메시지 송신 후, 전송오류가 발생되었는지를 조사하는 제5-1단계와, 상기 이더넷 메시지 전송오류가 발생되었을 경우, 그 전송오류를 커널 송신부가 오류를 알 수 있도록 상기 SSR에 기록하는 제6-1단계와, 상기 이더넷 메시지 전송오류가 발생되지 않았을 경우, 전송완료를 커널 송신부에 알리는 제7-1단계로 이루어진 것을 특징으로 하는 고속병렬컴퓨터에서 크로스바 네트웍 라우터의 송신부에 대한 소프트웨어 에뮬레이션 방법.2. The method of claim 1, wherein the second process comprises steps 1-1 where a second thread waits to receive a transmission request during kernel initialization in the first thread of the first process, and when the transmission request is generated, Step 2-1 of selecting a buffer having a message to be transmitted, step 3-1 of reading a crossbar network router board message from the selected MSB, and extracting information to be transmitted to Ethernet from the read message; Step 4-1 of converting a crossbar network router board message to an Ethernet message and then transmitting it to Ethernet; Step 5-1 of investigating whether a transmission error has occurred after transmitting the Ethernet message; Step 6-1 of writing the transmission error to the SSR so that the kernel transmitter can recognize the error if it occurs, and if the Ethernet message transmission error has not occurred, the transmission is completed. Software emulation method for the transmission of the network route from the cross bar Parallel Computer, characterized in that step consisting of 7-1 notifies the transmission kernel.
KR1019960014064A 1996-04-30 1996-04-30 Software emulation method of xcent-net interface KR0170595B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960014064A KR0170595B1 (en) 1996-04-30 1996-04-30 Software emulation method of xcent-net interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960014064A KR0170595B1 (en) 1996-04-30 1996-04-30 Software emulation method of xcent-net interface

Publications (2)

Publication Number Publication Date
KR970071258A KR970071258A (en) 1997-11-07
KR0170595B1 true KR0170595B1 (en) 1999-03-30

Family

ID=19457475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960014064A KR0170595B1 (en) 1996-04-30 1996-04-30 Software emulation method of xcent-net interface

Country Status (1)

Country Link
KR (1) KR0170595B1 (en)

Also Published As

Publication number Publication date
KR970071258A (en) 1997-11-07

Similar Documents

Publication Publication Date Title
EP0599449B1 (en) Data communication system and method
JP3280759B2 (en) Input / output control device and method
JP2539614B2 (en) Apparatus and method for generating pointer address
US6757768B1 (en) Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node
US6078970A (en) System for determining adapter interrupt status where interrupt is sent to host after operating status stored in register is shadowed to host memory
KR100962769B1 (en) Supercharge message exchanger
US7234004B2 (en) Method, apparatus and program product for low latency I/O adapter queuing in a computer system
US6839777B1 (en) System and method for transferring data over a communication medium using data transfer links
JPH07288535A (en) Adaptor device provided between processor channel and exchange mechanisms
JPH0944424A (en) Message transmission method between remote information-processing systems
KR19990023189A (en) Minimizing the use of central processing unit, and transmitting and receiving data packets
JPH07225727A (en) Computer system
KR20010040936A (en) Accessing a messaging unit from a secondary bus
US6988160B2 (en) Method and apparatus for efficient messaging between memories across a PCI bus
KR0170595B1 (en) Software emulation method of xcent-net interface
US5432910A (en) Coupling apparatus and method for increasing the connection capability of a communication system
JP2859178B2 (en) Data transfer method between processors and ring buffer memory for data transfer between processors
JP2002024007A (en) Processor system
KR0171038B1 (en) Software emulation method of cross bar network router of high speed parallel computer
JPH11149455A (en) Memory disk sharing method and its executing device
JPS6027976A (en) First-in first-out memory device
JPS6298444A (en) Data communication system
JP2002176464A (en) Network interface device
JPH0675796A (en) Parity error recording device
JPH0619855A (en) Method and device for queueing message

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

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee