KR100204494B1 - Apparatus and method of controlling job in a distributed processing system - Google Patents

Apparatus and method of controlling job in a distributed processing system Download PDF

Info

Publication number
KR100204494B1
KR100204494B1 KR1019960055788A KR19960055788A KR100204494B1 KR 100204494 B1 KR100204494 B1 KR 100204494B1 KR 1019960055788 A KR1019960055788 A KR 1019960055788A KR 19960055788 A KR19960055788 A KR 19960055788A KR 100204494 B1 KR100204494 B1 KR 100204494B1
Authority
KR
South Korea
Prior art keywords
data processing
data
job control
shared interface
interface buffer
Prior art date
Application number
KR1019960055788A
Other languages
Korean (ko)
Other versions
KR19980037089A (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 KR1019960055788A priority Critical patent/KR100204494B1/en
Publication of KR19980037089A publication Critical patent/KR19980037089A/en
Application granted granted Critical
Publication of KR100204494B1 publication Critical patent/KR100204494B1/en

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

본 발명은 하나의 작업을 여러 데이터 처리 시스템에서 분산 처리하는 분산 처리 시스템에 있어서, 작업 제어 장치 및 그 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a job control apparatus and a method thereof in a distributed processing system in which one job is distributed in various data processing systems.

본 발명에 따른 분산 처리 시스템에서의 작업 제어 장치는 다수의 데이터 처리 수단(100)과; 공유 인터페이스 버퍼 수단(200); 다수 개의 버스 수단(300); 및 작업 제어 수단(400)으로 구성된다.A job control apparatus in a distributed processing system according to the present invention includes a plurality of data processing means (100); Shared interface buffer means (200); A plurality of bus means (300); And job control means (400).

상기와 같이 구성된 분산 처리 시스템에서 작업 제어 방법은 송신 데이터 처리 수단이 전달하고자 하는 데이터를 상기 공유 인터페이스 버퍼 수단의 테일 포인터가 가르키는 주소에 저장하고, 동시에 자신의 식별자와 상기 테일 포인터, 수신 데이터 처리 수단의 식별자로 구성된 정보를 상기 작업 제어 수단으로 전송하는 제 1 단계(S1); 및 상기 작업 제어 수단이 상기 제 1 단계에서 전송되어 온 정보를 저장한 후, 정해진 순서대로 상기 전송된 정보를 이용하여 상기 수신 데이터 처리 수단이 상기 전달하고자 하는 데이터를 억세스하도록 하는 제 2 단계(S2)로 구성된다. 상기와 같은 본 발명에 따르면, 다수의 데이터 처리 장치에서 동시에 한 데이터 처리 장치로 데이터를 전달하고자 하므로써 발생되는 시스템 장애(system fault)를 제거하여 전체 분산 처리 시스템이 오류없이 원할하게 동작하도록 한다.The job control method in the distributed processing system configured as described above includes the steps of storing data to be transmitted by the transmission data processing means in the address indicated by the tail pointer of the shared interface buffer means and simultaneously storing the identifier of the shared interface buffer, A first step (S1) of transmitting information composed of an identifier of the means to the job control means; And a second step S2 (S2) of causing the reception data processing means to access the data to be transmitted using the transmitted information in a predetermined order after the job control means stores the information transmitted in the first step ). According to the present invention, a system fault generated by a plurality of data processing apparatuses to transmit data to a data processing apparatus at the same time is eliminated, and the entire distributed processing system operates smoothly without errors.

Description

분산 처리 시스템에서의 작업 제어 장치 및 그 방법(An apparatus method of controlling job in a distributed processing system)An apparatus and a method for controlling a job in a distributed processing system

본 발명은 하나의 작업을 다수의 데이터 처리 장치에서 분산 처리하는 분산 처리 시스템 (Distributed Processing System: DPS)에서의 작업 제어 장치 및 그 방법에 관한 것으로서, 특히 하나의 데이터 처리 장치에서 하나의 데이터를 동시에 여러 데이터 처리 장치로 전달하고자 하므로써 발생되는 시스템 장애(system fault)를 제거하여 전체 분산 처리 시스템이 원할하게 동작하도록 된 작업 제어 장치 및 그 방법에 관한 것이다.The present invention relates to a job control apparatus and method in a distributed processing system (DPS) for distributing and processing one job in a plurality of data processing apparatuses, and more particularly, The present invention relates to a job control apparatus and method for eliminating a system fault caused by an attempt to deliver to a plurality of data processing apparatuses, thereby allowing the entire distributed processing system to operate smoothly.

일반적으로 하나의 업무를 수행하는 시스템은 그 업무 수행 방법에 따라 중앙 처리 시스템(central processing system)과 분산 처리 시스템으로 구분된다.In general, a system that performs one task is divided into a central processing system and a distributed processing system according to the task execution method.

상기 중앙 처리 시스템은 원격지의 단말 장치로부터 입력되는 데이터를 집중하여 처리하는 본체 장치와, 주변 장치 및 회선 제어 장치 등의 집합체를 가르키는 말이다. 상기 중앙 처리 시스템은 데이터량 증가로 인한 데이터 처리 장치(예컨데, 컴퓨터)의 대형화를 가능하게 하고, 처리 비용의 저감, 종합적이고 일관된 데이터 처리를 가능하게 한다는 장점이 있다.The central processing system refers to a main body device for concentrating and processing data input from a terminal device at a remote place, and an aggregate of peripheral devices and line control devices. The central processing system is advantageous in that the data processing apparatus (for example, a computer) can be enlarged due to an increase in the amount of data, and processing costs can be reduced, and comprehensive and consistent data processing can be performed.

상기 분산 처리 시스템은 하나의 업무를 수행함에 있어 모든 처리를 하나의 데이터 처리 장치에 집중시키는 것이 아니라 지리적 기능적으로 복수의 데이터 처리 장치에 분담시키되 이들을 유기적으로 연결하여 통합화하는 시스템을 말하는데, 상기 시스템은 데이터 통신 기술의 발전과 컴퓨터 이용 분야의 확대로 인해 발전하게 되었다.The distributed processing system refers to a system in which all processes are not concentrated in one data processing apparatus but are geographically divided into a plurality of data processing apparatuses, which are organically connected and integrated in performing a single task, The development of data communication technology and the expansion of the field of computer use.

상기 분산 처리 시스템은 그 결합 형태에 따라 ① 단단히 결합된(tightly-coupled) 분산 처리 시스템과 ② 느슨히 결합된(loosely-coupled) 분산 처리 시스템으로 분류된다.The distributed processing system is classified into a tightly-coupled distributed processing system and a loosely-coupled distributed processing system according to the type of coupling.

① 상기 단단히 결합된 분산 처리 시스템의 데이터 처리 장치들은 기억 장치(memory)와 클럭(clock) 을 공유한다. 이러한 다중 데이터 처리 장치(multiprocess or)간의 통신은 항상 공유된 기억 장치를 통하여 일어난다. 즉, 컴퓨터 네트워크와 같이 대형 시스템이 대등하게 연결되고 데이터 베이스나 처리 능력을 공유하는 시스템을 말한다.The data processing devices of the tightly coupled distributed processing system share a clock with a memory. The communication between these multiprocessor devices always takes place via a shared memory device. That is, a large system, such as a computer network, is connected equally and shares a database or processing capability.

② 느슨히 결합된(loosely-coupled) 분산 처리 시스템의 데이터 처리 장치들은 기억 장치와 클럭을 공유하지 않는다. 대신에 각 데이터 처리 장치는 그 자신만이 소유하는 로컬 기억 장치(local memory)를 갖고 있으며, 상기 데이터 처리 장치들은 고속의 버스나 전화선과 같은 여러가지 통신 라인을 통하여 서로 통신한다. 즉, 기업내의 근거리 통신망(local area network: LAN)과 같이 퍼스널 컴퓨터, 오피스 컴퓨터와 대형 컴퓨터를 계층적으로 구성한 시스템을 말한다. 이때, 분산 처리 시스템에서는 메모리나 버스 등의 자원을 공유하므로 동시에 2 개 이상의 데이터 처리 장치가 동일 자원(메모리나 버스)을 사용하려고 할 때, 이를 제어할 수 있는 작업 제어 장치가 필요하게 되는데, 이를 조정 장치(Arbitor) 라 부른다.② Loosely-coupled distributed processing system data processing devices do not share clocks with storage devices. Instead, each data processing apparatus has its own local memory, and the data processing apparatuses communicate with each other through various communication lines such as a high-speed bus or a telephone line. In other words, it refers to a system in which a personal computer, an office computer, and a large computer are hierarchically configured, such as a local area network (LAN) in an enterprise. In this case, since the distributed processing system shares resources such as a memory and a bus, when two or more data processing devices attempt to use the same resource (memory or bus) at the same time, a job control device capable of controlling the same is required. It is called Arbitor.

본 명세서에서는 상기 느슨히 결합된 분산 처리 시스템을 기본으로 하여 살펴보기로 한다.Herein, the loosely coupled distributed processing system will be considered as a basis.

도 1 은 종래의 분산 처리 시스템을 개략적으로 도시한 구성 블록도로서, 종래 분산 처리 시스템은 제 1 ∼ 4 데이터 처리부(10, 12, 14, 16)와 제 1 ∼ 4 인터페이스 버퍼(20, 22, 24, 26), 공유 버스(30)로 구성된다.FIG. 1 is a block diagram schematically showing a conventional distributed processing system. The conventional distributed processing system includes first to fourth data processing units 10, 12, 14, 16 and first to fourth interface buffers 20, 22, 24, and 26, and a shared bus 30.

여기서, 데이터 처리부와 인터페이스 버퍼의 물리적 개수는 한정된 것이 아니라 어플리케이션(Application)에 따라 융통성있게 설계될 수 있다.Here, the physical number of the data processing unit and the interface buffer is not limited, but can be designed flexibly according to the application.

상기 제 1 ∼ 4 데이터 처리부(10, 12, 14, 16)는 하나의 작업을 각각의 기능적 지리적 특성에 맞게 분담하여 처리한다. 여기서, 상기 제 1 ∼ 4 데이터 처리부(10, 12, 14, 16) 각각은 데이터 처리를 위해 다른 데이터 처리부에서 데이터를 가져오기도 하고, 다른 데이터 처리부로 데이터를 보내기도 한다.The first to fourth data processing units 10, 12, 14, and 16 share one task in accordance with each functional geographical characteristic. Here, each of the first to fourth data processing units 10, 12, 14, and 16 may fetch data from another data processing unit or data to another data processing unit for data processing.

그런데, 상기 제 1 ∼ 4 데이터 처리부(10, 12, 14, 16)가 동시에 데이터 처리를 수행하여야 함에도 불구하고 서로 다른 동작 환경을 가지고 있을 경우, 예컨데 동작 주파수(동작 클럭)가 서로 다를 경우, 전체 시스템의 원할한 동작을 도모하고저 상기 제 1 ∼ 4 데이터 처리부(10, 12, 14, 16)의 입출력단에 인터페이스 장치를 제공할 필요가 있다.However, if the first to fourth data processors 10, 12, 14, and 16 have to operate at the same time, but have different operating environments, for example, when the operating frequencies (operating clocks) It is necessary to provide an interface device to the input / output terminals of the first to fourth data processing units 10, 12, 14,

이에, 상기 제 1 인터페이스 버퍼(20)는 상기 제 1 데이터 처리부(10)의 인터페이스를 제공한다. 예컨데, 다른 데이터 처리부로부터 입력된 데이터를 저장, 입력받기도 하고, 자신이 처리한 데이터를 저장, 전송하기도 한다. 상기 제 2 인터페이스 버퍼(22)는 상기 제 2 데이터 처리부(12)의 인터페이스를 제공하고, 상기 제 3 인터페이스 버퍼(24)는 상기 제 3 데이터 처리부(14)의 인터페이스를 제공하며, 상기 제 4 인터페이스 버퍼(26)는 상기 제 4 데이터 처리부(16)의 인터페이스를 제공한다.The first interface buffer 20 provides the interface of the first data processor 10. For example, it may store and receive data input from another data processing unit, and may also store and transmit data processed by the other data processing unit. The second interface buffer 22 provides the interface of the second data processing unit 12 and the third interface buffer 24 provides the interface of the third data processing unit 14, The buffer 26 provides the interface of the fourth data processor 16.

상기 제 1 ∼ 4 인터페이스 버퍼(20, 22, 24, 26)는 주로 듀얼 포트 메모리(dual port memory)로 구현된다. 상기 듀얼 포트 메모리는 2개의 입출력 단자를 가지며 쌍방의 포트로부터 독립적으로 억세스가 가능한 기억장치를 말한다. 즉, 2개의 포트가 모두 어드레스 입력, 제어 신호 입력을 가지고 서로 독립적으로 데이터를 억세스할 수 있는 장치를 말한다.The first to fourth interface buffers 20, 22, 24, and 26 are mainly implemented as a dual port memory. The dual port memory has two input / output terminals and is a memory device capable of accessing from both ports independently. That is, the two ports are all capable of accessing data independently of each other with an address input and a control signal input.

상기 공유 버스(30)는 상기 제 1 ∼ 4 인터페이스 버퍼(20, 22, 24, 26)간의 데이터 전송 즉, 통신로 역할을 한다. 결과적으로, 제 1 ∼ 4 데이터 처리부(10, 12, 14, 16) 간의 데이터 전송을 수행하는 통신로 역할을 한다.The shared bus 30 serves as a data transmission or communication between the first to fourth interface buffers 20, 22, 24 and 26. As a result, the first to fourth data processing units 10, 12, 14, and 16 perform data transmission.

상기와 같은 데이터 처리부와 인터페이스 버퍼, 공유 버스를 이용하여 하나의 업무를 분산하여 처리하므로써, 전체 분산 처리 시스템의 정상적인 동작을 꾀할수 있다.By distributing and processing one task using the data processor, the interface buffer, and the shared bus, the normal operation of the entire distributed processing system can be achieved.

그런데, 상기와 같은 종래 분산 처리 시스템에 있어서, 데이터 처리량이 증가하고 데이터 처리 과정이 복잡하여 하나의 데이터 처리 장치에서 발생된 동일 데이터를 동시에 여러 데이터 처리 장치로 전달하고자 할 경우, 한정된 버스에 비해 이를 사용하려는 데이터 처리 장치 수가 급증하므로 전체 시스템 동작에 큰 장애를 불러일으키게 된다는 문제점이 있었다.However, in the conventional distributed processing system as described above, when the same data generated in one data processing apparatus is transmitted to various data processing apparatuses simultaneously due to an increase in data processing amount and a complicated data processing process, The number of data processing apparatuses to be used is rapidly increased, which causes a great obstacle to the overall system operation.

이에 본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 하나의 작업을 다수의 데이터 처리 장치에서 분산 처리하는 분산 처리 시스템에서, 다수의 데이터 처리 장치에서 동시에 한 데이터 처리 장치로 데이터를 전달하고자 하므로써 발생되는 시스템 장애(system fault)를 제거하여 전체 분산 처리 시스템이 오류없이 원할하게 동작하도록 된 작업 제어 장치 및 그 방법을 제공하는 데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems and it is an object of the present invention to provide a distributed processing system in which a plurality of data processing apparatuses distribute one job, The present invention has been made to solve the above-mentioned problems occurring in the prior art, and it is an object of the present invention to provide a job control device and a method thereof.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 분산 처리 시스템에서의 작업 제어 장치는According to an aspect of the present invention, there is provided a job control apparatus in a distributed processing system,

하나의 업무를 기능적 지리적으로 분담하여 처리하는 다수 개의 데이터 처리 수단과; 상기 데이터 처리 수단 각각에 헤드 포인터(읽기 포인터)에서 테일 포인터(쓰기 포인터)까지의 버퍼링 공간을 각각 할당하여 인터페이스를 제공하는 공유 인터페이스 버퍼 수단; 상기 데이터 처리 수단 각각에 상기 공유 인터페이스 버퍼 수단를 연결시키는 다수 개의 버스 수단; 및 상기 한 송신 데이터 처리 수단에서 다른 하나 또는 여러 수신 데이터 처리 수단으로 데이터를 전달하고자 할 때, 상기 송신 데이터 처리 수단으로부터 상기 송신 데이터 처리 수단의 식별자와 상기 전달하고자 하는 데이터가 저장된 공유 인터페이스 버퍼의 테일 포인터와 상기 수신 데이터 처리 수단의 식별자를 입력받아 저장하고 있다가, 차례가 되면 상기 데이터를 상기 도착 데이터 처리 수단이 억세스하도록 제어하는 작업 제어 수단으로 구성되는 것을 특징으로 한다.A plurality of data processing means for functionally and geographically dividing and processing one task; A shared interface buffer means for allocating a buffer space from a head pointer (read pointer) to a tail pointer (write pointer) to each of the data processing means to provide an interface; A plurality of bus means for connecting the shared interface buffer means to each of the data processing means; And a transmission data processing unit configured to transmit the identifier of the transmission data processing unit and the tail of the shared interface buffer in which the data to be transmitted is stored from the transmission data processing unit to the other transmission data processing unit, And a job control means for receiving and storing the pointer and the identifier of the received data processing means and controlling the arrival data processing means to access the data in turn.

상기와 같은 데이터 처리 수단 각각에 헤드 포인터(읽기 포인터)에서 테일 포인터(쓰기 포인터)까지의 버퍼링 공간을 각각 할당하여 인터페이스를 제공하는 공유 인터페이스 버퍼 수단, 다수 개의 버스 수단, 작업 제어 수단으로 구성된 분산 처리 시스템에서 하나의 송신 데이터 처리 장치에서 하나 또는 다수의 수신 데이터 처리 장치로 데이터를 전달하고자 할 때의 작업 제어 방법은A shared interface buffer means for allocating a buffer space from a head pointer (read pointer) to a tail pointer (write pointer) to each of the data processing means as described above to provide an interface, a plurality of bus means, and a distributed processing In a system, a job control method when data is to be transferred from one transmission data processing apparatus to one or a plurality of reception data processing apparatuses

상기 송신 데이터 처리 수단이 전달하고자 하는 데이터를 상기 공유 인터페이스 버퍼 수단의 테일 포인터가 가르키는 주소에 저장하고, 동시에 자신의 식별자와 상기 테일 포인터, 수신 데이터 처리 수단의 식별자로 구성된 정보를 상기 작업 제어 수단으로 전송하는 제 1 단계; 및 상기 작업 제어 수단이 상기 제 1 단계에서 전송되어 온 정보를 저장한 후, 정해진 순서대로 상기 전송된 정보를 이용하여 상기 수신 데이터 처리 수단이 상기 전달하고자 하는 데이터를 억세스하도록 하는 제 2 단계로 구성되는 것을 특징으로 한다.Wherein the transmission data processing means stores the data to be transmitted in the address pointed to by the tail pointer of the shared interface buffer means and simultaneously transmits the identifier and the tail pointer and information composed of the identifier of the received data processing means to the job control means To a first step; And a second step of allowing the reception data processing means to access the data to be transmitted using the transmitted information in a predetermined order after the job control means stores the information transmitted in the first step .

상기와 같은 본 발명에 따르면, 다수의 데이터 처리 장치에서 동시에 한 데이터 처리 장치로 데이터를 전달하고자 하므로써 발생되는 시스템 장애(system fault)를 제거하여 전체 분산 처리 시스템이 오류없이 원할하게 동작하도록 한다.According to the present invention, a system fault generated by a plurality of data processing apparatuses to transmit data to a data processing apparatus at the same time is eliminated, and the entire distributed processing system operates smoothly without errors.

도 1 은 종래의 데이터 분산 처리 시스템을 개략적으로 도시한 구성 블록도,1 is a block diagram schematically showing a conventional data distribution processing system;

도 2 는 본 발명에 따른 데이터 분산 처리 시스템을 도시한 구성 블록도,2 is a block diagram showing a data distribution processing system according to the present invention;

도 3 의 (가) 는 환형 큐의 내부 엔트리(entry) 구조를 도시한 도면,3 (a) shows an internal entry structure of an annular queue,

(나) 는 환형 큐를 구조적으로 도시한 도면,(B) is a diagram structurally showing an annular queue,

도 4 는 상기 도 2 에 도시된 작업 제어부의 내부 엔트리 구조를 도시한 도면,FIG. 4 is a diagram illustrating an internal entry structure of the job control unit shown in FIG. 2,

도 5 는 본 발명에 따른 데이터 분산 처리 방법을 단계적으로 설명하기 위한 흐름도,FIG. 5 is a flowchart for explaining a data distribution processing method according to the present invention,

도 6 의 (가) 및 (나)는 본 발명의 실시예를 설명하기 위한 도면이다.6 (a) and 6 (b) are diagrams for explaining an embodiment of the present invention.

*도면의 주요부분에 대한 부호의 설명DESCRIPTION OF THE REFERENCE NUMERALS

100: 제 1 데이터 처리부 120: 제 2 데이터 처리부100: first data processing unit 120: second data processing unit

140: 제 3 데이터 처리부 160: 제 4 데이터 처리부140: third data processing unit 160: fourth data processing unit

200: 공유 인터페이스 버퍼 300: 버스200: Shared interface buffer 300: Bus

400: 작업 제어부400: Operation control unit

T1 ∼ T4: 제 1∼4 헤드 포인터 H1 ∼ H4: 제 1∼4 헤드 포인터T1 to T4: first to fourth head pointers H1 to H4: first to fourth head pointers

requet: 요구 신호 grant: 수락 신호requet: request signal grant: accept signal

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

먼저, 본 발명의 이해를 돕기 위해 분산 처리 시스템에 대해서 간단히 살펴보며 다음과 같다.First, a distributed processing system will be briefly described in order to facilitate understanding of the present invention.

일반적으로, 분산 처리 시스템은 하나의 업무를 수행함에 있어 모든 처리를 하나의 데이터 처리 장치에 집중시키는 것이 아니라 지리적 기능적으로 복수의 데이터 처리 장치에 분담시키되 이들을 유기적으로 연결하여 통합화하는 시스템을 말하는데, 상기 시스템은 데이터 통신 기술의 발전과 컴퓨터 이용 분야의 확대로 인해 발전하게 되었다.Generally, a distributed processing system refers to a system that does not concentrate all processing in a single data processing apparatus in a single task, but rather distributes them to a plurality of data processing apparatuses in a geographical manner, and integrates them by organically connecting them. The system has evolved due to the development of data communication technology and the expansion of the field of computer use.

상기 분산 처리 시스템의 장점은 ① 자원 공유, ② 처리 속도 향상, ③ 신뢰성 향상, ④통신 기술의 향상 등이다.Advantages of the distributed processing system include (1) resource sharing, (2) processing speed improvement, (3) reliability improvement, and (4) communication technology improvement.

① 자원 공유: 서로 다른 기능을 갖는 프로세서들이 서로 연결되므로, 한 프로세서는 다른 프로세서의 이용 가능한 자원을 공유할 수 있다. ② 처리 속도 향상: 특정한 처리 과정이 동시 수행 가능한 다수의 부분 연산으로 분할되므로, 이들을 동시에 수행하기 위하여 여러 프로세서들에 처리 과정을 분산시킬 수 있다. 또한, 특정 프로세서에 걸린 과부하를 분산시킬 수 있다. ③ 신뢰성 향상: 분산 처리 시스템내의 한 프로세서에 고장이 발생한 경우, 전체 시스템의 오동작을 방지할 수 있다.① Resource sharing: Processors with different functions are connected to each other, so one processor can share the available resources of another processor. (2) Improvement of processing speed: Since a specific processing is divided into a plurality of partial operations that can be performed simultaneously, processing can be distributed to various processors in order to perform them simultaneously. In addition, it is possible to distribute the overload of a specific processor. (3) Improvement of reliability: When a failure occurs in one processor in the distributed processing system, malfunction of the entire system can be prevented.

도 2 는 본 발명에 따른 분산 처리 시스템에서의 작업 제어 장치를 도시한 구성 블록도로서, 본 발명의 작업 제어 장치는 제 1 ∼ 4 데이터 처리부(100, 120, 140, 160)와; 공유 인터페이스 버퍼(200); 버스(300); 및 작업 제어부(400)로 구성된다. 본 실시예에서는 데이터 처리부를 4 개로 설정했지만 이는 설명을 용이하게 하기 위함이므로 한정 해석해서는 안될 것이다.FIG. 2 is a block diagram showing a job control apparatus in the distributed processing system according to the present invention. The job control apparatus of the present invention includes first to fourth data processing units 100, 120, 140, and 160; A shared interface buffer 200; A bus 300; And a job control unit 400. In the present embodiment, the number of data processing units is set to four, but this is for the sake of easy explanation, and thus should not be construed as limiting.

① 제 1 ∼ 4 데어터 처리부① The first to fourth data processing units

상기 제 1 ∼ 4 데이터 처리부(100, 120, 140, 160) 는 하나의 업무를 기능적, 지리적으로 분산하여 처리한다.The first to fourth data processors 100, 120, 140, and 160 distribute and process one task functionally and geographically.

상기 각 데이터 처리부는 자신이 처리한 데이터를 다른 하나의 또는 여러 데이터 처리부로 전달하기도 하고, 다른 하나의 또는 여러 데이터 처리부로부터 데이터를 전달받기도 한다.The data processing unit may transmit data processed by the data processing unit to another data processing unit, or may receive data from another data processing unit.

② 공유 인터 페이스 버퍼② Shared interface buffer

상기 공유 인터페이스 버퍼(200)는 상기 제 1 ∼ 4 데이터 처리부(100, 120, 140, 160) 중 임의의 한 데이터 처리부에서 다른 데이터 처리부로 데이터를 전송하고자 할 경우, 데이터 버퍼링 동작을 통하여 적당한 인터페이스를 제공하기 위해 상기 제 1 ∼ 4 데이터 처리부(100, 120, 140, 160)에 공통으로 연결되어 있다.When the shared interface buffer 200 desires to transmit data from any one of the first through fourth data processors 100, 120, 140, and 160 to another data processor, the shared interface buffer 200 performs an appropriate interface through data buffering And is commonly connected to the first to fourth data processing units 100, 120, 140,

상기 공유 인터페이스 버퍼(200)는 듀얼 포트 메모리(dual port memory)와 후입 선출(Last In First Out) 구조를 갖는 스택(Stack), 선입 선출 구조(First In First Out: FIFO)를 갖는 큐(Queue), 스택 구조와 큐 구조를 혼합한 형태인 디큐(Dequeue), 환형 큐(circular Queue)등으로 구현된다.The shared interface buffer 200 includes a stack having a dual port memory and a Last In First Out structure, a queue having a first in first out (FIFO) structure, Dequeue, circular queue, etc., which is a mixture of stack structure and queue structure.

여기서, 도 3 의 (가) 는 환형 큐의 내부 엔트리(entry) 구조를 도시한 도면이고, (나) 는 환형 큐를 구조적으로 도시한 도면이다.3 (a) is a diagram showing an internal entry structure of an annular queue, and (b) is a diagram showing an annular queue structurally.

즉, 환형 큐 구조는 도 3 의 (가) 에 도시된 바와 같이, 상기 큐 구조의 헤드 부분과 테일 부분을 연결시킨 링 모양의 시작과 끝이 없는 형태를 가진다.That is, as shown in (a) of FIG. 3, the annular queue structure has a ring-shaped start and endless shape connecting the head portion and the tail portion of the queue structure.

예를 들어, 도 3 의 (나)에 도시된 바와 같이, 환형 큐에 n 개의 데이터 처리장치가 버스를 통하여 연결되어 있다고 가정하자. 이때, 각 데이터 처리 장치는 각각의 헤드 포인터와 테일 포인터를 가지는데, 필요에 따라 다른 데이터 처리 장치의 헤드 포인터 값을 자신의 헤드 포인터 값으로 전달 받기도 한다. 따라서, 쓰기 포인터(WRITE pointer)인 테일 포인터는 각 데이터 처리 장치의 전용 포인터로 설정하고, 읽기 포인터인 헤드 포인터는 다른 데이터 처리 장치에서도 사용할 수 있도록 공용 포인터로 설정한다.For example, as shown in FIG. 3 (b), assume that n data processing units are connected to an annular queue through a bus. At this time, each data processing apparatus has a head pointer and a tail pointer, and if necessary, receives the head pointer value of another data processing apparatus as its own head pointer value. Accordingly, the tail pointer, which is a write pointer (WRITE pointer), is set to a dedicated pointer of each data processing apparatus, and the head pointer, which is a read pointer, is set as a common pointer so that it can be used by other data processing apparatuses.

본 발명에 따른 실시예에서는 공유 인터페이스 버퍼를 상기 환형 큐로 구현한 분산 처리 시스템을 설명하기로 한다. 즉, 상기 공유 인터페이스 버퍼(200)는, 상기 제 1 데이터 처리부(100)에 헤드 포인터 H1 부터 테일 포인터 T1 까지의 공간을 할당하고, 상기 제 2 데이터 처리부(120)에 헤드 포인터 H2 부터 테일 포인터 T2 까지의 공간을 할당하며, 상기 제 3데이터 처리부(140)에 해드 포인터 H3 부터 테일 포인터 T3 까지의 공간을 할당하고, 상기 제 4 데이터 처리부(160)에 해드 포인터 H4 부터 테일 포인터 T4 까지의 공간을 할당한다.In the embodiment of the present invention, a distributed processing system in which the shared interface buffer is implemented as the circular queue will be described. That is, the shared interface buffer 200 allocates space from the head pointer H1 to the tail pointer T1 to the first data processing unit 100, and allocates the tail pointer H2 from the second data processing unit 120 to the tail pointer T2 A space from the head pointer H3 to the tail pointer T3 is allocated to the third data processing unit 140 and a space from the head pointer H4 to the tail pointer T4 is allocated to the fourth data processing unit 160 .

이어서, 제 1 ∼ 4 데이터 처리부(100, 120, 140, 160) 각각에 입력될 데이터를 저장한 후 각 데이터 처리부로 입력시키거나, 상기 제 1 ∼ 4 데이터 처리부(100, 120, 140, 160)로부터 출력된 데이터를 저장한 후 출력시킨다.The first to fourth data processing units 100, 120, 140, and 160 may store data to be input to the respective data processing units. Alternatively, the first to fourth data processing units 100, 120, And outputs the data.

③ 버스③ Bus

상기 버스(300)는 상기 제 1 ∼ 4 데이터 처리부(100, 120, 140, 160) 각각에 상기 공유 인터페이스 버퍼(200)를 연결시킨다.The bus 300 connects the shared interface buffer 200 to each of the first to fourth data processing units 100, 120, 140, and 160.

④ 작업 제어부(4)

상기 작업 제어부(400)는 상기 한 데이터 처리부(이하 송신 데이터 처리부 라 칭한다.)에서 다른 하나 또는 여러 데이터 처리 수단(이하 송신 데이터 처리부 라 칭한다.)으로 데이터를 전달하고자 할 때, 상기 송신 데이터 처리부로부터 데이터 전달에 필요한 정보를 전달받아 차례대로 저장하고 있다가 순차적으로 상기 데이터를 상기 수신 데이터 처리 수단이 억세스하도록 제어한다. 여기서, 상기 데이터 전달에 필요한 정보란 상기 송신 데이터 처리부의 식별자(owner id)와 상기 전달하고자 하는 데이터가 저장된 공유 인터페이스 버퍼(200)의 테일 포인터와 상기 수신 데이터 처리부의 식별자(destination id)를 말한다.When the job control unit 400 is to transmit data to one or more other data processing units (hereinafter, referred to as a transmission data processing unit) in the data processing unit (hereinafter, referred to as a transmission data processing unit) Information necessary for data transmission is received and stored in order, and the received data processing means is controlled to sequentially access the data. Here, the information required for data transfer refers to an identifier (id) of the transmission data processing unit, a tail pointer of the shared interface buffer 200 in which the data to be transmitted is stored, and an identifier of the received data processing unit.

상기 작업 제어부(400)는 환형 큐로 구현되어 상기 송신 데이터 처리부로부터 입력되는 송신 데이터 처리부의 식별자(owner id)와 상기 전달하고자 하는 데이터가 저장된 공유 인터페이스 버퍼(200)의 테일 포인터 내용(주소)과 상기 수신 데이터 처리부의 식별자(destination id)를 순차적으로 저장하여 출력한다.The job control unit 400 includes an identifier (owner id) of the transmission data processing unit, which is implemented as an annular queue and is input from the transmission data processing unit, a tail pointer content (address) of the shared interface buffer 200 in which the data to be delivered is stored, And sequentially stores and outputs an identifier (destination id) of the received data processing unit.

예를 들어, 도 4 에 도시된 바와 같이, 상기 작업 제어부가 n 개의 라인으로 구성된 환형 큐 구조를 가지고 있을 경우, 각 라인은 owner id 와 tail pointer content 및 destination id로 이루어져 있다. 또한, destination id의 비트 수는 데이터 처리부 개수와 일치하거나 크게 설정한므로써, 상기 destination id 와 데이터 처리부는 일대일 관계를 유지하게 되어 하나의 데이터를 복수의 데이터 처리부로 전달할 수 있게 된다.For example, as shown in FIG. 4, when the job control unit has an annular queue structure composed of n lines, each line consists of an owner id, a tail pointer content, and a destination id. In addition, since the number of bits of the destination id is set to be equal to or larger than the number of the data processing units, the destination id and the data processing unit maintain a one-to-one relationship, so that one data can be transmitted to the plurality of data processing units.

상기와 같이 구성된 본 발명의 분산 처리 시스템에서의 작업 제어 방법을 도 2, 4, 5를 참조하여 살펴보면 다음과 같다. 도 5 는 분산 처리 시스템의 하나의 데이터 처리부(송신 데이터 처리부)에서 하나 또는 다수의 데이터 처리부(수신 데이터 처리부)로 데이터를 전달하고자 할 때의 작업 제어 방법을 단계적으로 설명하기 위한 흐름도이다.A job control method in the distributed processing system according to the present invention will be described with reference to FIGS. 2, 4 and 5. FIG. FIG. 5 is a flowchart for explaining a job control method when data is to be transferred from one data processing unit (transmission data processing unit) of the distributed processing system to one or a plurality of data processing units (received data processing unit).

제 1 단계(S1)에서 상기 송신 데이터 처리부가 전달하고자 하는 데이터를 상기 공유 인터페이스 버퍼(200)의 테일 포인터가 가르키는 주소(tail pointer content)에 저장하고, 동시에 상기 송신 데이터 처리부의 식별자(owner id)와 상기 전달하고자 하는 데이터가 저장된 공유 인터페이스 버퍼(200)의 테일 포인터가 가르키는 주소(tail pointer content)와 상기 수신 데이터 처리부의 식별자(destination id)를 상기 작업 제어부(400)으로 전송한다.In the first step S1, the transmission data processor stores the data to be transmitted in an address (tail pointer content) pointed to by the tail pointer of the shared interface buffer 200, and at the same time, the identifier of the transmission data processor To the task control unit 400, an address (tail pointer content) pointed by the tail pointer of the shared interface buffer 200 storing the data to be transferred and a destination id of the received data processing unit.

상기 제 1 단계(S1)를 4개의 과정으로 나누어 자세히 살펴보면 다음과 같다.The first step (S1) is divided into four processes to be described in detail.

우선, 임의의 데이터 처리부에서 발생된 데이터를 다른 데이터 처리부로 전달하고자 할 경우, 상기 데이터 전달에 필요한 인터페이스를 제공하기 위해 공유 인터페이스 버퍼를 통해야만 한다.In order to transmit data generated by an arbitrary data processing unit to another data processing unit, a shared interface buffer must be provided to provide an interface necessary for data transfer.

제 1-1 단계(S1-1)에서, 상기 송신 데이터 처리부가 공유 인터페이스 버퍼를 사용하고자 하는 요구 신호(requst)를 상기 작업 제어부(400)로 전달한다.In step 1-1 (S1-1), the transmission data processing unit transmits a request signal (requst) to use the shared interface buffer to the job control unit 400.

제 1-2 단계(S1-2)에서, 상기 작업 제어부(400)가 상기 전달받은 요구 신호에 따른 허락 신호(grant)를 상기 송신 데이터 처리부로 전송한다.In step 1-2 (S1-2), the job control unit 400 transmits a grant signal (grant) according to the received request signal to the transmission data processing unit.

제 1-3 단계(S1-3)에서, 상기 허락 신호를 전달받은 송신 데이터 처리부가 전달하고자 하는 데이터를 상기 공유 인터페이스 버퍼(200)의 테일 포인터(송신 데이터 처리부의 고유 포인터)가 가르키는 주소(tail pointer content)에 저장한다. 상기에서 설명된 바와 같이, 각 데이터 처리부의 테일 포인터는 전용 포인터이므로, 상기 테일 포인터가 가르키는 주소는 상기 송신 데이터 처리부의 전용 테일 포인터가 가르키는 주소를 의미한다.In step 1-3 (S1-3), the transmission data processing unit having received the grant signal transmits the data to be transmitted to the tail pointer (unique pointer of the transmission data processing unit) of the shared interface buffer 200 tail pointer content. As described above, since the tail pointer of each data processing unit is a dedicated pointer, the address indicated by the tail pointer means an address indicated by the dedicated tail pointer of the transmission data processing unit.

제 1-4 단계(S1-4)에서 상기 송신 데이터 처리부는 상기 송신 데이터 처리부의 식별자(owner id)와 상기 전달하고자 하는 데이터가 저장된 공유 인터페이스 버퍼(200)의 테일 포인터가 가르키는 주소(tail pointer content)와 상기 수신 데이터 처리부의 식별자(destination id)를 상기 작업 제어부(400)으로 전송한다.In step 1-4, the transmission data processing unit receives an identifier (owner id) of the transmission data processing unit and an address (tail pointer) of the shared interface buffer 200 in which the data to be transmitted is stored, content and a destination id of the received data processing unit to the job control unit 400.

제 2 단계(S2)에서 상기 작업 제어 수단(400)이 상기 제 1-2 단계(S1-2)에서 전송되어 온 정보( owner id 와 tail pointer content 및 destination id)를 하나의 라인으로 구성하여 차례대로 저장한 후, 상기 전송된 정보를 이용하여 상기 목적 데이터 처리부가 상기 전달하고자 하는 데이터를 억세스하게 한다.In the second step S2, the job control means 400 configures the information (owner id, tail pointer content, and destination id) transmitted in the first-second step S1-2 as one line, And the target data processing unit accesses the data to be transferred using the transmitted information.

상기 제 2 단계(S2)를 3 개의 과정으로 나누어 자세히 살펴보면 다음과 같다.The second step S2 will be described in detail as follows.

제 2-1 단계(S2-1)에서 환형 큐 구조를 가지는 작업 제어부(400)는 상기 제 1-2 단계(S1-2)에서 전송되어 온 owner id 와 tail pointer content 및 destination id 를 하나의 라인으로 구성한 다음, 상기 라인들을 환형 큐의 테일 부분에 입력 순서대로 저장한다.In step 2-1 (S2-1), the task control unit 400 having the circular queue structure transmits the owner id, the tail pointer content, and the destination id, which are transmitted in the step 1-2 (S1-2) And then stores the lines in the tail portion of the annular queue in the input order.

제 2-2 단계(S2-2)에서 상기 작업 제어부(400) 즉 환형 큐의 헤드 부분의 라인중에서 상기 destination id 를 이용하여 상기 데이터를 전달받아야 할 수신 데이터 처리부를 결정한다.In step 2-2 (S2-2), the destination control unit 400 determines the received data processing unit to receive the data using the destination id among the lines of the head part of the circular queue.

제 2-3 단계(S2-3)에서 상기 제 2-2 단계(S2-2)에서 결정된 수신 데이터 처리부가 owner id 를 분석하여 가져와야 할 데이터가 어느 데이터 처리부에 소속되어 있는 가를 판단하는데, 다시 말해서 상기 데이터가 공유 인터페이스 버퍼부(200)의 공간 중에 어느 데이터 처리부에 할당된 공간에 저장되어 있는 가를 판단한 후, 상기 판단된 데이터 처리부의 버퍼링 공간에서 상기 tail pointer content를 주소로 사용하여 데이터를 페치(fetch)한다.In step 2-3, the received data processing unit determined in step 2-2 (S2-2) analyzes the owner id to determine to which data processing unit the data to be fetched belongs. In other words, After determining whether the data is stored in a space allocated to a data processing unit in the space of the shared interface buffer unit 200, the data is fetched by using the tail pointer content as an address in the buffering space of the determined data processing unit fetch).

본 발명의 이해를 돕기 위해 상기 도 2, 4, 5, 6을 참조하여 본 발명의 예를 들어 보면 다음과 같다. 도 6 의 (가 a) 는 최초 공유 인터페이스 버퍼의 데이터 버퍼링 상태를 도시한 도면이고 (가 b) 는 최초 작업 제어부의 작업 테이블을 도시한 도면이며, 도 6 의 (나 a) 는 제 1-3단계(S1-3)이후 공유 인터페이스 버퍼의 데이터 버퍼링 상태를 도시한 도면, (나 b)는 제 2-1 단계(S2-1)이후 최초 작업 제어부의 작업 테이블을 도시한 도면이다.For better understanding of the present invention, referring to FIGS. 2, 4, 5 and 6, the present invention will be described as follows. 6A is a diagram showing a data buffering state of the initial shared interface buffer, and FIG. 6B is a diagram showing a work table of the first task control section. FIG. FIG. 5B is a view showing a data buffering state of the shared interface buffer after step S1-3, and FIG. 6B is a diagram showing a work table of the first task control unit after step 2-1 (S2-1).

우선, 제 2 데이터 처리부(120)에서 발생된 데이터 1011 을 제 1 데이터 처리부(100)와 제 4 데이터 처리부(160)로 차례대로 전달하려고 한다고 가정하자.First, it is assumed that data 1011 generated by the second data processing unit 120 is to be transmitted to the first data processing unit 100 and the fourth data processing unit 160, respectively.

이때, 송신 데이터 처리부는 제 2 데이터 처리부(120)이고 수신 데이터 처리부는 제 1 및 4 데이터 처리부(100, 160)이며 이때, 상기 제 1, 2, 4 데이터 처리부(100, 120, 160)의 헤드 포인터는 각각 H1, H2, H4, 테일 포인터는 각각 T1, T2, T4, 고유 식별자는 DP1, DP2, DP4 라 한다.In this case, the transmission data processing unit is the second data processing unit 120 and the reception data processing unit is the first and fourth data processing units 100 and 160. At this time, the head of the first, second and fourth data processing units 100, The pointers are H1, H2, H4 respectively, the tail pointers are T1, T2, T4, and the unique identifiers are DP1, DP2, DP4.

제 1-1 단계(S1-1)에서, 상기 제 2 데이터 처리부(120)가 데이터 전송을 위해 공유 인터페이스 버퍼(200)를 사용하고자 하는 요구 신호(requst)를 상기 작업 제어부(400)로 전달한다.In the first step S1-1, the second data processing unit 120 transmits a request signal requst to use the shared interface buffer 200 to the job control unit 400 for data transmission .

제 1-2 단계(S1-2)에서, 상기 작업 제어부(400)가 상기 전달받은 요구 신호에 따른 허락 신호(grant)를 상기 제 2 데이터 처리부(120)로 전송한다. 즉, 상기 허락 신호란 상기 제 2 데이터 처리부(120)가 공유 인터페이스 버퍼(200)를 이용할 수 있음을 의미한다.In step 1-2 (S1-2), the job control unit 400 transmits a grant signal (grant) according to the received request signal to the second data processing unit 120. [ That is, the permission signal means that the second data processing unit 120 can use the shared interface buffer 200.

제 1-3 단계(S1-3)에서, 상기 허락 신호를 전달받은 제 2 데이터 처리부(120)는 전달하고자 하는 데이터 1011를 상기 공유 인터페이스 버퍼(200)의 테일 포인터 T2 가 가르키는 주소(tail pointer content)에 저장한다. (도 6의 (나 a))In step 1-3, the second data processing unit 120 receives the grant signal and transmits the data 1011 to be transmitted to the tail pointer T2 of the shared interface buffer 200 content. ((A) of Fig. 6)

제 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)으로 전송한다.In step S1-4, the second data processing unit 120 receives an identifier (DP) of its own, an address (tail pointer) pointed by the tail pointer T2, (DP2), an address (tail pointer content) pointed by the tail pointer T2 and a first data processing unit (DP2) to the task control unit 400 after transmitting an identifier (DP) 100 to the job control unit 400. The job control unit 400 receives the destination ID (DP4)

제 2-1 단계(S2-1)에서 환형 큐 구조를 가지는 작업 제어부(400)는 상기 제 1-4단계(S1-4)에서 전송되어 온 owner id (DP2) 와 tail pointer content(T2 의 주소) 및 destination id(DP1) 를 하나의 라인으로 구성한 다음, 상기 라인을 작업 제어부(400) 즉 환형 큐의 테일 부분에 저장시킴과 동시에, 상기 환형 큐의 테일 포인터는 1 증가한다.(도 6의 (나 b))In step 2-1 (S2-1), the task control unit 400 having an annular queue structure receives the owner ID (DP2) and tail pointer content (T2 address ) And the destination id (DP1) into one line, and then stores the line in the tail portion of the job control unit 400, that is, the circular queue, and increases the tail pointer of the circular queue by 1 (B))

이어서 상기 제 1-4 단계(S1-4)에서 전송되어 온 owner id (DP2) 와 tail pointer content(T2 의 주소) 및 destination id(DP4) 를 하나의 라인으로 구성한 다음, 상기 라인을 환형 큐의 테일 부분에 저장시킨다.Subsequently, an owner id (DP2), a tail pointer content (address of T2), and a destination id (DP4) transmitted in the step 1-4 are formed into a single line, And stored in the tail portion.

일정 기간 후, 상기 제 2-1 단계(S2-1)에서 환형 큐 구조를 갖는 작업 제어부(400)의 테일에 저장된 라인이 헤드 라인이 되었다고 가정하고 다음 단계를 설명하기로 한다.After a certain period of time, it is assumed that the line stored in the tail of the job control unit 400 having the annular queue structure in step 2-1 (S2-1) becomes the headline, and the next step will be described.

제 2-2 단계(S2-2)에서 상기 작업 제어부(400) 즉 환형 큐의 헤드 부분의 라인중에서 상기 destination id 를 이용하여 상기 데이터를 전달받아야 할 수신 데이터 처리부를 결정한다. 즉, 상기 도 6 의 (나 b)에 도시된 바와 같이, destination id 가 DP1 이므로 수신 데이터 처리부는 제 1 데이터 처리부(100)로 결정된다.In step 2-2 (S2-2), the destination control unit 400 determines the received data processing unit to receive the data using the destination id among the lines of the head part of the circular queue. That is, as shown in (b) of FIG. 6, since the destination id is DP1, the received data processing unit is determined as the first data processing unit 100.

제 2-3 단계(S2-3)에서 상기 제 2-2 단계(S2-2)에서 결정된 수신 데이터 처리부가 owner id 를 분석하여 가져와야 할 데이터가 어느 데이터 처리부에 소속되어 있는 가를 판단하는데, 다시 말해서 상기 데이터가 공유 인터페이스 버퍼부(200)의 공간 중에 어느 데이터 처리부에 할당된 공간에 저장되어 있는 가를 판단한 후, 상기 판단된 데이터 처리부의 버퍼링 공간에서 상기 tail pointer content를 주소로 사용하여 데이터를 페치(fetch)한다.In step 2-3, the received data processing unit determined in step 2-2 (S2-2) analyzes the owner id to determine to which data processing unit the data to be fetched belongs. In other words, After determining whether the data is stored in a space allocated to a data processing unit in the space of the shared interface buffer unit 200, the data is fetched by using the tail pointer content as an address in the buffering space of the determined data processing unit fetch).

즉, 상기 작업 제어부(400) 즉 환형 큐의 헤드 부분의 라인중에서 상기 owner id (DP2)를 분석하여 가져와야 할 데이터 1011 이 제 2 데이터 처리부(120)에 소속되어 있음을 알게 된다. 더 정확히 말하자면, 상기 데이터 1011 이 공유 인터페이스 버퍼부(200)의 공간 중에 제 2 데이터 처리부에 할당된 공간(H1 ∼T1)에 저장되어 있음을 알게 된다.That is, it is known that the data 1011 to be fetched by analyzing the owner id (DP2) among the lines of the head part of the job control unit 400, that is, the circular queue, belongs to the second data processing unit 120. More precisely, it is known that the data 1011 is stored in the spaces (H1 to T1) allocated to the second data processing unit among the spaces of the shared interface buffer unit 200. [

이어서, 상기 제 1 데이터 처리부(100)가 상기 제 2 데이터 처리부(120)의 버퍼링 공간(H1 ∼T1)에서 상기 tail pointer content가 가르키는 주소에 저장되어 있는 데이터 1011 을 페치(fetch)한다.The first data processing unit 100 fetches the data 1011 stored in the address indicated by the tail pointer content in the buffering space H1 to T1 of the second data processing unit 120.

결국, 상기 제 2 데이터 처리부(120)에서 발생된 데이터 1011은 시스템 장애없이, 정상적으로 제 1 데이터 처리부(100)로 전송된다.As a result, the data 1011 generated by the second data processing unit 120 is normally transmitted to the first data processing unit 100 without a system failure.

이어서, 제 2-2 단계(S2-2)에서 상기 작업 제어부(400) 즉 환형 큐의 헤드 부분의 라인중에서 상기 destination id 를 이용하여 상기 데이터를 전달받아야 할 수신 데이터 처리부를 결정한다. 즉, 상기 도 6 의 (나 b)에 도시된 바와 같이, destination id 가 DP4 이므로 수신 데이터 처리부는 제 4 데이터 처리부(160)로 결정된다.Then, in step 2-2 (S2-2), a destination data processing unit to receive the data is determined using the destination id among the lines of the job control unit 400, that is, the head part of the circular queue. That is, as shown in (b) of FIG. 6, since the destination id is DP4, the received data processing unit is determined as the fourth data processing unit 160.

제 2-3 단계(S2-3)에서 상기 제 2-2 단계(S2-2)에서 결정된 수신 데이터 처리부가 owner id 를 분석하여 가져와야 할 데이터가 어느 데이터 처리부에 소속되어 있는 가를 판단하는데, 다시 말해서 상기 데이터가 공유 인터페이스 버퍼부(200)의 공간 중에 어느 데이터 처리부에 할당된 공간에 저장되어 있는 가를 판단한 후, 상기 판단된 데이터 처리부의 버퍼링 공간에서 상기 tail pointer content를 주소로 사용하여 데이터를 페치(fetch)한다.In step 2-3, the received data processing unit determined in step 2-2 (S2-2) analyzes the owner id to determine to which data processing unit the data to be fetched belongs. In other words, After determining whether the data is stored in a space allocated to a data processing unit in the space of the shared interface buffer unit 200, the data is fetched by using the tail pointer content as an address in the buffering space of the determined data processing unit fetch).

즉, 상기 작업 제어부(400) 즉 환형 큐의 헤드 부분의 라인중에서 상기 owner id (DP2)를 분석하여 가져와야 할 데이터 1011 이 제 2 데이터 처리부(120)에 소속되어 있음을 알게 된다. 더 정확히 말하자면, 상기 데이터 1011 이 공유 인터페이스 버퍼부(200)의 공간 중에 제 2 데이터 처리부에 할당된 공간(H1 ∼T1)에 저장되어 있음을 알게 된다.That is, it is known that the data 1011 to be fetched by analyzing the owner id (DP2) among the lines of the head part of the job control unit 400, that is, the circular queue, belongs to the second data processing unit 120. More precisely, it is known that the data 1011 is stored in the spaces (H1 to T1) allocated to the second data processing unit among the spaces of the shared interface buffer unit 200. [

이어서, 상기 제 4 데이터 처리부(160)가 상기 제 2 데이터 처리부(120)의 버퍼링 공간(H1 ∼T1)에서 상기 tail pointer content가 가르키는 주소에 저장되어 있는 데이터 1011 을 페치(fetch)한다.Then, the fourth data processor 160 fetches the data 1011 stored in the buffering space (H1 to T1) of the second data processor 120 at the address indicated by the tail pointer pointer.

결국, 상기 제 2 데이터 처리부(120)에서 발생된 데이터 1011은 시스템 장애없이, 정상적으로 제 4데이터 처리부(160)로 전송된다.As a result, the data 1011 generated by the second data processing unit 120 is normally transmitted to the fourth data processing unit 160 without a system failure.

이상에서 살펴본 바와 같이, 본 발명에 따르면 임의의 송신 데이터 처리부가 전달하고자 하는 데이터를 상기 공유 인터페이스 버퍼 수단의 테일 포인터가 가르키는 주소에 저장하고, 동시에 자신의 식별자와 상기 테일 포인터, 수신 데이터 처리 수단의 식별자로 구성된 정보를 상기 작업 제어 수단으로 전송한다. 이어서, 상기 작업 제어 수단이 상기 전송되어 온 정보를 저장한 후, 정해진 순서대로 상기 전송된 정보를 이용하여 상기 수신 데이터 처리 수단이 상기 전달하고자 하는 데이터를 억세스하도록 하므로써, 다수의 데이터 처리 장치에서 동시에 한 데이터 처리 장치로 데이터를 전달하고자 하므로써 발생되는 시스템 장애(system fault)를 제거하여 전체 분산 처리 시스템이 오류없이 원할하게 동작하도록 한다.As described above, according to the present invention, the arbitrary transmission data processing unit stores the data to be transmitted in the address pointed to by the tail pointer of the shared interface buffer means, and simultaneously stores the identifier of the shared interface buffer, the tail pointer, To the job control means. Then, after the job control means stores the transferred information, the received data processing means accesses the data to be transferred by using the transmitted information in a predetermined order, so that a plurality of data processing apparatuses This system eliminates system faults caused by attempting to transmit data to a data processing device, thereby allowing the entire distributed processing system to operate smoothly without errors.

Claims (6)

하나의 업무를 기능적 지리적으로 분담하여 처리하는 다수 개의 데이터 처리 수단과(100, 120, 140, 160);A plurality of data processing means (100, 120, 140, 160) for functionally and geographically sharing a single task; 상기 데이터 처리 수단 각각에 헤드 포인터(읽기 포인터)에서 테일 포인터(쓰기 포인터)까지의 버퍼링 공간을 각각 할당하여 인터페이스를 제공하는 공유 인터페이스 버퍼 수단(200);A shared interface buffer means (200) for allocating a buffer space from a head pointer (read pointer) to a tail pointer (write pointer) to each of the data processing means to provide an interface; 상기 데이터 처리 수단 각각에 상기 공유 인터페이스 버퍼 수단(200)를 연결시키는 다수 개의 버스 수단(300); 및A plurality of bus means (300) for connecting the shared interface buffer means (200) to each of the data processing means; And 상기 한 송신 데이터 처리 수단에서 다른 하나 또는 여러 수신 데이터 처리 수단으로 데이터를 전달하고자 할 때, 상기 송신 데이터 처리 수단으로부터 상기 송신 데이터 처리 수단의 식별자와 상기 전달하고자 하는 데이터가 저장된 공유 인터페이스 버퍼의 테일 포인터와 상기 수신 데이터 처리 수단의 식별자를 입력받아 저장하고 있다가, 차례가 되면 상기 데이터를 상기 도착 데이터 처리 수단이 억세스하도록 제어하는 작업 제어 수단(400)으로 구성되는 것을 특징으로 하는 분산 처리 시스템에서의 작업 제어 장치.When the transmission data processing means is to transmit data to one or more other received data processing means, an identifier of the transmission data processing means and a tail pointer of a shared interface buffer, And an operation control means (400) for receiving and storing the identifier of the received data processing means and controlling the arrival data processing means to access the data in turn. Job control device. 제 1 항에 있어서, 상기 공유 인터페이스 버퍼 수단(200)이 환형 큐 구조를 갖는 메모리로 구현되는 것을 특징으로 하는 분산 처리 시스템에서의 작업 제어 장치.2. The apparatus as claimed in claim 1, wherein the shared interface buffer means (200) is implemented as a memory having an annular queue structure. 제 1 항에 있어서, 상기 작업 제어 수단(400)이 환형 큐 구조를 갖는 메모리로 구성되는 것을 특징으로 하는 분산 처리 시스템에서의 작업 제어 장치.The apparatus as claimed in claim 1, wherein the job control means (400) comprises a memory having an annular queue structure. 데이터 처리 수단 각각에 헤드 포인터(읽기 포인터)에서 테일 포인터(쓰기 포인터)까지의 버퍼링 공간을 각각 할당하여 인터페이스를 제공하는 공유 인터페이스 버퍼 수단, 다수 개의 버스 수단, 작업 제어 수단으로 구성된 분산 처리 시스템에서 하나의 송신 데이터 처리 장치에서 하나 또는 다수의 수신 데이터 처리 장치로 데이터를 전달하고자 할 때의 작업 제어 방법에 있어서,A shared interface buffer means for allocating a buffer space from a head pointer (read pointer) to a tail pointer (write pointer) to each of data processing means, a shared interface buffer means for providing an interface, a plurality of bus means, And transmitting the data to one or a plurality of receiving data processing apparatuses, 상기 송신 데이터 처리 수단이 전달하고자 하는 데이터를 상기 공유 인터페이스 버퍼 수단의 테일 포인터가 가르키는 주소에 저장하고, 동시에 자신의 식별자와 상기 테일 포인터, 수신 데이터 처리 수단의 식별자로 구성된 정보를 상기 작업 제어 수단으로 전송하는 제 1 단계(S1); 및Wherein the transmission data processing means stores the data to be transmitted in the address pointed to by the tail pointer of the shared interface buffer means and simultaneously transmits the identifier and the tail pointer and information composed of the identifier of the received data processing means to the job control means (S1); < / RTI > And 상기 작업 제어 수단이 상기 제 1 단계(S1)에서 전송되어 온 정보를 저장한 후, 정해진 순서대로 상기 전송된 정보를 이용하여 상기 수신 데이터 처리 수단이 상기 전달하고자 하는 데이터를 억세스하도록 하는 제 2 단계(S2)로 구성되는 것을 특징으로 하는 분산 처리 시스템에서의 작업 제어 방법.A second step of allowing the reception data processing means to access the data to be transmitted using the transmitted information in a predetermined order after the job control means stores information transmitted in the first step (S1) (S2). ≪ / RTI > 제 4 항에 있어서, 상기 제 1 단계(S1)가5. The method of claim 4, wherein the first step (S1) 상기 송신 데이터 처리 수단이 공유 인터페이스 버퍼 수단(200)을 사용하고자 하는 요구 신호를 상기 작업 제어 수단(400)으로 전달하는 제 1-1 단계(S1-1)와;A 1-1 step (S1-1) of transferring a request signal to use the shared interface buffer means (200) to the job control means (400); 상기 작업 제어부(400)가 상기 전달받은 요구 신호에 따른 허락 신호를 상기 송신 데이터 처리수단으로 전송하는 제 1-2 단계(S1-2);A 1-2 step (S1-2) of the job control unit (400) for transmitting a permission signal according to the received request signal to the transmission data processing unit; 상기 허락 신호를 전달받은 송신 데이터 처리수단이 전달하고자 하는 데이터를 상기 공유 인터페이스 버퍼(200)의 테일 포인터가 가르키는 주소에 저장하는 제 1-3 단계(S1-3); 및A 1-3 step (S1-3) of storing the data to be transmitted by the transmission data processing means which has received the permission signal, at the address indicated by the tail pointer of the shared interface buffer 200; And 상기 송신 데이터 처리 수단이 상기 송신 데이터 처리 수단의 식별자와 상기 전달하고자 하는 데이터가 저장된 공유 인터페이스 버퍼(200)의 테일 포인터가 가르키는 주소 및 상기 수신 데이터 처리부의 식별자를 상기 작업 제어부(400)으로 전송한다. 제 1-4 단계(S1-4)로 구성되는 것을 특징으로 하는 분산 처리 시스템에서의 작업 제어 방법.The transmission data processing means transmits the identifier of the transmission data processing means, the address indicated by the tail pointer of the shared interface buffer 200 in which the data to be transferred is stored, and the identifier of the received data processing unit to the job control unit 400 do. And a fourth step (S1-4). 제 4 항에 있어서, 상기 제 2 단계(S2)가5. The method of claim 4, wherein the second step (S2) 작업 제어부(400)에서 상기 제 1 단계(S1)에서 전송되어 온, 상기 송신 데이터 처리 수단의 식별자와 상기 테일 포인터의 주소 및 수신 데이터 처리 수단의 식별자를 하나의 라인으로 구성한 다음, 상기 라인들을 입력 순서대로 저장하는 제 2-1 단계(S2-1)와;The job control unit 400 forms an identifier of the transmission data processing unit, an address of the tail pointer, and an identifier of the received data processing unit, which are transmitted in the first step S1, as one line, (2-1) (S2-1) of storing in order; 상기 수신 데이터 처리 수단의 식별자를 이용하여 상기 데이터를 전달받아야 할 수신 데이터 처리부를 결정하는 제 2-2 단계(S2-2);A second step (S2-2) of determining a received data processing unit to receive the data using the identifier of the received data processing means; 상기 제 2-2 단계(S2-2)에서 결정된 수신 데이터 처리 수단이 상기 송신 데이터 처리 수단의 식별자와 테일 포인터의 주소를 이용하여 상기 전달받고자하는 데이터를 공유 인터페이스 버퍼로부터 패치하는 제 2-3 단계(S2-3)로 구성되는 것을 특징으로 하는 분산 처리 시스템에서의 작업 제어 방법.(2-2) of fetching data to be received from the shared interface buffer using the identifier of the transmission data processing means and the address of the tail pointer determined in the step 2-2 (S2-2) (S2-3). ≪ / RTI >
KR1019960055788A 1996-11-20 1996-11-20 Apparatus and method of controlling job in a distributed processing system KR100204494B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960055788A KR100204494B1 (en) 1996-11-20 1996-11-20 Apparatus and method of controlling job in a distributed processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960055788A KR100204494B1 (en) 1996-11-20 1996-11-20 Apparatus and method of controlling job in a distributed processing system

Publications (2)

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

Family

ID=19482715

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960055788A KR100204494B1 (en) 1996-11-20 1996-11-20 Apparatus and method of controlling job in a distributed processing system

Country Status (1)

Country Link
KR (1) KR100204494B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100539899B1 (en) * 1998-12-28 2006-02-28 삼성전자주식회사 Distributed database management method
KR100309997B1 (en) * 1999-10-11 2001-09-29 윤종용 Inter-task Communication Method under Multitasking Environment

Also Published As

Publication number Publication date
KR19980037089A (en) 1998-08-05

Similar Documents

Publication Publication Date Title
US4933846A (en) Network communications adapter with dual interleaved memory banks servicing multiple processors
US6691216B2 (en) Shared program memory for use in multicore DSP devices
US6667920B2 (en) Scratchpad memory
US5261059A (en) Crossbar interface for data communication network
KR100219350B1 (en) Distributed data processing system
US5907684A (en) Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image
US20010023462A1 (en) Information processing system
US20070180310A1 (en) Multi-core architecture with hardware messaging
US6493784B1 (en) Communication device, multiple bus control device and LSI for controlling multiple bus
US6131114A (en) System for interchanging data between data processor units having processors interconnected by a common bus
EP3644192B1 (en) Master chip, slave chip, and dma transfer system between chips
JPH05241947A (en) Switching array in distributed cross-bar switch architecture
KR20020008955A (en) Bus system and execution scheduling method for access commands thereof
JPH09297746A (en) Method for communication between processors, and processor used for the method
US5664142A (en) Chained DMA devices for crossing common buses
KR100204494B1 (en) Apparatus and method of controlling job in a distributed processing system
GB2144892A (en) Multi-processor office system complex
US6701407B1 (en) Multiprocessor system with system modules each having processors, and a data transfer method therefor
EP0118669A2 (en) Channel subsystem
GB2397668A (en) Processor array with delay elements
US7254667B2 (en) Data transfer between an external data source and a memory associated with a data processor
US20030167386A1 (en) Control chip and method for accelerating memory access
US7599383B2 (en) Data bus configuration having a data bus which can be operated in multiplex mode, and method for operating the configuration
US6741602B1 (en) Work queue alias system and method allowing fabric management packets on all ports of a cluster adapter
JP2984594B2 (en) Multi-cluster information processing system

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