KR19980037089A - 분산 처리 시스템에서의 작업 제어 장치 및 그 방법 - Google Patents

분산 처리 시스템에서의 작업 제어 장치 및 그 방법 Download PDF

Info

Publication number
KR19980037089A
KR19980037089A KR1019960055788A KR19960055788A KR19980037089A KR 19980037089 A KR19980037089 A KR 19980037089A KR 1019960055788 A KR1019960055788 A KR 1019960055788A KR 19960055788 A KR19960055788 A KR 19960055788A KR 19980037089 A KR19980037089 A KR 19980037089A
Authority
KR
South Korea
Prior art keywords
data processing
data
job control
processing means
transmitted
Prior art date
Application number
KR1019960055788A
Other languages
English (en)
Other versions
KR100204494B1 (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 KR1019960055788A priority Critical patent/KR100204494B1/ko
Publication of KR19980037089A publication Critical patent/KR19980037089A/ko
Application granted granted Critical
Publication of KR100204494B1 publication Critical patent/KR100204494B1/ko

Links

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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 하나의 작업을 여러 데이터 처리 시스템에서 분산 처리하는 분산 처리 시스템에 있어서, 작업 제어 장치 및 그 방법에 관한 것이다.
본 발명에 따른 분산 처리 시스템에서의 작업 제어 장치는 다수의 데이터 처리 수단(100)과; 공유 인터페이스 버퍼 수단(200); 다수 개의 버스 수단(300); 및 작업 제어 수단(400)으로 구성된다.
상기와 같이 구성된 분산 처리 시스템에서 작업 제어 방법은 송신 데이터 처리 수단이 전달하고자 하는 데이터를 상기 공유 인터페이스 버퍼 수단의 테일 포인터가 가르키는 주소에 저장하고, 동시에 자신의 식별자와 상기 테일 포인터, 수신 데이터 처리 수단의 식별자로 구성된 정보를 상기 작업 제어 수단으로 전송하는 제 1 단계(S1); 및 상기 작업 제어 수단이 상기 제 1 단계에서 전송되어 온 정보를 저장한 후, 정해진 순서대로 상기 전송된 정보를 이용하여 상기 수신 데이터 처리 수단이 상기 전달하고자 하는 데이터를 억세스하도록 하는 제 2 단계(S2)로 구성된다. 상기와 같은 본 발명에 따르면, 다수의 데이터 처리 장치에서 동시에 한 데이터 처리 장치로 데이터를 전달하고자 하므로써 발생되는 시스템 장애(system fault)를 제거하여 전체 분산 처리 시스템이 오류없이 원할하게 동작하도록 한다.

Description

분산 처리 시스템에서의 작업 제어 장치 및 그 방법(An apparatus method of controlling job in a distributed processing system)
본 발명은 하나의 작업을 다수의 데이터 처리 장치에서 분산 처리하는 분산 처리 시스템 (Distributed Processing System: DPS)에서의 작업 제어 장치 및 그 방법에 관한 것으로서, 특히 하나의 데이터 처리 장치에서 하나의 데이터를 동시에 여러 데이터 처리 장치로 전달하고자 하므로써 발생되는 시스템 장애(system fault)를 제거하여 전체 분산 처리 시스템이 원할하게 동작하도록 된 작업 제어 장치 및 그 방법에 관한 것이다.
일반적으로 하나의 업무를 수행하는 시스템은 그 업무 수행 방법에 따라 중앙 처리 시스템(central processing system)과 분산 처리 시스템으로 구분된다.
상기 중앙 처리 시스템은 원격지의 단말 장치로부터 입력되는 데이터를 집중하여 처리하는 본체 장치와, 주변 장치 및 회선 제어 장치 등의 집합체를 가르키는 말이다. 상기 중앙 처리 시스템은 데이터량 증가로 인한 데이터 처리 장치(예컨데, 컴퓨터)의 대형화를 가능하게 하고, 처리 비용의 저감, 종합적이고 일관된 데이터 처리를 가능하게 한다는 장점이 있다.
상기 분산 처리 시스템은 하나의 업무를 수행함에 있어 모든 처리를 하나의 데이터 처리 장치에 집중시키는 것이 아니라 지리적 기능적으로 복수의 데이터 처리 장치에 분담시키되 이들을 유기적으로 연결하여 통합화하는 시스템을 말하는데, 상기 시스템은 데이터 통신 기술의 발전과 컴퓨터 이용 분야의 확대로 인해 발전하게 되었다.
상기 분산 처리 시스템은 그 결합 형태에 따라 ① 단단히 결합된(tightly-coupled) 분산 처리 시스템과 ② 느슨히 결합된(loosely-coupled) 분산 처리 시스템으로 분류된다.
① 상기 단단히 결합된 분산 처리 시스템의 데이터 처리 장치들은 기억 장치(memory)와 클럭(clock) 을 공유한다. 이러한 다중 데이터 처리 장치(multiprocess or)간의 통신은 항상 공유된 기억 장치를 통하여 일어난다. 즉, 컴퓨터 네트워크와 같이 대형 시스템이 대등하게 연결되고 데이터 베이스나 처리 능력을 공유하는 시스템을 말한다.
② 느슨히 결합된(loosely-coupled) 분산 처리 시스템의 데이터 처리 장치들은 기억 장치와 클럭을 공유하지 않는다. 대신에 각 데이터 처리 장치는 그 자신만이 소유하는 로컬 기억 장치(local memory)를 갖고 있으며, 상기 데이터 처리 장치들은 고속의 버스나 전화선과 같은 여러가지 통신 라인을 통하여 서로 통신한다. 즉, 기업내의 근거리 통신망(local area network: LAN)과 같이 퍼스널 컴퓨터, 오피스 컴퓨터와 대형 컴퓨터를 계층적으로 구성한 시스템을 말한다. 이때, 분산 처리 시스템에서는 메모리나 버스 등의 자원을 공유하므로 동시에 2 개 이상의 데이터 처리 장치가 동일 자원(메모리나 버스)을 사용하려고 할 때, 이를 제어할 수 있는 작업 제어 장치가 필요하게 되는데, 이를 조정 장치(Arbitor) 라 부른다.
본 명세서에서는 상기 느슨히 결합된 분산 처리 시스템을 기본으로 하여 살펴보기로 한다.
도 1 은 종래의 분산 처리 시스템을 개략적으로 도시한 구성 블록도로서, 종래 분산 처리 시스템은 제 1 ∼ 4 데이터 처리부(10, 12, 14, 16)와 제 1 ∼ 4 인터페이스 버퍼(20, 22, 24, 26), 공유 버스(30)로 구성된다.
여기서, 데이터 처리부와 인터페이스 버퍼의 물리적 개수는 한정된 것이 아니라 어플리케이션(Application)에 따라 융통성있게 설계될 수 있다.
상기 제 1 ∼ 4 데이터 처리부(10, 12, 14, 16)는 하나의 작업을 각각의 기능적 지리적 특성에 맞게 분담하여 처리한다. 여기서, 상기 제 1 ∼ 4 데이터 처리부(10, 12, 14, 16) 각각은 데이터 처리를 위해 다른 데이터 처리부에서 데이터를 가져오기도 하고, 다른 데이터 처리부로 데이터를 보내기도 한다.
그런데, 상기 제 1 ∼ 4 데이터 처리부(10, 12, 14, 16)가 동시에 데이터 처리를 수행하여야 함에도 불구하고 서로 다른 동작 환경을 가지고 있을 경우, 예컨데 동작 주파수(동작 클럭)가 서로 다를 경우, 전체 시스템의 원할한 동작을 도모하고저 상기 제 1 ∼ 4 데이터 처리부(10, 12, 14, 16)의 입출력단에 인터페이스 장치를 제공할 필요가 있다.
이에, 상기 제 1 인터페이스 버퍼(20)는 상기 제 1 데이터 처리부(10)의 인터페이스를 제공한다. 예컨데, 다른 데이터 처리부로부터 입력된 데이터를 저장, 입력받기도 하고, 자신이 처리한 데이터를 저장, 전송하기도 한다. 상기 제 2 인터페이스 버퍼(22)는 상기 제 2 데이터 처리부(12)의 인터페이스를 제공하고, 상기 제 3 인터페이스 버퍼(24)는 상기 제 3 데이터 처리부(14)의 인터페이스를 제공하며, 상기 제 4 인터페이스 버퍼(26)는 상기 제 4 데이터 처리부(16)의 인터페이스를 제공한다.
상기 제 1 ∼ 4 인터페이스 버퍼(20, 22, 24, 26)는 주로 듀얼 포트 메모리(dual port memory)로 구현된다. 상기 듀얼 포트 메모리는 2개의 입출력 단자를 가지며 쌍방의 포트로부터 독립적으로 억세스가 가능한 기억장치를 말한다. 즉, 2개의 포트가 모두 어드레스 입력, 제어 신호 입력을 가지고 서로 독립적으로 데이터를 억세스할 수 있는 장치를 말한다.
상기 공유 버스(30)는 상기 제 1 ∼ 4 인터페이스 버퍼(20, 22, 24, 26)간의 데이터 전송 즉, 통신로 역할을 한다. 결과적으로, 제 1 ∼ 4 데이터 처리부(10, 12, 14, 16) 간의 데이터 전송을 수행하는 통신로 역할을 한다.
상기와 같은 데이터 처리부와 인터페이스 버퍼, 공유 버스를 이용하여 하나의 업무를 분산하여 처리하므로써, 전체 분산 처리 시스템의 정상적인 동작을 꾀할수 있다.
그런데, 상기와 같은 종래 분산 처리 시스템에 있어서, 데이터 처리량이 증가하고 데이터 처리 과정이 복잡하여 하나의 데이터 처리 장치에서 발생된 동일 데이터를 동시에 여러 데이터 처리 장치로 전달하고자 할 경우, 한정된 버스에 비해 이를 사용하려는 데이터 처리 장치 수가 급증하므로 전체 시스템 동작에 큰 장애를 불러일으키게 된다는 문제점이 있었다.
이에 본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 하나의 작업을 다수의 데이터 처리 장치에서 분산 처리하는 분산 처리 시스템에서, 다수의 데이터 처리 장치에서 동시에 한 데이터 처리 장치로 데이터를 전달하고자 하므로써 발생되는 시스템 장애(system fault)를 제거하여 전체 분산 처리 시스템이 오류없이 원할하게 동작하도록 된 작업 제어 장치 및 그 방법을 제공하는 데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 분산 처리 시스템에서의 작업 제어 장치는
하나의 업무를 기능적 지리적으로 분담하여 처리하는 다수 개의 데이터 처리 수단과; 상기 데이터 처리 수단 각각에 헤드 포인터(읽기 포인터)에서 테일 포인터(쓰기 포인터)까지의 버퍼링 공간을 각각 할당하여 인터페이스를 제공하는 공유 인터페이스 버퍼 수단; 상기 데이터 처리 수단 각각에 상기 공유 인터페이스 버퍼 수단를 연결시키는 다수 개의 버스 수단; 및 상기 한 송신 데이터 처리 수단에서 다른 하나 또는 여러 수신 데이터 처리 수단으로 데이터를 전달하고자 할 때, 상기 송신 데이터 처리 수단으로부터 상기 송신 데이터 처리 수단의 식별자와 상기 전달하고자 하는 데이터가 저장된 공유 인터페이스 버퍼의 테일 포인터와 상기 수신 데이터 처리 수단의 식별자를 입력받아 저장하고 있다가, 차례가 되면 상기 데이터를 상기 도착 데이터 처리 수단이 억세스하도록 제어하는 작업 제어 수단으로 구성되는 것을 특징으로 한다.
상기와 같은 데이터 처리 수단 각각에 헤드 포인터(읽기 포인터)에서 테일 포인터(쓰기 포인터)까지의 버퍼링 공간을 각각 할당하여 인터페이스를 제공하는 공유 인터페이스 버퍼 수단, 다수 개의 버스 수단, 작업 제어 수단으로 구성된 분산 처리 시스템에서 하나의 송신 데이터 처리 장치에서 하나 또는 다수의 수신 데이터 처리 장치로 데이터를 전달하고자 할 때의 작업 제어 방법은
상기 송신 데이터 처리 수단이 전달하고자 하는 데이터를 상기 공유 인터페이스 버퍼 수단의 테일 포인터가 가르키는 주소에 저장하고, 동시에 자신의 식별자와 상기 테일 포인터, 수신 데이터 처리 수단의 식별자로 구성된 정보를 상기 작업 제어 수단으로 전송하는 제 1 단계; 및 상기 작업 제어 수단이 상기 제 1 단계에서 전송되어 온 정보를 저장한 후, 정해진 순서대로 상기 전송된 정보를 이용하여 상기 수신 데이터 처리 수단이 상기 전달하고자 하는 데이터를 억세스하도록 하는 제 2 단계로 구성되는 것을 특징으로 한다.
상기와 같은 본 발명에 따르면, 다수의 데이터 처리 장치에서 동시에 한 데이터 처리 장치로 데이터를 전달하고자 하므로써 발생되는 시스템 장애(system fault)를 제거하여 전체 분산 처리 시스템이 오류없이 원할하게 동작하도록 한다.
도 1 은 종래의 데이터 분산 처리 시스템을 개략적으로 도시한 구성 블록도,
도 2 는 본 발명에 따른 데이터 분산 처리 시스템을 도시한 구성 블록도,
도 3 의 (가) 는 환형 큐의 내부 엔트리(entry) 구조를 도시한 도면,
(나) 는 환형 큐를 구조적으로 도시한 도면,
도 4 는 상기 도 2 에 도시된 작업 제어부의 내부 엔트리 구조를 도시한 도면,
도 5 는 본 발명에 따른 데이터 분산 처리 방법을 단계적으로 설명하기 위한 흐름도,
도 6 의 (가) 및 (나)는 본 발명의 실시예를 설명하기 위한 도면이다.
*도면의 주요부분에 대한 부호의 설명
100: 제 1 데이터 처리부 120: 제 2 데이터 처리부
140: 제 3 데이터 처리부 160: 제 4 데이터 처리부
200: 공유 인터페이스 버퍼 300: 버스
400: 작업 제어부
T1 ∼ T4: 제 1∼4 헤드 포인터 H1 ∼ H4: 제 1∼4 헤드 포인터
requet: 요구 신호 grant: 수락 신호
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.
먼저, 본 발명의 이해를 돕기 위해 분산 처리 시스템에 대해서 간단히 살펴보며 다음과 같다.
일반적으로, 분산 처리 시스템은 하나의 업무를 수행함에 있어 모든 처리를 하나의 데이터 처리 장치에 집중시키는 것이 아니라 지리적 기능적으로 복수의 데이터 처리 장치에 분담시키되 이들을 유기적으로 연결하여 통합화하는 시스템을 말하는데, 상기 시스템은 데이터 통신 기술의 발전과 컴퓨터 이용 분야의 확대로 인해 발전하게 되었다.
상기 분산 처리 시스템의 장점은 ① 자원 공유, ② 처리 속도 향상, ③ 신뢰성 향상, ④통신 기술의 향상 등이다.
① 자원 공유: 서로 다른 기능을 갖는 프로세서들이 서로 연결되므로, 한 프로세서는 다른 프로세서의 이용 가능한 자원을 공유할 수 있다. ② 처리 속도 향상: 특정한 처리 과정이 동시 수행 가능한 다수의 부분 연산으로 분할되므로, 이들을 동시에 수행하기 위하여 여러 프로세서들에 처리 과정을 분산시킬 수 있다. 또한, 특정 프로세서에 걸린 과부하를 분산시킬 수 있다. ③ 신뢰성 향상: 분산 처리 시스템내의 한 프로세서에 고장이 발생한 경우, 전체 시스템의 오동작을 방지할 수 있다.
도 2 는 본 발명에 따른 분산 처리 시스템에서의 작업 제어 장치를 도시한 구성 블록도로서, 본 발명의 작업 제어 장치는 제 1 ∼ 4 데이터 처리부(100, 120, 140, 160)와; 공유 인터페이스 버퍼(200); 버스(300); 및 작업 제어부(400)로 구성된다. 본 실시예에서는 데이터 처리부를 4 개로 설정했지만 이는 설명을 용이하게 하기 위함이므로 한정 해석해서는 안될 것이다.
① 제 1 ∼ 4 데어터 처리부
상기 제 1 ∼ 4 데이터 처리부(100, 120, 140, 160) 는 하나의 업무를 기능적, 지리적으로 분산하여 처리한다.
상기 각 데이터 처리부는 자신이 처리한 데이터를 다른 하나의 또는 여러 데이터 처리부로 전달하기도 하고, 다른 하나의 또는 여러 데이터 처리부로부터 데이터를 전달받기도 한다.
② 공유 인터 페이스 버퍼
상기 공유 인터페이스 버퍼(200)는 상기 제 1 ∼ 4 데이터 처리부(100, 120, 140, 160) 중 임의의 한 데이터 처리부에서 다른 데이터 처리부로 데이터를 전송하고자 할 경우, 데이터 버퍼링 동작을 통하여 적당한 인터페이스를 제공하기 위해 상기 제 1 ∼ 4 데이터 처리부(100, 120, 140, 160)에 공통으로 연결되어 있다.
상기 공유 인터페이스 버퍼(200)는 듀얼 포트 메모리(dual port memory)와 후입 선출(Last In First Out) 구조를 갖는 스택(Stack), 선입 선출 구조(First In First Out: FIFO)를 갖는 큐(Queue), 스택 구조와 큐 구조를 혼합한 형태인 디큐(Dequeue), 환형 큐(circular Queue)등으로 구현된다.
여기서, 도 3 의 (가) 는 환형 큐의 내부 엔트리(entry) 구조를 도시한 도면이고, (나) 는 환형 큐를 구조적으로 도시한 도면이다.
즉, 환형 큐 구조는 도 3 의 (가) 에 도시된 바와 같이, 상기 큐 구조의 헤드 부분과 테일 부분을 연결시킨 링 모양의 시작과 끝이 없는 형태를 가진다.
예를 들어, 도 3 의 (나)에 도시된 바와 같이, 환형 큐에 n 개의 데이터 처리장치가 버스를 통하여 연결되어 있다고 가정하자. 이때, 각 데이터 처리 장치는 각각의 헤드 포인터와 테일 포인터를 가지는데, 필요에 따라 다른 데이터 처리 장치의 헤드 포인터 값을 자신의 헤드 포인터 값으로 전달 받기도 한다. 따라서, 쓰기 포인터(WRITE pointer)인 테일 포인터는 각 데이터 처리 장치의 전용 포인터로 설정하고, 읽기 포인터인 헤드 포인터는 다른 데이터 처리 장치에서도 사용할 수 있도록 공용 포인터로 설정한다.
본 발명에 따른 실시예에서는 공유 인터페이스 버퍼를 상기 환형 큐로 구현한 분산 처리 시스템을 설명하기로 한다. 즉, 상기 공유 인터페이스 버퍼(200)는, 상기 제 1 데이터 처리부(100)에 헤드 포인터 H1 부터 테일 포인터 T1 까지의 공간을 할당하고, 상기 제 2 데이터 처리부(120)에 헤드 포인터 H2 부터 테일 포인터 T2 까지의 공간을 할당하며, 상기 제 3데이터 처리부(140)에 해드 포인터 H3 부터 테일 포인터 T3 까지의 공간을 할당하고, 상기 제 4 데이터 처리부(160)에 해드 포인터 H4 부터 테일 포인터 T4 까지의 공간을 할당한다.
이어서, 제 1 ∼ 4 데이터 처리부(100, 120, 140, 160) 각각에 입력될 데이터를 저장한 후 각 데이터 처리부로 입력시키거나, 상기 제 1 ∼ 4 데이터 처리부(100, 120, 140, 160)로부터 출력된 데이터를 저장한 후 출력시킨다.
③ 버스
상기 버스(300)는 상기 제 1 ∼ 4 데이터 처리부(100, 120, 140, 160) 각각에 상기 공유 인터페이스 버퍼(200)를 연결시킨다.
④ 작업 제어부
상기 작업 제어부(400)는 상기 한 데이터 처리부(이하 송신 데이터 처리부 라 칭한다.)에서 다른 하나 또는 여러 데이터 처리 수단(이하 송신 데이터 처리부 라 칭한다.)으로 데이터를 전달하고자 할 때, 상기 송신 데이터 처리부로부터 데이터 전달에 필요한 정보를 전달받아 차례대로 저장하고 있다가 순차적으로 상기 데이터를 상기 수신 데이터 처리 수단이 억세스하도록 제어한다. 여기서, 상기 데이터 전달에 필요한 정보란 상기 송신 데이터 처리부의 식별자(owner id)와 상기 전달하고자 하는 데이터가 저장된 공유 인터페이스 버퍼(200)의 테일 포인터와 상기 수신 데이터 처리부의 식별자(destination id)를 말한다.
상기 작업 제어부(400)는 환형 큐로 구현되어 상기 송신 데이터 처리부로부터 입력되는 송신 데이터 처리부의 식별자(owner id)와 상기 전달하고자 하는 데이터가 저장된 공유 인터페이스 버퍼(200)의 테일 포인터 내용(주소)과 상기 수신 데이터 처리부의 식별자(destination id)를 순차적으로 저장하여 출력한다.
예를 들어, 도 4 에 도시된 바와 같이, 상기 작업 제어부가 n 개의 라인으로 구성된 환형 큐 구조를 가지고 있을 경우, 각 라인은 owner id 와 tail pointer content 및 destination id로 이루어져 있다. 또한, destination id의 비트 수는 데이터 처리부 개수와 일치하거나 크게 설정한므로써, 상기 destination id 와 데이터 처리부는 일대일 관계를 유지하게 되어 하나의 데이터를 복수의 데이터 처리부로 전달할 수 있게 된다.
상기와 같이 구성된 본 발명의 분산 처리 시스템에서의 작업 제어 방법을 도 2, 4, 5를 참조하여 살펴보면 다음과 같다. 도 5 는 분산 처리 시스템의 하나의 데이터 처리부(송신 데이터 처리부)에서 하나 또는 다수의 데이터 처리부(수신 데이터 처리부)로 데이터를 전달하고자 할 때의 작업 제어 방법을 단계적으로 설명하기 위한 흐름도이다.
제 1 단계(S1)에서 상기 송신 데이터 처리부가 전달하고자 하는 데이터를 상기 공유 인터페이스 버퍼(200)의 테일 포인터가 가르키는 주소(tail pointer content)에 저장하고, 동시에 상기 송신 데이터 처리부의 식별자(owner id)와 상기 전달하고자 하는 데이터가 저장된 공유 인터페이스 버퍼(200)의 테일 포인터가 가르키는 주소(tail pointer content)와 상기 수신 데이터 처리부의 식별자(destination id)를 상기 작업 제어부(400)으로 전송한다.
상기 제 1 단계(S1)를 4개의 과정으로 나누어 자세히 살펴보면 다음과 같다.
우선, 임의의 데이터 처리부에서 발생된 데이터를 다른 데이터 처리부로 전달하고자 할 경우, 상기 데이터 전달에 필요한 인터페이스를 제공하기 위해 공유 인터페이스 버퍼를 통해야만 한다.
제 1-1 단계(S1-1)에서, 상기 송신 데이터 처리부가 공유 인터페이스 버퍼를 사용하고자 하는 요구 신호(requst)를 상기 작업 제어부(400)로 전달한다.
제 1-2 단계(S1-2)에서, 상기 작업 제어부(400)가 상기 전달받은 요구 신호에 따른 허락 신호(grant)를 상기 송신 데이터 처리부로 전송한다.
제 1-3 단계(S1-3)에서, 상기 허락 신호를 전달받은 송신 데이터 처리부가 전달하고자 하는 데이터를 상기 공유 인터페이스 버퍼(200)의 테일 포인터(송신 데이터 처리부의 고유 포인터)가 가르키는 주소(tail pointer content)에 저장한다. 상기에서 설명된 바와 같이, 각 데이터 처리부의 테일 포인터는 전용 포인터이므로, 상기 테일 포인터가 가르키는 주소는 상기 송신 데이터 처리부의 전용 테일 포인터가 가르키는 주소를 의미한다.
제 1-4 단계(S1-4)에서 상기 송신 데이터 처리부는 상기 송신 데이터 처리부의 식별자(owner id)와 상기 전달하고자 하는 데이터가 저장된 공유 인터페이스 버퍼(200)의 테일 포인터가 가르키는 주소(tail pointer content)와 상기 수신 데이터 처리부의 식별자(destination id)를 상기 작업 제어부(400)으로 전송한다.
제 2 단계(S2)에서 상기 작업 제어 수단(400)이 상기 제 1-2 단계(S1-2)에서 전송되어 온 정보( owner id 와 tail pointer content 및 destination id)를 하나의 라인으로 구성하여 차례대로 저장한 후, 상기 전송된 정보를 이용하여 상기 목적 데이터 처리부가 상기 전달하고자 하는 데이터를 억세스하게 한다.
상기 제 2 단계(S2)를 3 개의 과정으로 나누어 자세히 살펴보면 다음과 같다.
제 2-1 단계(S2-1)에서 환형 큐 구조를 가지는 작업 제어부(400)는 상기 제 1-2 단계(S1-2)에서 전송되어 온 owner id 와 tail pointer content 및 destination id 를 하나의 라인으로 구성한 다음, 상기 라인들을 환형 큐의 테일 부분에 입력 순서대로 저장한다.
제 2-2 단계(S2-2)에서 상기 작업 제어부(400) 즉 환형 큐의 헤드 부분의 라인중에서 상기 destination id 를 이용하여 상기 데이터를 전달받아야 할 수신 데이터 처리부를 결정한다.
제 2-3 단계(S2-3)에서 상기 제 2-2 단계(S2-2)에서 결정된 수신 데이터 처리부가 owner id 를 분석하여 가져와야 할 데이터가 어느 데이터 처리부에 소속되어 있는 가를 판단하는데, 다시 말해서 상기 데이터가 공유 인터페이스 버퍼부(200)의 공간 중에 어느 데이터 처리부에 할당된 공간에 저장되어 있는 가를 판단한 후, 상기 판단된 데이터 처리부의 버퍼링 공간에서 상기 tail pointer content를 주소로 사용하여 데이터를 페치(fetch)한다.
본 발명의 이해를 돕기 위해 상기 도 2, 4, 5, 6을 참조하여 본 발명의 예를 들어 보면 다음과 같다. 도 6 의 (가 a) 는 최초 공유 인터페이스 버퍼의 데이터 버퍼링 상태를 도시한 도면이고 (가 b) 는 최초 작업 제어부의 작업 테이블을 도시한 도면이며, 도 6 의 (나 a) 는 제 1-3단계(S1-3)이후 공유 인터페이스 버퍼의 데이터 버퍼링 상태를 도시한 도면, (나 b)는 제 2-1 단계(S2-1)이후 최초 작업 제어부의 작업 테이블을 도시한 도면이다.
우선, 제 2 데이터 처리부(120)에서 발생된 데이터 1011 을 제 1 데이터 처리부(100)와 제 4 데이터 처리부(160)로 차례대로 전달하려고 한다고 가정하자.
이때, 송신 데이터 처리부는 제 2 데이터 처리부(120)이고 수신 데이터 처리부는 제 1 및 4 데이터 처리부(100, 160)이며 이때, 상기 제 1, 2, 4 데이터 처리부(100, 120, 160)의 헤드 포인터는 각각 H1, H2, H4, 테일 포인터는 각각 T1, T2, T4, 고유 식별자는 DP1, DP2, DP4 라 한다.
제 1-1 단계(S1-1)에서, 상기 제 2 데이터 처리부(120)가 데이터 전송을 위해 공유 인터페이스 버퍼(200)를 사용하고자 하는 요구 신호(requst)를 상기 작업 제어부(400)로 전달한다.
제 1-2 단계(S1-2)에서, 상기 작업 제어부(400)가 상기 전달받은 요구 신호에 따른 허락 신호(grant)를 상기 제 2 데이터 처리부(120)로 전송한다. 즉, 상기 허락 신호란 상기 제 2 데이터 처리부(120)가 공유 인터페이스 버퍼(200)를 이용할 수 있음을 의미한다.
제 1-3 단계(S1-3)에서, 상기 허락 신호를 전달받은 제 2 데이터 처리부(120)는 전달하고자 하는 데이터 1011를 상기 공유 인터페이스 버퍼(200)의 테일 포인터 T2 가 가르키는 주소(tail pointer content)에 저장한다. (도 6의 (나 a))
제 1-4 단계(S1-4)에서 상기 제 2 데이터 처리부(120)는 자신의 식별자(owner id: DP2)와 상기 테일 포인터 T2 가 가르키는 주소(tail pointer content)와 제 1 데이터 처리부(100)의 식별자(destination id: DP1)를 상기 작업 제어부(400)으로 전송한 후, 자신의 식별자(owner id: DP2)와 상기 테일 포인터 T2 가 가르키는 주소(tail pointer content)와 제 1 데이터 처리부(100)의 식별자(destination id: DP4)를 상기 작업 제어부(400)으로 전송한다.
제 2-1 단계(S2-1)에서 환형 큐 구조를 가지는 작업 제어부(400)는 상기 제 1-4단계(S1-4)에서 전송되어 온 owner id (DP2) 와 tail pointer content(T2 의 주소) 및 destination id(DP1) 를 하나의 라인으로 구성한 다음, 상기 라인을 작업 제어부(400) 즉 환형 큐의 테일 부분에 저장시킴과 동시에, 상기 환형 큐의 테일 포인터는 1 증가한다.(도 6의 (나 b))
이어서 상기 제 1-4 단계(S1-4)에서 전송되어 온 owner id (DP2) 와 tail pointer content(T2 의 주소) 및 destination id(DP4) 를 하나의 라인으로 구성한 다음, 상기 라인을 환형 큐의 테일 부분에 저장시킨다.
일정 기간 후, 상기 제 2-1 단계(S2-1)에서 환형 큐 구조를 갖는 작업 제어부(400)의 테일에 저장된 라인이 헤드 라인이 되었다고 가정하고 다음 단계를 설명하기로 한다.
제 2-2 단계(S2-2)에서 상기 작업 제어부(400) 즉 환형 큐의 헤드 부분의 라인중에서 상기 destination id 를 이용하여 상기 데이터를 전달받아야 할 수신 데이터 처리부를 결정한다. 즉, 상기 도 6 의 (나 b)에 도시된 바와 같이, destination id 가 DP1 이므로 수신 데이터 처리부는 제 1 데이터 처리부(100)로 결정된다.
제 2-3 단계(S2-3)에서 상기 제 2-2 단계(S2-2)에서 결정된 수신 데이터 처리부가 owner id 를 분석하여 가져와야 할 데이터가 어느 데이터 처리부에 소속되어 있는 가를 판단하는데, 다시 말해서 상기 데이터가 공유 인터페이스 버퍼부(200)의 공간 중에 어느 데이터 처리부에 할당된 공간에 저장되어 있는 가를 판단한 후, 상기 판단된 데이터 처리부의 버퍼링 공간에서 상기 tail pointer content를 주소로 사용하여 데이터를 페치(fetch)한다.
즉, 상기 작업 제어부(400) 즉 환형 큐의 헤드 부분의 라인중에서 상기 owner id (DP2)를 분석하여 가져와야 할 데이터 1011 이 제 2 데이터 처리부(120)에 소속되어 있음을 알게 된다. 더 정확히 말하자면, 상기 데이터 1011 이 공유 인터페이스 버퍼부(200)의 공간 중에 제 2 데이터 처리부에 할당된 공간(H1 ∼T1)에 저장되어 있음을 알게 된다.
이어서, 상기 제 1 데이터 처리부(100)가 상기 제 2 데이터 처리부(120)의 버퍼링 공간(H1 ∼T1)에서 상기 tail pointer content가 가르키는 주소에 저장되어 있는 데이터 1011 을 페치(fetch)한다.
결국, 상기 제 2 데이터 처리부(120)에서 발생된 데이터 1011은 시스템 장애없이, 정상적으로 제 1 데이터 처리부(100)로 전송된다.
이어서, 제 2-2 단계(S2-2)에서 상기 작업 제어부(400) 즉 환형 큐의 헤드 부분의 라인중에서 상기 destination id 를 이용하여 상기 데이터를 전달받아야 할 수신 데이터 처리부를 결정한다. 즉, 상기 도 6 의 (나 b)에 도시된 바와 같이, destination id 가 DP4 이므로 수신 데이터 처리부는 제 4 데이터 처리부(160)로 결정된다.
제 2-3 단계(S2-3)에서 상기 제 2-2 단계(S2-2)에서 결정된 수신 데이터 처리부가 owner id 를 분석하여 가져와야 할 데이터가 어느 데이터 처리부에 소속되어 있는 가를 판단하는데, 다시 말해서 상기 데이터가 공유 인터페이스 버퍼부(200)의 공간 중에 어느 데이터 처리부에 할당된 공간에 저장되어 있는 가를 판단한 후, 상기 판단된 데이터 처리부의 버퍼링 공간에서 상기 tail pointer content를 주소로 사용하여 데이터를 페치(fetch)한다.
즉, 상기 작업 제어부(400) 즉 환형 큐의 헤드 부분의 라인중에서 상기 owner id (DP2)를 분석하여 가져와야 할 데이터 1011 이 제 2 데이터 처리부(120)에 소속되어 있음을 알게 된다. 더 정확히 말하자면, 상기 데이터 1011 이 공유 인터페이스 버퍼부(200)의 공간 중에 제 2 데이터 처리부에 할당된 공간(H1 ∼T1)에 저장되어 있음을 알게 된다.
이어서, 상기 제 4 데이터 처리부(160)가 상기 제 2 데이터 처리부(120)의 버퍼링 공간(H1 ∼T1)에서 상기 tail pointer content가 가르키는 주소에 저장되어 있는 데이터 1011 을 페치(fetch)한다.
결국, 상기 제 2 데이터 처리부(120)에서 발생된 데이터 1011은 시스템 장애없이, 정상적으로 제 4데이터 처리부(160)로 전송된다.
이상에서 살펴본 바와 같이, 본 발명에 따르면 임의의 송신 데이터 처리부가 전달하고자 하는 데이터를 상기 공유 인터페이스 버퍼 수단의 테일 포인터가 가르키는 주소에 저장하고, 동시에 자신의 식별자와 상기 테일 포인터, 수신 데이터 처리 수단의 식별자로 구성된 정보를 상기 작업 제어 수단으로 전송한다. 이어서, 상기 작업 제어 수단이 상기 전송되어 온 정보를 저장한 후, 정해진 순서대로 상기 전송된 정보를 이용하여 상기 수신 데이터 처리 수단이 상기 전달하고자 하는 데이터를 억세스하도록 하므로써, 다수의 데이터 처리 장치에서 동시에 한 데이터 처리 장치로 데이터를 전달하고자 하므로써 발생되는 시스템 장애(system fault)를 제거하여 전체 분산 처리 시스템이 오류없이 원할하게 동작하도록 한다.

Claims (6)

  1. 하나의 업무를 기능적 지리적으로 분담하여 처리하는 다수 개의 데이터 처리 수단과(100, 120, 140, 160);
    상기 데이터 처리 수단 각각에 헤드 포인터(읽기 포인터)에서 테일 포인터(쓰기 포인터)까지의 버퍼링 공간을 각각 할당하여 인터페이스를 제공하는 공유 인터페이스 버퍼 수단(200);
    상기 데이터 처리 수단 각각에 상기 공유 인터페이스 버퍼 수단(200)를 연결시키는 다수 개의 버스 수단(300); 및
    상기 한 송신 데이터 처리 수단에서 다른 하나 또는 여러 수신 데이터 처리 수단으로 데이터를 전달하고자 할 때, 상기 송신 데이터 처리 수단으로부터 상기 송신 데이터 처리 수단의 식별자와 상기 전달하고자 하는 데이터가 저장된 공유 인터페이스 버퍼의 테일 포인터와 상기 수신 데이터 처리 수단의 식별자를 입력받아 저장하고 있다가, 차례가 되면 상기 데이터를 상기 도착 데이터 처리 수단이 억세스하도록 제어하는 작업 제어 수단(400)으로 구성되는 것을 특징으로 하는 분산 처리 시스템에서의 작업 제어 장치.
  2. 제 1 항에 있어서, 상기 공유 인터페이스 버퍼 수단(200)이 환형 큐 구조를 갖는 메모리로 구현되는 것을 특징으로 하는 분산 처리 시스템에서의 작업 제어 장치.
  3. 제 1 항에 있어서, 상기 작업 제어 수단(400)이 환형 큐 구조를 갖는 메모리로 구성되는 것을 특징으로 하는 분산 처리 시스템에서의 작업 제어 장치.
  4. 데이터 처리 수단 각각에 헤드 포인터(읽기 포인터)에서 테일 포인터(쓰기 포인터)까지의 버퍼링 공간을 각각 할당하여 인터페이스를 제공하는 공유 인터페이스 버퍼 수단, 다수 개의 버스 수단, 작업 제어 수단으로 구성된 분산 처리 시스템에서 하나의 송신 데이터 처리 장치에서 하나 또는 다수의 수신 데이터 처리 장치로 데이터를 전달하고자 할 때의 작업 제어 방법에 있어서,
    상기 송신 데이터 처리 수단이 전달하고자 하는 데이터를 상기 공유 인터페이스 버퍼 수단의 테일 포인터가 가르키는 주소에 저장하고, 동시에 자신의 식별자와 상기 테일 포인터, 수신 데이터 처리 수단의 식별자로 구성된 정보를 상기 작업 제어 수단으로 전송하는 제 1 단계(S1); 및
    상기 작업 제어 수단이 상기 제 1 단계(S1)에서 전송되어 온 정보를 저장한 후, 정해진 순서대로 상기 전송된 정보를 이용하여 상기 수신 데이터 처리 수단이 상기 전달하고자 하는 데이터를 억세스하도록 하는 제 2 단계(S2)로 구성되는 것을 특징으로 하는 분산 처리 시스템에서의 작업 제어 방법.
  5. 제 4 항에 있어서, 상기 제 1 단계(S1)가
    상기 송신 데이터 처리 수단이 공유 인터페이스 버퍼 수단(200)을 사용하고자 하는 요구 신호를 상기 작업 제어 수단(400)으로 전달하는 제 1-1 단계(S1-1)와;
    상기 작업 제어부(400)가 상기 전달받은 요구 신호에 따른 허락 신호를 상기 송신 데이터 처리수단으로 전송하는 제 1-2 단계(S1-2);
    상기 허락 신호를 전달받은 송신 데이터 처리수단이 전달하고자 하는 데이터를 상기 공유 인터페이스 버퍼(200)의 테일 포인터가 가르키는 주소에 저장하는 제 1-3 단계(S1-3); 및
    상기 송신 데이터 처리 수단이 상기 송신 데이터 처리 수단의 식별자와 상기 전달하고자 하는 데이터가 저장된 공유 인터페이스 버퍼(200)의 테일 포인터가 가르키는 주소 및 상기 수신 데이터 처리부의 식별자를 상기 작업 제어부(400)으로 전송한다. 제 1-4 단계(S1-4)로 구성되는 것을 특징으로 하는 분산 처리 시스템에서의 작업 제어 방법.
  6. 제 4 항에 있어서, 상기 제 2 단계(S2)가
    작업 제어부(400)에서 상기 제 1 단계(S1)에서 전송되어 온, 상기 송신 데이터 처리 수단의 식별자와 상기 테일 포인터의 주소 및 수신 데이터 처리 수단의 식별자를 하나의 라인으로 구성한 다음, 상기 라인들을 입력 순서대로 저장하는 제 2-1 단계(S2-1)와;
    상기 수신 데이터 처리 수단의 식별자를 이용하여 상기 데이터를 전달받아야 할 수신 데이터 처리부를 결정하는 제 2-2 단계(S2-2);
    상기 제 2-2 단계(S2-2)에서 결정된 수신 데이터 처리 수단이 상기 송신 데이터 처리 수단의 식별자와 테일 포인터의 주소를 이용하여 상기 전달받고자하는 데이터를 공유 인터페이스 버퍼로부터 패치하는 제 2-3 단계(S2-3)로 구성되는 것을 특징으로 하는 분산 처리 시스템에서의 작업 제어 방법.
KR1019960055788A 1996-11-20 1996-11-20 분산 처리 시스템에서의 작업 제어 장치 및 그 방법 KR100204494B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960055788A KR100204494B1 (ko) 1996-11-20 1996-11-20 분산 처리 시스템에서의 작업 제어 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960055788A KR100204494B1 (ko) 1996-11-20 1996-11-20 분산 처리 시스템에서의 작업 제어 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR19980037089A true KR19980037089A (ko) 1998-08-05
KR100204494B1 KR100204494B1 (ko) 1999-06-15

Family

ID=19482715

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960055788A KR100204494B1 (ko) 1996-11-20 1996-11-20 분산 처리 시스템에서의 작업 제어 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100204494B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100309997B1 (ko) * 1999-10-11 2001-09-29 윤종용 멀티태스킹 환경에서의 인터태스크 통신 방법
KR100539899B1 (ko) * 1998-12-28 2006-02-28 삼성전자주식회사 분산된 데이터베이스 관리 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100539899B1 (ko) * 1998-12-28 2006-02-28 삼성전자주식회사 분산된 데이터베이스 관리 방법
KR100309997B1 (ko) * 1999-10-11 2001-09-29 윤종용 멀티태스킹 환경에서의 인터태스크 통신 방법

Also Published As

Publication number Publication date
KR100204494B1 (ko) 1999-06-15

Similar Documents

Publication Publication Date Title
US6691216B2 (en) Shared program memory for use in multicore DSP devices
US4933846A (en) Network communications adapter with dual interleaved memory banks servicing multiple processors
US7177970B2 (en) Bus control system
US4481572A (en) Multiconfigural computers utilizing a time-shared bus
US5261059A (en) Crossbar interface for data communication network
CN100499556C (zh) 异构多核处理器高速异步互连通信网络
US6493784B1 (en) Communication device, multiple bus control device and LSI for controlling multiple bus
US20090138645A1 (en) Soc system
JPH05241947A (ja) 分散クロスバー・スイッチ・アーキテクチャにおける交換接続の配列。
KR20020008955A (ko) 버스 시스템 및 그 실행 순서 조정방법
GB2144892A (en) Multi-processor office system complex
KR100204494B1 (ko) 분산 처리 시스템에서의 작업 제어 장치 및 그 방법
US6282144B1 (en) Multi-ported memory with asynchronous and synchronous protocol
KR980013132A (ko) 고 처리 능력의 주변 구성 요소 상호 접속 버스를 가진 데이터 처리 및 통신 시스템
JP4391050B2 (ja) マルチプロセッサ配列
US7073047B2 (en) Control chip and method for accelerating memory access
Jensen A distributed function computer for real-time control
KR100487218B1 (ko) 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법
EP1193605B1 (en) Apparatus and method for the transfer of signal groups between digital signal processors in a digital signal processing unit
US7599383B2 (en) Data bus configuration having a data bus which can be operated in multiplex mode, and method for operating the configuration
JPWO2012127534A1 (ja) バリア同期方法、バリア同期装置及び演算処理装置
KR19980056297A (ko) 분산 처리 시스템에서의 비순차적 작업 제어 장치 및 방법
KR19980037097A (ko) 환형 큐를 이용한 분산 처리 시스템
KR20000047242A (ko) 메인 프로세서와 다수의 서브프로세서간의 데이터통신장치
JPS61117650A (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: 20110302

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee