KR100198808B1 - 저장용 미디어간의 직접 자료 복사 방법 - Google Patents

저장용 미디어간의 직접 자료 복사 방법 Download PDF

Info

Publication number
KR100198808B1
KR100198808B1 KR1019960064148A KR19960064148A KR100198808B1 KR 100198808 B1 KR100198808 B1 KR 100198808B1 KR 1019960064148 A KR1019960064148 A KR 1019960064148A KR 19960064148 A KR19960064148 A KR 19960064148A KR 100198808 B1 KR100198808 B1 KR 100198808B1
Authority
KR
South Korea
Prior art keywords
node
data
input
raw
copy
Prior art date
Application number
KR1019960064148A
Other languages
English (en)
Other versions
KR19980045903A (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 KR1019960064148A priority Critical patent/KR100198808B1/ko
Publication of KR19980045903A publication Critical patent/KR19980045903A/ko
Application granted granted Critical
Publication of KR100198808B1 publication Critical patent/KR100198808B1/ko

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
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 SPAX에 관한 것으로, SPAX에서 운영체제의 불필요한 다단계 자료 복사로 인한 성능 저하를 개선하기 위하여 입출력 노드 내부 또는 여러 입출력 노드에 분포되어 있는 저장용 미디어 장치의 위치와 무관하게 대용량의 직렬 데이터를 여러 모듈로 분리하고 각각을 하나의 쓰레드에 배당하여 병렬로 두 미디어간의 복사를 수행하므로써 불량 자료의 발생율을 낮추어 고품질의 자료 전송이 가능하고, 상호 연결망의 데이터 및 제어 메시지의 통신 횟수를 줄이므로서 가용한 대역 폭을 높여 복사중 시스템 성능저하가 없으므로 전체 시스템 성능을 향상할 수 있는 저장용 미디어간의 직접 자료 복사 방법이 제시된다.

Description

저장용 미디어 간의 직접 자료 복사 방법
본 발명은 고속 병렬 컴퓨터(이하 SPAX라 함)에 관한 것으로, 특히 SPAX의 저장용 미디어간의 직접 자료 복사 방법에 관한 것이다.
SPAX는 하나의 노드가 4개의 인텔(Intel) P6 처리기와 공유 메모리 및 국부 자원들과 P6 버스에 접속된 대칭형 다중 프로세서(Symmetric Multi Processor; SMP) 구조로서 엑센트 네트(Xcent Net)에 상호 연결되어 클러스터를 형성하고, 16개의 클러스터로서 전체 시스템을 구성하는 병렬 처리 시스템이다. 각 노드에는 마이크로커널을 기반하여 여러 가지 기능적으로 모듈화된 관리자가 탑재되어 운용되며 상호 메시지 전송 방식으로 통신한다.
일반적인 컴퓨터 시스템에서 자료의 안정성 또는 보관의 목적으로 일상적인 대용량의 자료 복사가 저장용 장치간에 이루어지고 있다. 또한 멀티미디어 처리를 위한 대용량의 직렬 데이터는 다른 저속의 미디어로 복사가 빈번하게 일어난다. 이들 자료들은 변경없이 장치간의 자료 전송임에도 불구하고 원시 장치에서 입력한 자료를 운영 체제 공간과 사용자 공간으로 자료 전송이 일어나고 다시 목표 장치에 출력하기 위해 반대 과정을 거치므로 커널 메모리간의 불필요한 데이터 이동을 수반하는 비효율적인 과정을 거쳤다.
따라서 본 발명은 SPAX와 같은 병렬 처리 시스템에서 여러 입출력 노드에 장착된 장치의 위치와 무관하게 자료의 이동 경로를 단축하기 위하여 입출력 노드 내부 기능만으로 고속의 자료 전송이 가능하도록 하여 저장용 장치간에 직접적으로 자료를 전송할 수 있도록 하는 데 그 목적이 있다.
상술한 목적을 달성하기 위한 본 발명은 처리기 노드에서 수행되는 파일 관리자로부터 원시 입출력 노드로 메시지 전송에 의한 미디어간 자료 전송은 요청하는 단계와, 상기 자료 전송을 요청 받은 원시 입출력 노드 내부에서 원시 장치와 목표 장치의 위치에 따라 수행 장치를 구분하고 처리 절차를 결정하는 단계와, 상기 수행 장치의 구분에 의한 처리 절차의 결정에 따라 입출력 노드간의 자료 전송일 경우 제어 메시지를 통해 목표하는 입출력 노드로 전송량을 통보하는 단계와, 상기 상기 전송량을 통보 받은 입출력 노드에서 메모리를 할당 받고 할당 받은 메모리량을 처리기 노드로 통보하는 단계와, 상기 할당 받은 메모리량을 입출력 노드로부터 통보 받은 처리기 노드에서 상기 전송량, 상대 메모리 확보량 및 데이터 메시지 전송량에 따라 다수개의 쓰레드를 생성하는 단계와, 상기 생성된 쓰레드 중 임의의 한 쓰레드에 의하여 원시 장치에서 읽어들인 자료를 다수개의 자료 전송 쓰레드에게 위임하여 목표 입출력 노드에게 전송하는 단계와, 상기 입력한 쓰레드에 의해 목표 입출력 노드에서 해당 영역의 자료를 목표 장치에 쓰기를 수행하는 단계와, 상기 목표 장치에 해당 영역의 자료를 쓰기한 후 마지막 쓰레드가 할달 받았던 자원들을 모두 반환하고 원시 입출력 노드에게 종료를 통보하는 단계로 이루어진 것을 특징으로 한다.
제1도는 본 발명이 적용되는 시스템의 구성도.
제2도는 본 발명이 적용되는 입출력 노드의 구성도.
제3도는 본 발명에 따른 자료 복사 요청 제어 방법을 설명하기 위해 도시한 블록도.
제4(a)도는 본 발명에 따른 요청 접수 메시지의 처리 흐름도.
제4(b)도는 본 발명에 따른 원시 ION 복사 분배기의 처리 흐름도.
제5(a)도는 본 발명에 따른 SCSI간 복사 처리 흐름도.
제5(b)도는 본 발명에 따른 PCI/ION 내부간 복사 처리 흐름도.
제6도는 본 발명에 따른 원시 ION의 복사 처리 흐름도.
제7(a)도는 본 발명에 따른 목표 ION의 복사 응답 흐름도.
제7(b)도는 본 발명에 따른 원시 ION의 복사 처리 흐름도.
* 도면의 주요부분에 대한 부호의 설명
11 : X-bar 상호 연결망(Xcent Net)
12 : 처리기 노드(Processing Node; PN)
13 : 입출력 노드(Input/Output Node; ION)
14 : 통신 제어 노드(Communication Control Node; CCN)
15 : Xcent 네트워크 정합기(X-bar Network Interface; XNIF)
16 : 주변기기 상호 접속 버스(Peripheral Component Interconnect Bus; PCI Bus)
17 : 블록 장치 제어기(Small Comptuer System Interface; SCSI)
18 : 주변장치(Peripheral Devices; DEV)
첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
제1도는 본 발명이 적용되는 시스템의 구조도로서, 4개의 중앙 처리장치 및 내부 자원들을 가진 노드들이 고속 상호 연결망인 엑센트 네트(Xcent Net)(11)에 연결되어 상호 메시지 교환으로 통신하는 병렬 처리 시스템이다. 각 노드는 기능적으로 처리기 노드(Processing Node; PN)(12), 입출력 노드(Input/Output Node; ION)(13) 및 통신 제어 노드(Communication Control Node; CCN)(14)로 구별하며 이들은 노드 내부의 PCI 버스(16)에 접속된 장치의 종류에 의하여 논리적으로 구분된다. 입출력 노드(13)는 4개의 PCI 버스(16)에 SCSI 제어기를 장착하며 통신 제어 노드(14)는 4개의 PCI 버스에 통신 제어기를 장착하여 각각 블록 입출력 장치와 문자 입출력 장치를 관리하는 전용 서버로서 메시지 전송 방식에 의한 정합과 입출력 요청 단위의 처리 방법과 순서를 제어하는 서버 노드이다.
제2도는 본 발명이 적용되는 입출력 노드의 블록 다이어그램이다. 프로세서(22)는 인텔의 P6를 사용하였고, 4개의 PCI 버스(21)에는 SCSI 제어기를 접속하여 여러 종류의 블록 장치를 연결할 수 있다. 메모리(23)는 256M byte의 용량을 가지며, 운영체제의 블록 장치를 관리하는 장치 관리자가 마이크로커널과 상호 동작으로 메모리에 적재되어 디스크 캐쉬 및 복사를 위한 메모리 모듈을 관리한다.
제3도는 본 발명이 적용되는 시스템에서 미디어간 복사를 요청할 때 각 노드간의 제어 흐름도이다. 먼저 사용자 프로세스(38)에 의하여 커널에 복사를 요청하면 PN의 프로세서 관리자(Processor Manger; 이하 PM이라 함)(32)가 주어진 장치 번호를 판별하여 해당 파일 관리자(File Manager; 이하 FM이라 함)(33)에게 요청한다. FM(33)은 복사 명령을 인식하여 자기가 관리하는 블록 입출력 관리자(Block I/O Manager; BIOM)(34, 35)중에 원지 입출력 노드를 결정하여 메시지로 통보한다. 원시 입출력 노드의 BIOM(34)은 여러개의 쓰레드를 생성 병렬로 목표 입출력 노드의 BIOM(35)과 제어 및 데이터 메시지를 교환하며 복사를 수행한다.
제4도(a) 및 제4도(b)는 본 발명에 따른 원시 입출력 노드의 복사 접수 메시지 처리기 및 복사 형태에 따른 처리 흐름도이다. 제4도(a)는 접수된 요청 메시지의 처리 흐름도로서, FM에서 복사 요청 메시지가 도착될 때(401) 처리된다. 여러 서비스중 복사 요청이면 먼저 복사 데몬이 대기중인지를 조사한다(402). 대기중이면 복사 데몬을 기동시키고(403), 대기중이 아니면 메시지를 복사 데몬이 관리하는 구조에 팬딩시키고(404) 다음 메시지 처리를 계속한다(405).
제4도(b)는 복사 데몬 쓰레드로서, 먼저 복사 요청 메시지가 도착되면(406) 팬딩된 메시지가 있는가를 조사한다(407). 팬딩된 메시지가 없으면 이 데몬은 대기 상태로 진입한다(408). 팬딩된 메시지가 존재하거나 복사 데몬이 대기중에서 기동하면 복사 형태에 따라 SCSI내부에 복사를 수행하거나(409), PCI 간에 복사를 수행한다(410). 그리고 ION간에 복사를 수행한다(411). 복사가 완료되면 다음 요청을 처리하기 위해 위의 과정을 반복한다(412).
제5도(a)는 본 발명에 따른 동일 SCSI에 장착된 장치간의 복사일 때의 흐름도로서, SCSI 고유 기능에 의하여 가능하다. SCSI 의 COPY 명령(51)에 의하여 수행된다.
제5도(b)는 본 발명에 따른 입출력 노드 내부 PCI 버스에 장착된 다른 SCSI 들 간의 복사 처리 흐름도이다. 복사 요구량 만큼의 메모리를 할당 받고(52) 원시 장치 읽기(53), 목표 장치 쓰기(54)를 복사량을 만족할 때 까지 반복한 후(55) 메모리를 반환하고(56) 종료한다.
제6도는 본 발명에 따른 ION간의 복사 처리에 대한 원시 ION의 복사 처리 흐름도이다. 먼저 원시 ION인지 확인하여(601) 원시 ION이 아니면 목표 ION의 내부 처리를 한다(602). 목표 ION의 내부 처리 동작 흐름은 제7도(b)에 도시되어 있다. 원시 ION이면 복사 요구량 만큼의 메모리를 할당 받고(603), 목표 ION에 복사 요청 사실을 통보하여 메모리 할당으로 각 목표 메모리 모듈별 번지를 구해온다(604). 원시 장치로부터 할당 받은 메모리로 읽기를 수행하는 쓰레드를 만들어 계속 읽기를 수행한다(605). 이 쓰레드는 목표 장치에 복사를 처리하는 쓰레드와 동기를 맞추어 수행된다. 모든 복사 요구량에 대해(606, 610) 해당 모듈별 쓰레드를 생성하고(607, 609), 각 쓰레드는 비동기 방식으로 목표 ION의 BIOM에게 복사를 요청한다. 이때 각 쓰레드는 상호 순서에 관계없이 수행되며, 모듈별 복사 완료시 읽기 쓰레드(605)와 동기한다. 모든 복사 요구량이 만족되면 메모리를 반환하고(611) 종료한다.
제7도(a)는 본 발명에 따른 ION간의 복사 처리에 대한 목표 ION의 복사 응답기의 처리 흐름도이다. 원시 ION의 복사 개시 메시지를 받으면 내부 메모리를 할당받아(701) 메시지 전송상의 가장 적합한 단위의 모듈로 나누어 각 번지를 원시 ION에 응답한다(702). 그리고 자신은 목표 ION의 쓰기 완료에 대하여 대기 상태로 진입한다(703). 쓰기가 완료되어 깨어나면 복사를 위해 할당 받은 자원들을 반환하고(704) 종료한다.
제7도(b)는 본 발명에 따른 목표 ION의 장치에 쓰기를 수행하는 쓰레드의 처리 흐름도이다. 이 쓰레드는 원시 ION의 복사 처리 쓰레드에 대응되어 만들어진 쓰레드로서, 각 대응 메모리의 모듈을 설정하고(705) 장치에 쓰기를 수행한다(706). 자신의 쓰기 완료는 모듈별 유지하고 있는 쓰기 완료 플래그에 완료를 마크한다(707). 다른 모듈의 쓰기 플래그도 조사하여(708) 모두 완료 되었으면 대기중인 쓰기 완료 쓰레드를 기동하고(709) 원시 ION에 응답 메시지를 반송한 후(710) 종료한다. 모든 쓰기가 완료되지 않았을 경우 원시 ION에 응답 메시지를 반송한 후(710) 종료한다.
상술한 바와 같이 본 발명에 의하면 다단계 자료 전송으로 인한 불량 자료의 발생율을 낮추어 고품질의 자료 전송이 가능하고, 상호 연결망의 데이터 및 제어 메시지의 통신 횟수를 줄이므로서 가용한 대역폭을 높여 전체 시스템 성능을 향상할 수 있는 훌륭한 효과가 있다.

Claims (1)

  1. 처리기 노드에서 수행되는 파일 관리자로부터 원시 입출력 노드로 메시지 전송에 의한 미디어간 자료 전송을 요청하는 단계와, 상기 자료 전송을 요청 받은 원시 입출력 노드 내부에서 원시 장치와 목표 장치의 위치에 따라 수행장치를 구분하고 처리 절차를 결정하는 단계와, 상기 수행 장치의 구분에 의한 처리 절차의 결정에 따라 입출력 노드간의 자료 전송일 경우 제어 메시지를 통해 목표하는 입출력 노드로 전송량을 통보하는 단계와, 상기 전송량을 통보 받은 입출력 노드에서 메모리를 할당 받고 할당 받은 메모리량을 처리기 노드로 통보하는 단계와, 상기 할당 받은 메모리량을 입출력 노드로부터 통보 받은 처리기 노드에서 상기 전송량, 상대 메모리 확보량 및 데이터 메시지 전송량에 따라 다수개의 쓰레드를 생성하는 단계와, 상기 생성된 쓰레드 중 임의의 한 쓰레드에 의하여 원시 장치에서 읽어들인 자료를 다수개의 자료 전송 쓰레드에게 위임하여 목표 입출력 노드에게 전송하는 단계와, 상기 입력한 쓰레드에 의해 목표 입출력 노드에서 해당 영역의 자료를 목표 장치에 쓰기를 수행하는 단계와, 상기 목표 장치에 해당 영역의 자료를 쓰기한 후 마지막 쓰레드가 할당 받았던 자원들을 모두 반환하고 원시 입출력 노드에게 종료를 통보하는 단계로 이루어진 것을 특징으로 하는 저장용 미디어간의 직접 자료 복사 방법.
KR1019960064148A 1996-12-11 1996-12-11 저장용 미디어간의 직접 자료 복사 방법 KR100198808B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960064148A KR100198808B1 (ko) 1996-12-11 1996-12-11 저장용 미디어간의 직접 자료 복사 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960064148A KR100198808B1 (ko) 1996-12-11 1996-12-11 저장용 미디어간의 직접 자료 복사 방법

Publications (2)

Publication Number Publication Date
KR19980045903A KR19980045903A (ko) 1998-09-15
KR100198808B1 true KR100198808B1 (ko) 1999-06-15

Family

ID=19487128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960064148A KR100198808B1 (ko) 1996-12-11 1996-12-11 저장용 미디어간의 직접 자료 복사 방법

Country Status (1)

Country Link
KR (1) KR100198808B1 (ko)

Also Published As

Publication number Publication date
KR19980045903A (ko) 1998-09-15

Similar Documents

Publication Publication Date Title
US5117350A (en) Memory address mechanism in a distributed memory architecture
EP0889403B1 (en) A snoop filter for use in multiprocessor computer systems
EP0226096B1 (en) Multiple-hierarchical-level multiprocessor system
RU2220444C2 (ru) Компьютерная система и способ передачи данных в компьютерной системе
US6651139B1 (en) Multiprocessor system
US6546471B1 (en) Shared memory multiprocessor performing cache coherency
US4881164A (en) Multi-microprocessor for controlling shared memory
CN112540941B (zh) 一种数据转发芯片及服务器
JPH1097513A (ja) マルチプロセッサ・コンピュータ・システム中のノード、及びマルチプロセッサ・コンピュータ・システム
US8930640B2 (en) Multiprocessor computer system with reduced directory requirement
CN112099728B (zh) 一种执行写操作、读操作的方法及装置
JPH10187631A (ja) 拡張された対称マルチプロセッサ・アーキテクチャ
WO2001016761A2 (en) Efficient page allocation
CN115658326B (zh) 用于管理存储空间的装置及方法、计算设备、芯片
CN114281516A (zh) 一种基于numa属性的资源分配方法及装置
US8117626B2 (en) Asynchronous remote procedure calling method and computer product in shared-memory multiprocessor
KR100198808B1 (ko) 저장용 미디어간의 직접 자료 복사 방법
CN114238156A (zh) 处理系统以及操作处理系统的方法
JP2780662B2 (ja) マルチプロセッサシステム
EP0147656B1 (en) Multi-microprocessor for controlling shared memory
CN118363900B (zh) 一种具备扩展性和灵活性的数据流加速设备及方法
CN1269550A (zh) 分区计算机系统中的动态i/o分配
JP3411520B2 (ja) 情報処理装置
KR0175534B1 (ko) 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법
Daniel et al. Serial multiport memory multiprocessors

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

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee