KR0175534B1 - 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법 - Google Patents
공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법 Download PDFInfo
- Publication number
- KR0175534B1 KR0175534B1 KR1019960054852A KR19960054852A KR0175534B1 KR 0175534 B1 KR0175534 B1 KR 0175534B1 KR 1019960054852 A KR1019960054852 A KR 1019960054852A KR 19960054852 A KR19960054852 A KR 19960054852A KR 0175534 B1 KR0175534 B1 KR 0175534B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- processor
- master
- communication
- data distribution
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
Abstract
본 발명은 고속 병렬 컴퓨터(SPAX)에서 응용 프로그램의 병렬 처리 방법에 관한 것으로, 종래의 공유 메모리 구조나 분산 메모리 구조에서 사용하던 자료 분산 방법으로는 시스템 성능을 충분히 살릴 수가 없다. 이러한 문제점을 해결하기 위해 공유 메모리 형태의 자료 분산과 분산 메모리 형태의 자료 분산을 혼용하여 한 노드 내에서는 공유 메모리 형태의 자료 분산을 수행하고, 노드를 벗어나면 분산 메모리 형태의 자료 분산을 수행하는 공유 메모리 시스템 상에서의 자료 분산 및 통신 방법이 제시된다.
Description
본 발명은 고속 병렬 컴퓨터에서 응용 프로그램의 병렬 처리 방법에 관한 것으로, 특히 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법에 관한 것이다.
종래의 자료 분산 방법을 제3a도 및 제3b도를 이용하여 설명하면 다음과 같다.
제3a도 및 제3b도는 종래의 자료 분산 방법을 설명하기 위해 도시한 블럭도이다. 제3a도는 종래의 공유 메모리 형태의 자료 분산 방법을 설명하기 위해 도시한 블럭도이다. 도시된 바와 같이 종래의 공유 메모리 형태의 자료 분산 방법에서는 일정 갯수의 프로세서(31)를 할당한 후 사용자가 정의한 배열을 동일한 공유 메모리(33)에 탑재한다. 각 프로세서들(31)은 접근 범위를 달리하여 각각의 영역을 처리하면서 공유 메모리 통신 방법에 따라 버스(32)를 이용하여 통신한다.
제3b도는 종래의 분산 메모리 형태의 자료 분산 방법을 설명하기 위해 도시한 블럭도이다. 분산 메모리 형태의 자료 분산 방법에서는 각 프로세서가 독립적인 지역 메모리(34)를 가지므로 각 프로세서에 할당한 배열의 분량을 각 메모리에 할당 한 후 각 프로세서에서의 작업을 수행한다. 그리고, 다른 프로세서에 있는 자료를 접근하고자 할 때는 메시지 전달 인터페이스(35)에 의하여 자료 송/수신를 수행한다.
자료 분산 처리를 수행하는 종래의 기술인 공유 메모리 형태이 자료 분산이나 분산 메모리 형태의 자료 분산으로는 고속 병렬 컴퓨터와 같은 공유 분산 메모리 시스템의 성능을 충분히 활용할 수가 없다. 공유 메모리 형태의 자료 분산을 고속 병렬 컴퓨터에 적용시킬 경우, 한 노드만 한정적으로 사용하므로 한 노드에 과부하를 초래하면서도 다른 노드를이용할 수 가 없게 된다. 또한, 분산 메모리 형태의 자료 분산을 고속 병렬 컴퓨터에 적용시키는 경우는 한 노드에 하나씩의 프로세서 밖에 할당을 할 수가 없다. 즉 네 개의 프로세서로 구성된 한 노드에 한 개의 프로세서밖에 할당할 수 없으므로 자원 낭비를 가져 오며, 노드 간의 비싼 통신 비용을 감수해야 하므로 좋은 성능을 얻기가 어렵다.
본 발명에서는 이 두 가지 분산 방법을 조화시키는 방법으로, 적은 갯수의 프로세서일 경우에는 한 노드만을 사용하고 많은 프로세서를 수행할 경우에는 다른 노드에 분산시켜 노드 내에서는 공유 메모리 방식의 통신을 수행하고 서로 다른 노드에 할당된 프로세서와는 메시지 전달 방식에 의하여 통신을 수행하는 공유 분산 메모리형 자료 분산 방법을 제시한다. 이로써 고속 병렬 컴퓨터와 같은 공유 분산 메모리 구조를 갖는 시스템에서 가장 효율적인 자료 분산 방법으로 수행될 수 있다.
따라서, 본 발명은 고속 병렬 컴퓨터와 같은 공유 분산 메모리 시스템 상에서 고속 실행 포트란(High Performance Fortran: 이하 HPF라 함) 컴파일러를 구현함에 있어, HPF 언어의 핵심 기능인 자료 분산을 가장 효율적으로 수행할 수 있는 방법을 제공하는데 그 목적이 있다.
상술한 목적을 달성하기 위한 본 발명은 빅 마스터로 생성된 프로세서가 분산을 수행할 각 노드에 원격 마스터를 생성하는 단계와, 상기 빅 마스터 및 원격 마스터들이 자신이 포함된 노드에 할당된 갯수 만큼의 슬래브 프로세서들을 생성하는 단계와, 상기 빅 마스터, 원격 마스터 및 슬래브 프로세서에서 다른 프로세서와 통신이 요구될 때 동일한 노드에 있는 프로세서인지 다른 노드에 있는 프로세서인지를 판별하는 단계와, 상기 통신할 프로세서의 판별 결과 같은 노드에 있는 프로세서일 경우 공유 메모리 방식에 의하여 통신을 수행하는 단계와, 상기 통신할 프로세서의 판별 결과 다른 노드에 있는 프로세서와 통신을 할 경우 노드간 메시지 전달 방법에 의하여 엑센트 네트웍을 통하여 통신하는 단계와, 상기 통신을 종료한 프로세서들이 자신의 상위 프로세서에 종료를 알리고 최종적으로 빅 마스터 프로세서에서 전체 작업을 종료하는 단계로 이루어진 것을 특징으로 한다.
제1도는 본 발명이 적용되는 시스템의 하드 웨어 구성도.
제2도는 본 발명을 내재하는 HPF 컴파일러의 위치도.
제3a도 및 제3b도는 종래의 자료 분산 방법을 설명하기 위해 도시한 블럭도.
제4도는 본 발명에 따른 공유 분산 메모리 형태의 자료 분산 방법을 설명하기 위해 도시한 블럭도.
제5도는 본 발명에 따른 고속 병렬 컴퓨터 상에서 공유 분산 메모리의 자료 분산 및 통신 운영도.
* 도면의 주요 부분에 대한 부호의 설명
11 : 프로세싱 노드 12 : 엑센트 네트
13 : 입출력 노드 14 : 공유 메모리
15 : 처리기 16 : 접속 제어 노드
이하, 첨부한 도면을 참조하여 본 발명을 상세히 설명하기로 한다.
제1도는 본 발명이 적용되는 고속병렬 컴퓨터의 하드 웨어 구성도이다. 대칭적 다중 프로세서(symmetric multiprocessor; SMP) 구조를 갖는 한 프로세싱 노드(11)에는 4개의 처리기(15)를 실장하고, 동형 메모리 접속(uniform memory access; UMA) 공유 메모리(14) 모델을 제공하는 병렬 시스템이다. 한 클러스터는 4개의 프로세싱 노드를 가지고 노드 간과 클러스터 간은 통신을 위하여 계층 크로스바 연결망(엑센트 네트웍: Xcent-Net)(12)을 제공하며, 여기에 입출력 노드(13)와 접속 제어 노드(16)를 연결한다.
제2도는 본 발명을 내재하는 HPF 컴파일러의 위치도이다. HPF 컴파일러(21)는 사용자가 작성한 프로그램을 기계어로 번역해 주는 HPF 번역기(25)와 프로세서를 할당·통신하는 자료 분산 기능을 실행 시간에 제어해 주는 함수들로 구성된 실행 시간 라이브러리(26), 그리고 프로그램에서 필요한 입출력 기능들을 수행하는 함수들로 구성된 입출력 라이브러리(27)로 구성되어 있다. 이는 다시 노드 내에 있는 프로세서 및 노드 간에 통신이 가능하도록 구현되어 있는 메시지 전달 인터페이스(Message Passing Interface;MPI) 라이브러리(22)들을 호출하여 자료 분산 기능을 수행한다. 메시지 전달 인터페이스는 운영 체제(23)와 고속 병렬 컴퓨터 하드 웨어(24) 상에 실장하게 된다.
제4도는 본 발명에 따른 공유 분산 메모리 형태의 자료 분산 방법을 설명하기 위해 도시한 블럭도이다. 한 노드(41)에서 응용 프로그램을 수행했을 때, 처음 구동된 빅 마스트 프로세서(42)는 응용 프로그램을 구동할 때 정의한 방법에 의하여 다른 노드에 원격 마스터(48)들을 생성한다. 그러면 각 노드에는 빅 마스터 또는 원격 마스터와 같은 하나의 마스터가 존재하게 된다 각 마스터들은 자신의 노드에 지정된 갯수 만큼 슬래브 프로세서(43)들을 생성한다. 이때, 사용자가 정의한 배열은 한 노드에서 수행되는 양 만큼을 각 노드의 공유 메모리(45)에 할당한다. 한 프로세서에서 다른 프로세서에 있는 자료를 사용할 때는 우선 그 프로세서가 동일한 노드에 있는지 다른 노드에 있는지를 식별한다. 만일, 같은 노드에 있을 경우에는 공유 메모리 통신 방법에 따라 버스(44)를 이용하여 다른 프로세서에서 수행하고 있는 자료에 대한 정보를 얻고, 다른 노드에 있는 프로세서일 경우에는 노드간 메시지 전달 인터페이스(47) 통신 방법에 따라 엑센트 네트웍을 이용하여 자료를 송/수신 한다.
제5도는 본 발명에 따른 고속 병렬 컴퓨터 상에서 공유 분산 메모리 자료 분산 방법에 대한 분산 및 통신 운영도이다. 사용자 프로그램에서 정의된 커다란 배열(51)은 여러 개의 프로세서에 나누어져서 수행되는데, 이 때 프로세서 갯수가 일정 크기보다 큰 경우에는 여러 개의 노드(53)에 분산시키게 된다. 만일 노드의 갯수가 4개 이하인 경우는 한 개의 플러스터(52)에서 수행되지만 그렇지 않은 경우는 복수개의 클러스터에 사용자의 배열이 분산되게 된다. 이 때 분산되는 방법은 제4도에서 설명한 순서로 진행되는데, 같은 노드에 있는 프로세서들은 공유 메모리에 처리할 배열의 일부분을 적재하고, 다른 노드에서 수행할 배열의 영역은 다른 노드의 메모리로 넘겨 준다. 같은 노드 내에 있는 프로세스들 간에 자료를 주고 받을 때는 버스(54)를 통하여 공유 메모리 접근 허용 방법에 따라 통신을 수행하며, 다른 노드에 있는 프로세서와 통신을 수행할 때는 엑센트 네트 인터페이스(XNIF)(57)에서 엑센트 네트웍을 이용하여 자료를 송수신 한다. 같은 클러스터에 위치한 노드들 간에는 레벨-0(Level-0)의 엑센트 네트웍(55)만을 사용하며, 서로 다른 클러스터에 위치한 노드들 간에는 레벨-0(Level-0) 엑센트 네트웍(55)와 레벨-1(Level-1) 엑센트 네트웍(56)을 거친 후에야 서로 통신할 수 있다. 통신 비용 면에서는 버스를 이용한 노드 내에서의 통신이 가장 적으며, 레벨-0 엑센트 네트웍을 이용하는 같은 클러스터 내의 노드 간 통신이 그 다음이고, 레벨-0 와 레벨-1 엑센트 네트웍을 모두 거쳐야 하는 서로 다른 클러스터에 위치한 프로세서들 간의 통신이 가장 많은 비용을 필요로 한다.
상술한 바와 같이 본 발명에 의하면 분산 프로세서가 적은 경우에는 한 노드내에서만 수행하고, 분산 프로세서가 많은 경우에는 여러 개의 노드를 사용할 수 있는 계층적인 구조를 가지고 융통적이고 효율적으로 운용될 수 있어 확장 범위가 제한적이지 않고 시스템의 자원과 성능을 극대화할 수 있는 훌륭한 효과가 있다.
Claims (7)
- 빅 마스터로 생성된 프로세서가 분산을 수행할 각 노드에 원격 마스터를 생성하는 단계와, 상기 빅 마스터 및 원격 마스터들이 자신이 포함된 노드에 할당된 갯수 만큼의 슬래브 프로세서들을 생성하는 단계와, 상기 빅 마스터, 원격 마스터 및 슬래브 프로세서에서 다른 프로세서와 통신이 요구될 때 동일한 노드에 있는 프로세서인지 다른 노드에 있는 프로세서인지를 판별하는 단계와, 상기 통신할 프로세서의 판별 결과 같은 노드에 있는 프로세서일 경우 공유 메모리 방식에 의하여 통신을 수행하는 단계와, 상기 통신할 프로세서의 판별 결과 다른 노드에 있는 프로세서와 통신을 할 경우 노드간 메시지 전달 방법에 의하여 엑센트 네트웍을 통하여 통신하는 단계와, 상기 통신을 종료한 프로세서들이 자신의 상위 프로세서에 종료를 알리고 최종적으로 빅 마스터 프로세서에서 전체 작업을 종료하는 단계로 이루어진 것을 특징으로 하는 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법.
- 제1항에 있어서, 상기 원격 마스터는 동일 클러스터 내의 노드인 경우 엑센트 네트웍 레벨-0를 통하여 생성하고, 다른 클러스터의 노드인 경우 엑센트 네트웍 레벨-0와 엑센트 네트웍 레벨-1을 모두 경유하여 생성하는 것을 특징으로 하는 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법.
- 제1항에 있어서, 상기 슬래브 프로세서는 각 노드의 마스터들이 공유 메모리에 의해 처리 영역을 할당 받아 자신의 노드에 생성하는 것을 특징으로 하는 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법.
- 제1항에 있어서, 상기 통신할 프로세서는 각 노드의 식별자로 판별하는 것을 특징으로 하는 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법.
- 제1항에 있어서, 상기 같은 노드의 프로세서간 통신은 버스를 이용하여 공유 메모리에 접근하고, 공유 메모리에서 사용하는 프로세서간 통신을 이용하는 것을 특징으로 하는 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법.
- 제1항에 있어서, 상기 다른 노드에 있는 프로세서와의 통신에서 같은 클러스터 내의 통신인 경우 엑센트 네트웍 레벨-0만을 사용하여 통신하고, 다른 클러스터에 있는 노드의 프로세서와 통신할 경우에는 엑센트 네트웍 레벨-0와 엑센트 네트웍 레벨-1을 차례로 거쳐 통신하는 것을 특징으로 하는 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법.
- 제1항에 있어서, 상기 전체 작업의 종료는 모든 슬래브 프로세서들이 자신의 작업이 종료되었을 때 자신의 마스터에게 종료를 통보하는 단계와. 상기 슬래브의 작업 종료를 수신한 각 원격 마스터들이 상기 작업 종료를 빅 마스터에 통보하는 단계와, 상기 빅 마스터는 자신의 슬래브들이 모두 작업을 종료하고 모든 원격 마스터들로부터 작업을 알리는 메시지를 받았을 때 전체 작업을 종료하는 단계로 이루어진 것을 특징으로 하는 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960054852A KR0175534B1 (ko) | 1996-11-18 | 1996-11-18 | 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960054852A KR0175534B1 (ko) | 1996-11-18 | 1996-11-18 | 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980036294A KR19980036294A (ko) | 1998-08-05 |
KR0175534B1 true KR0175534B1 (ko) | 1999-04-01 |
Family
ID=19482234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960054852A KR0175534B1 (ko) | 1996-11-18 | 1996-11-18 | 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0175534B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100488215B1 (ko) * | 2001-11-01 | 2005-05-09 | 한승희 | 광물질을 함유하는 염색용 조성물, 및 이를 이용하여제조되는 염색 제품 및 그의 제조방법 |
-
1996
- 1996-11-18 KR KR1019960054852A patent/KR0175534B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19980036294A (ko) | 1998-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240168823A1 (en) | Computer cluster arrangement for processing a computation task and method for operation thereof | |
US4633392A (en) | Self-configuring digital processor system with logical arbiter | |
US4562535A (en) | Self-configuring digital processor system with global system | |
US8161480B2 (en) | Performing an allreduce operation using shared memory | |
EP0312739B1 (en) | Apparatus and method for interconnecting an application of a transparent services access facility to a remote source | |
Baru | The architecture of SM3: A dynamically partitionable multicomputer system | |
CN104714846A (zh) | 资源处理方法、操作系统及设备 | |
CN100476741C (zh) | 处理器阵列和用于处理器阵列的处理方法 | |
JP2022522609A (ja) | プログラミング・プラットフォームのユーザコードの実行方法及びプラットフォーム、ノード、機器、媒体 | |
KR0175534B1 (ko) | 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법 | |
CN107402807A (zh) | 在计算机系统中有效提升多任务执行效率的方法、系统和处理器 | |
CN114546654A (zh) | 一种不同架构之间cpu调用的方法、装置及互联设备 | |
CN112612741A (zh) | 一种多路服务器 | |
KR0160592B1 (ko) | 고속 병렬 컴퓨터시스템을 위한 캐드 네트워크 | |
Langendoen et al. | Challenging applications on fast networks | |
JPH02245864A (ja) | 多重プロセッサシステム | |
JPH08272754A (ja) | マルチプロセッサシステム | |
KR100198808B1 (ko) | 저장용 미디어간의 직접 자료 복사 방법 | |
KR20010048804A (ko) | 실시간 시스템의 원격지 입출력 제어 장치 및 방법 | |
Wu et al. | Prototype of star architecture-a status report | |
KR920008263B1 (ko) | 유닉스를 이용한 프로세서 연결망의 동적 재구성방법 | |
CN115454895A (zh) | 一种usb接口扩展方法、系统、设备及可读存储介质 | |
JPS62286155A (ja) | マルチcpu制御方式 | |
KR20010066164A (ko) | 공유 메모리를 이용한 통신 장치 | |
Eaglestone et al. | A campus network based on ICL 2900 series protocol |
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: 20071024 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |