KR20140092599A - System and method for distributed processing, and apparatus applied to the same - Google Patents
System and method for distributed processing, and apparatus applied to the same Download PDFInfo
- Publication number
- KR20140092599A KR20140092599A KR1020130004834A KR20130004834A KR20140092599A KR 20140092599 A KR20140092599 A KR 20140092599A KR 1020130004834 A KR1020130004834 A KR 1020130004834A KR 20130004834 A KR20130004834 A KR 20130004834A KR 20140092599 A KR20140092599 A KR 20140092599A
- Authority
- KR
- South Korea
- Prior art keywords
- processing
- distributed processing
- slave devices
- divided
- slave
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
본 발명은 다수의 슬레이브장치 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치를 선별하고, 선별된 분산처리슬레이브장치의 상태정보에 적합하도록 상기 처리대상프로세스를 분할프로세스로 분할하여 처리하기 위한 방법에 관한 것이다.The present invention relates to a method for selecting a distributed processing slave device capable of distributing a processing target process among a plurality of slave devices and dividing the processing target process into divided processes so as to be suitable for the status information of the selected distributed processing slave devices .
분산 처리 기술은 여러 개의 물리적으로 분산된 저장장소와 장치들을 네트워크로 상호 연결하고 서로 통신하면서 작업을 처리하는 방식이다.Distributed processing technology is a way of processing work by interconnecting and communicating with several physically distributed storage locations and devices over a network.
즉, 분산 처리 기술은 이더넷 등의 다양한 네트워크를 이용하여 다수의 워크스테이션 또는 컴퓨터를 연결하여 프로세스를 할당함으로써, 공동의 작업을 수행할 수 있다.That is, the distributed processing technology can perform a common task by allocating processes by connecting a plurality of workstations or computers using various networks such as Ethernet.
이러한 분산 처리 기술은 마스터로 동작하는 장치에서 처리대상프로세스를 다수의 장치(이하, "슬레이브장치"라 함)들에게 분할하여 처리하는 방식으로 이루어짐에 따라, 처리대상프로세스를 다수의 슬레이브장치에 적합한 형태로 분할하는 것이 무엇보다 중요하다 할 것이다.This distributed processing technique is a method of dividing a process target process into a plurality of devices (hereinafter referred to as "slave devices ") in an apparatus that operates as a master, It would be more important to divide into forms.
그러나, 각 슬레이브장치에서는 상기 처리대상프로세스의 공동 작업만을 수행하는 것이 아니라 개별 프로세스를 동시에 수행하게 되며, 이러한 각 슬레이브장치의 현재 상태를 반영하지 못하는 경우, 각 슬레이브장치에서의 프로세스 처리에 따른 부하 증가 등으로 인해 효율적인 분산 처리를 수행할 수 없게 된다는 문제점이 있다.However, each slave device does not only perform the cooperative work of the process target process but performs the individual processes at the same time. When the current state of each slave device can not be reflected, the load increase It is impossible to perform an efficient distributed processing.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은 다수의 슬레이브장치 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치를 선별하고, 상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 분할프로세스로 분할하며, 상기 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하여 처리하도록 함으로써, 처리대상프로세스에 대해 효율적인 분산 처리를 수행하는데 있다.SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and it is an object of the present invention to provide a distributed slave device capable of distributing processable process among a plurality of slave devices, And distributing the divided process to each of the distributed processing slave devices and performing the processing so as to perform efficient distributed processing on the process target process.
상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 마스터장치는, 다수의 슬레이브장치 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치를 선별하는 장치선별부; 상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 적어도 두개의 분할프로세스로 분할하는 분할처리부; 및 상기 적어도 두개의 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 할당처리부를 포함하는 것을 특징으로 한다.In order to achieve the above object, a master device according to a first aspect of the present invention includes: a device sorting unit for sorting distributed process slave devices capable of distributing processable process among a plurality of slave devices; A division processing unit that divides the process target process into at least two divided processes based on status information of the distributed processing slave device; And an allocation processor for allocating and processing the at least two divided processes to each of the distributed processing slave devices.
보다 구체적으로, 상기 마스터장치는, 상기 분산처리슬레이브장치로부터 상기 적어도 두개의 분할프로세스의 처리 결과를 수신하고, 수신된 처리 결과를 통합하여 상기 처리대상프로세스의 처리 결과로서 산출하는 통합처리부를 더 포함하는 것을 특징으로 한다.More specifically, the master device further includes an integration processing unit for receiving the processing results of the at least two divided processes from the distributed processing slave device, and integrating the received processing results and calculating them as processing results of the processing target process .
보다 구체적으로, 상기 분산처리슬레이브장치는, 상기 다수의 슬레이브장치 각각의 상기 상태정보를 기초로 선별되며, 상기 장치선별부는, 상기 다수의 슬레이브장치 각각의 상기 상태정보를 확인하여, 상기 처리대상프로세스의 분산 처리에 적합한 상기 상태정보를 갖는 슬레이브장치를 상기 분산처리슬레이브장치로 선별하는 것을 특징으로 한다.More specifically, the distributed processing slave device is selected on the basis of the status information of each of the plurality of slave devices, and the device selection unit checks the status information of each of the plurality of slave devices, The slave device having the state information suitable for the distributed processing of the distributed processing slave device.
보다 구체적으로, 상기 상태정보는, 상기 다수의 슬레이브장치 각각이 처리 가능한 프로세스 특성 및 프로세스 처리용량 중 적어도 하나를 포함하는 것을 특징으로 한다.More specifically, the status information includes at least one of a process characteristic and a process processing capacity that each of the plurality of slave devices can process.
보다 구체적으로, 상기 분할처리부는, 상기 분산처리슬레이브장치 각각이 갖는 상기 프로세스 특성에 대응하도록 상기 처리대상프로세스를 상기 적어도 두개의 분할프로세스로 분할하고, 상기 할당처리부는, 상기 적어도 두개의 분할프로세스 각각을 대응되는 프로세스 특성을 갖는 분산처리슬레이브장치에 할당하여 처리하도록 하는 것을 특징으로 한다.More specifically, the division processing unit divides the process target process into the at least two divided processes so as to correspond to the process characteristics of each of the distributed processing slave devices, To a distributed processing slave device having a corresponding process characteristic.
보다 구체적으로, 상기 할당처리부는, 상기 적어도 두개의 분할프로세스 중 특정 분할프로세스에 대응하는 프로세스 특성을 갖는 분산처리슬레이브장치가 적어도 두개인 경우, 상기 적어도 두개의 분산처리슬레이브장치 각각이 갖는 상기 프로세스 처리용량을 기초로 상기 특정 분할프로세스를 분할하며, 상기 할당처리부는, 상기 프로세스 처리용량을 기초로 분할된 상기 특정 분할프로세스를 상기 적어도 두개의 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 것을 특징으로 한다.More specifically, in the case where there are at least two distributed processing slave devices each having a process characteristic corresponding to a specific divided process among the at least two divided processes, the allocation processing portion may perform the process processing of each of the at least two distributed processing slave devices Characterized in that the allocation processing section allocates the specific partitioning process divided on the basis of the process processing capacity to each of the at least two distributed processing slave devices and performs processing .
보다 구체적으로, 상기 분할처리부는, 상기 프로세스 특성이 특정 웹사이트로부터 이미지를 수집하는 이미지 수집 프로세스 특성, 상기 이미지에 포함된 객체를 인식하는 객체 인식 프로세스 특성, 및 상기 객체와 관련된 텍스트를 처리하는 텍스트 처리 프로세스 특성 중 적어도 하나를 포함하는 경우, 상기 분할프로세스가 이미지 수집 프로세스, 객체 인식 프로세스, 및 텍스트 처리 프로세스 중 적어도 하나가 되도록 상기 처리대상프로세스를 분할하는 것을 특징으로 한다.More specifically, the partitioning processing unit may be configured to perform processing such that the process characteristic collects an image from a specific website, an object acquisition process characteristic that recognizes an object included in the image, and a text that processes text related to the object And a process characteristic, the process is divided so that the segmentation process is at least one of an image collection process, an object recognition process, and a text processing process.
보다 구체적으로, 상기 마스터장치가 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 수행할 수 있는지 여부를 판단하는 판단부를 더 포함하며, 상기 마스터장치가 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 수행할 수 없는 것으로 판단되는 경우, 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 상기 분산처리슬레이브장치 중 하나에서 수행되도록 하는 것을 특징으로 한다.The master device may further include a determination unit that determines whether the master device can perform the partitioning of the process target process and the allocation process for the at least two divided processes, And when it is determined that the allocation process for the at least two divided processes can not be performed, division of the process target process and allocation process for the at least two divided processes are performed in one of the distributed processing slave devices .
상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 분산 처리 방법은, 마스터장치가 다수의 슬레이브장치 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치를 선별하는 장치선별단계; 상기 마스터장치가 상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 적어도 두개의 분할프로세스로 분할하는 분할처리단계; 상기 마스터장치가 상기 적어도 두개의 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하는 할당처리단계; 및 상기 분산처리슬레이브장치 각각이 상기 마스터장치로부터 할당된 분할프로세스를 처리하고, 분할프로세스 처리 결과를 상기 마스터장치에 전송하는 프로세스처리단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, a distributed processing method according to a second aspect of the present invention includes: a device selection step of selecting a distributed processing slave device in which a master device is capable of distributing processing target processes among a plurality of slave devices; A division processing step of the master device dividing the processing target process into at least two divided processes based on status information of the distributed processing slave device; An allocation processing step in which the master device allocates the at least two divided processes to each of the distributed processing slave devices; And a process processing step in which each of the distributed processing slave devices processes the partitioning process allotted by the master device and transmits the partitioning process result to the master device.
상기 목적을 달성하기 위한 본 발명의 제 3 관점에 따른 마스터장치의 동작 방법은 다수의 슬레이브장치 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치를 선별하는 장치선별단계; 상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 적어도 두개의 분할프로세스로 분할하는 분할처리단계; 및 상기 적어도 두개의 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 할당처리단계를 포함하는 것을 특징으로 한다.According to a third aspect of the present invention, there is provided a method of operating a master device, comprising the steps of: selecting a distributed processing slave device capable of performing distributed processing of a process target process among a plurality of slave devices; A division processing step of dividing the processing target process into at least two divided processes based on status information of the distributed processing slave device; And an allocation processing step of allocating and processing the at least two divided processes to each of the distributed processing slave devices.
보다 구체적으로, 상기 분산처리슬레이브장치는, 상기 다수의 슬레이브장치 각각의 상기 상태정보를 기초로 선별되며, 상기 장치선별단계는, 상기 다수의 슬레이브장치 각각의 상기 상태정보를 확인하여, 상기 처리대상프로세스의 분산 처리에 적합한 상기 상태정보를 갖는 슬레이브장치를 상기 분산처리슬레이브장치로 선별하는 것을 특징으로 한다.More specifically, the distributed processing slave device is selected on the basis of the status information of each of the plurality of slave devices, and the device selecting step includes: checking the status information of each of the plurality of slave devices, The slave device having the status information suitable for the distributed process of the process is selected by the distributed processing slave device.
보다 구체적으로, 상기 상태정보는, 상기 다수의 슬레이브장치 각각이 처리 가능한 프로세스 특성 및 프로세스 처리용량 중 적어도 하나를 포함하는 것을 특징으로 한다.More specifically, the status information includes at least one of a process characteristic and a process processing capacity that each of the plurality of slave devices can process.
보다 구체적으로, 상기 분할처리단계는, 상기 분산처리슬레이브장치 각각이 갖는 상기 프로세스 특성에 대응하도록 상기 처리대상프로세스를 상기 적어도 두개의 분할프로세스로 분할하고, 상기 할당처리단계는, 상기 적어도 두개의 분할프로세스 각각을 대응되는 프로세스 특성을 갖는 분산처리슬레이브장치에 할당하여 처리하도록 하는 것을 특징으로 한다.More specifically, the dividing processing step divides the process target process into the at least two divided processes so as to correspond to the process characteristic of each of the distributed processing slave devices, and the allocating process step includes: Processes are assigned to the distributed processing slave devices having the corresponding process characteristics and processed.
보다 구체적으로, 상기 할당처리단계는, 상기 적어도 두개의 분할프로세스 중 특정 분할프로세스에 대응하는 프로세스 특성을 갖는 분산처리슬레이브장치가 적어도 두개인 경우, 상기 적어도 두개의 분산처리슬레이브장치 각각이 갖는 상기 프로세스 처리용량을 기초로 상기 특정 분할프로세스를 분할하며, 상기 할당처리단계는, 상기 프로세스 처리용량을 기초로 분할된 상기 특정 분할프로세스를 상기 적어도 두개의 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 것을 특징으로 한다.More specifically, in the case where the number of distributed processing slave devices having process characteristics corresponding to a specific divided process among the at least two divided processes is at least two, Characterized in that said specific partitioning process is divided on the basis of the processing capacity and said allocation processing step is such that said specific partitioning process divided on the basis of said process processing capacity is assigned to each of said at least two distributed processing slave devices .
보다 구체적으로, 상기 분할처리단계는, 상기 프로세스 특성이 특정 웹사이트로부터 이미지를 수집하는 이미지 수집 프로세스 특성, 상기 이미지에 포함된 객체를 인식하는 객체 인식 프로세스 특성, 및 상기 객체와 관련된 텍스트를 처리하는 텍스트 처리 프로세스 특성 중 적어도 하나를 포함하는 경우, 상기 분할프로세스가 이미지 수집 프로세스, 객체 인식 프로세스, 및 텍스트 처리 프로세스 중 적어도 하나가 되도록 상기 처리대상프로세스를 분할하는 것을 특징으로 한다.More specifically, the segmentation processing step may comprise: an image collection process characteristic in which the process characteristic collects an image from a particular web site; an object recognition process characteristic that recognizes an object contained in the image; And a text processing process characteristic, the dividing process divides the process target process into at least one of an image collection process, an object recognition process, and a text processing process.
보다 구체적으로, 상기 방법은, 상기 마스터장치가 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 수행할 수 있는지 여부를 판단하는 판단단계; 및 상기 마스터장치가 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 수행할 수 없는 것으로 판단되는 경우, 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 상기 분산처리슬레이브장치 중 하나에서 수행되도록 하는 처리단계를 더 포함하는 것을 특징으로 한다.More specifically, the method includes: a determination step of determining whether the master device can perform the partitioning of the process target process and the allocation process for the at least two partition processes; And when the master device determines that the process target process can not be divided and the allocation process for the at least two divided processes can not be performed, the process for allocating the process target process and the process for allocating the at least two process segments To be performed in one of the distributed processing slave devices.
보다 구체적으로, 상기 방법은, 상기 분산처리슬레이브장치로부터 상기 적어도 두개의 분할프로세스의 처리 결과를 수신하고, 수신된 처리 결과를 통합하여 상기 처리대상프로세스의 처리 결과로서 산출하는 통합처리단계를 더 포함하는 것을 특징으로 한다.More specifically, the method further includes an integration processing step of receiving the processing results of the at least two divided processes from the distributed processing slave device, and integrating the received processing results and calculating them as processing results of the processing target process .
상기 목적을 달성하기 위한 본 발명의 제 4 관점에 따른 분산 처리 시스템은 처리대상프로세스의 분산 처리를 수행하는 분산처리슬레이브장치; 및 다수의 슬레이브장치 중 상기 처리대상프로세스의 분산 처리가 가능한 상기 분산처리슬레이브장치를 선별하고, 상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 적어도 두개의 분할프로세스로 분할하며, 상기 적어도 두개의 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 마스터장치를 포함하는 것을 특징으로 한다.According to a fourth aspect of the present invention, there is provided a distributed processing system comprising: a distributed processing slave device for performing distributed processing of a process target; And the distributed processing slave apparatus capable of distributing the processing target process out of the plurality of slave apparatuses, dividing the processing target process into at least two divided processes based on status information of the distributed processing slave apparatus, And a master device for allocating and processing at least two divided processes to each of the distributed processing slave devices.
이에, 본 발명의 분산 처리 시스템 및 그 방법, 그리고 이에 적용되는 장치에 의하면, 다수의 슬레이브장치 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치를 선별하고, 선별된 분산처리슬레이브장치의 상태정보에 적합하도록 상기 처리대상프로세스를 분할프로세스로 분할하여 처리함으로써, 각 슬레이브장치의 현재 상태에 적합한 프로세스 할당이 이루어짐에 따라 처리대상프로세스에 대해 효율적인 분산 처리를 수행할 수 있다.Thus, according to the distributed processing system and method of the present invention, and the apparatus applied thereto, it is possible to select a distributed processing slave device capable of distributing processable process among a plurality of slave devices, It is possible to perform efficient distribution processing on the processing target process as the process allocation suitable for the current state of each slave apparatus is performed.
도 1은 본 발명의 일 실시예에 따른 분산 처리 시스템의 개략적인 구성도.
도 2는 본 발명의 일 실시예에 따른 마스터장치의 구성도.
도 3은 본 발명의 일 실시예에 따른 분산 처리 시스템에서의 동작 흐름을 설명하기 위한 개략적인 순서도.
도 4는 본 발명의 일 실시예에 따른 마스터장치의 동작을 설명하기 위한 개략적인 순서도.1 is a schematic configuration diagram of a distributed processing system according to an embodiment of the present invention;
2 is a configuration diagram of a master device according to an embodiment of the present invention;
3 is a schematic flowchart for explaining an operational flow in a distributed processing system according to an embodiment of the present invention;
FIG. 4 is a schematic flowchart for explaining an operation of a master device according to an embodiment of the present invention; FIG.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예에 대하여 설명한다.Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 분산 처리 시스템을 도시한 도면이다. 1 is a diagram showing a distributed processing system according to an embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 분산 처리 시스템은, 처리대상프로세스를 분할프로세스로 분할하여 다수의 슬레이브장치(200)를 통해 분산 처리하는 마스터장치(100) 및 마스터장치(100)로부터 할당된 분할프로세스를 처리하고, 해당 처리 결과를 마스터장치(100)에 전달하는 복수의 슬레이브장치(200)를 포함하는 구성을 갖는다.1, a distributed processing system according to an embodiment of the present invention includes a
마스터장치(100)는 처리대상프로세스를 다수의 슬레이브장치(200)에 대응하도록 분할프로세스로 분할하고, 분할프로세스를 각 슬레이브장치(200)에 할당하여 분산 처리가 수행되도록 하는 사용자 디바이스를 지칭하는 것으로서, 예를 들어, 개인용컴퓨터(PC), 노트북, 테블릿 PC, 및 PDA, 스마트폰 등이 해당될 수 있으며, 이에 제한되는 것이 아닌, 자체 하드웨어 규격을 통해 프로세스의 처리 가능하며, 슬레이브장치(200)와의 데이터 송수신이 가능한 장치는 모두 포함될 수 있다.The
한편, 마스터장치(100)는 전술한 구성과 상이한 서버의 형태를 가질 수 있다.On the other hand, the
이 경우, 마스터장치(100)는 특정 사용자장치(도시안됨)로부터 상기 처리대상프로세스에 대한 분산 처리 요청이 수신되면, 마찬가지로 처리대상프로세스를 다수의 슬레이브장치(200)에 대응하도록 분할프로세스로 분할하고, 분할프로세스를 각 슬레이브장치(200)에 할당하여 분산 처리가 수행되도록 하며, 각 슬레이브장치(200)로부터 분산 처리 수행 결과를 수신되는 경우, 이를 취합하여 상기 처리대상프로세스의 처리 결과로서 상기 특정 사용자장치에 제공하도록 동작할 수 있다.In this case, when the
슬레이브장치(200)는 마스터장치(100)로부터 할당된 분할프로세서를 처리하고, 그 처리 결과를 마스터장치(100)에 전달하기 위한 사용자 디바이스를 지칭하는 것으로서, 마스터장치(100)와 마찬가지로 개인용컴퓨터(PC), 노트북, 테블릿 PC, 및 PDA, 스마트폰 등이 해당될 수 있으며, 이에 제한되는 것이 아닌, 자체 하드웨어 규격을 통해 프로세스의 처리 가능하며, 마스터장치(100)와의 데이터 송수신이 가능한 장치는 모두 포함될 수 있다.The
여기서, 처리대상프로세스는 사용자 조작에 의해 마스터장치(100)에 탑재된 하드웨어와 이러한 하드웨어를 구동하는 소프트웨어에 의해 처리되는 프로세스를 지칭하는 것으로서, 예를 들어, 사용자 조작에 따라 마스터장치(100)가 특정 웹사이트에 접속하여 등재된 이미지를 수집하고, 수집된 이미지로부터 객체를 인식하거나, 텍스트를 인식하기 위한 일련의 프로세스가 해당될 수 있다.Here, the process target refers to the hardware mounted on the
한편, 본 발명의 일 실시예에 따르면, 하나의 처리대상프로세스를 다수의 분할프로세스로 분할하고, 분할된 분할프로세스를 각 슬레이브장치(200)에 할당하여 공동 처리하기 위한 분산 처리 기술을 적용하고 있다.On the other hand, according to the embodiment of the present invention, a distributed processing technique for dividing one processing target process into a plurality of divided processes and assigning the divided processes to each
이러한, 분산 처리 기술에 적용되는 각 슬레이브장치(200)에서는 상이한 하드웨어 규격으로 인해 처리가 불가능한 프로세스 특성이 존재할 수 있으며, 아울러,현재 처리중인 프로세스로 인해 처리 가능한 프로세스 처리용량 등의 상이한 현재상태를 가질 수 있다.In each
이로 인해, 분산 처리를 수행하는 각 슬레이브장치(200)의 현재상태를 고려하지 않은 상태에서 처리대상프로세스를 각 슬레이브장치(200)에 대응하는 분할데이터로 분할하여 할당하는 경우, 특정 슬레이브장치(200)에서 할당된 분할프로세스를 처리하지 못하거나, 처리용량 초과로 인해 정상적인 프로세스의 처리가 불가능한 문제점이 발생할 수 있다.Accordingly, when the process target process is divided and divided into pieces of partition data corresponding to each
이에, 본 발명의 일 실시예에서는, 분산 처리를 수행하는 분산처리그룹을 결정하고, 이러한 분산처리그룹에 속한 각 슬레이브장치(200)의 현재 상태를 확인하여 처리대상프로세스를 각 슬레이브장치(200)에 대응하는 분할프로세스로 분할하여 처리하기 위한 방안을 제안하고자 하며, 이하에서는 이를 구체적으로 설명하기로 한다.Accordingly, in one embodiment of the present invention, the distributed processing group for performing the distributed processing is determined, and the current state of each
마스터장치(100)는 분산 처리를 위한 분산처리슬레이브장치를 선별하기 위한 기능을 수행한다.The
보다 구체적으로, 마스터장치(100)는 기 등록된 다수의 슬레이브장치(200) 각각에 대한 상태정보를 확인하고, 분산 처리가 가능한 상태정보를 갖는 슬레이브장치(200)만을 처리대상프로세의 분산 처리를 수행하는 분산처리슬레이브장치(210)로서 선별하게 된다.More specifically, the
여기서, 상태정보는, 각 슬레이브장치(200)에서 현재 처리 가능한 프로세스 처리용량(규정된 시간에 처리할 수 있는 총 동작 수)뿐만 아니라, 각 슬레이브장치(200)에서 처리 가능한 프로세스 특성을 포함할 수 있다.Here, the status information may include not only the process processing capacity currently available in each slave device 200 (the total number of operations that can be processed at a prescribed time) but also the process characteristics that can be processed in each
또한, 마스터장치(100)는 처리대상프로세스를 분할프로세스로 분할하는 기능을 수행한다.In addition, the
보다 구체적으로, 마스터장치(100)는 분산처리슬레이브장치(210)가 선별되면, 분산처리슬레이브장치(210) 각각의 상태정보로부터 확인되는 각 분산처리슬레이브장치(210)의 프로세스 특성 및 프로세스 처리용량을 기초로 처리대상프로세스를 각 분산처리슬레이브장치(210)에 대응하는 분할프로세스로 분할하게 된다.More specifically, when the distributed
그리고, 마스터장치(100)는 분할프로세스를 분산처리슬레이브장치(210)에 할당하는 기능을 수행한다.Then, the
보다 구체적으로, 마스터장치(100)는 분할프로세스의 분할이 완료되면, 각 분할프로세스를 각 분산처리슬레이브장치(210)에 할당(제공)함으로써, 각 분산처리슬레이브장치(210)를 통해 상기 처리대상프로세스에 대한 분산처리가 수행되도록 한다.More specifically, when the division of the division process is completed, the
아울러, 마스터장치(100)는 분할프로세스의 처리 결과를 통합하는 기능을 수행한다.In addition, the
보다 구체적으로, 마스터장치(100)는, 각 분산처리슬레이브장치(210)로부터 할당된 분할프로세스의 처리 결과를 수신하고, 수신된 처리 결과를 통합함으로써, 이를 상기 처리대상프로세스의 처리 결과로서 산출하게 된다.More specifically, the
이하에서는, 도 2를 참조하여 본 발명의 일 실시예에 따른 마스터장치(100)의 구성을 보다 구체적으로 설명하도록 한다.Hereinafter, the configuration of the
즉, 본 발명의 일 실시예에 따른 마스터장치(100)는 분산처리슬레이브장치(210)를 선별하는 장치선별부(110), 처리대상프로세스를 분할프로세스로 분할하기 위한 분할처리부(120), 분할프로세스를 분산처리슬레이브장치(210)에 할당하기 위한 할당처리부(130) 및 각 분산처리슬레이브장치(210)로부터 수신되는 분할프로세스 처리 결과를 통합하기 위한 통합처리부(140)를 포함하는 구성을 갖는다.That is, the
또한, 마스터장치(100)는 전술한 구성이 이외에 마스터장치(100)에서의 분산 처리 가능 여부를 판단하기 위한 판단부(150)를 더 포함하는 구성을 가질 수 있다.In addition, the
여기서, 전술한 장치선별부(110), 분할처리부(120), 할당처리부(130), 통합처리부(140) 및 판단부(150)를 포함하는 마스터장치(100)의 각 구성은 프로세서에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다.Here, each configuration of the
장치선별부(110)는 분산 처리를 위한 분산처리슬레이브장치(210)를 선별하는 기능을 수행한다.The
보다 구체적으로, 장치선별부(110)는 기 등록된 다수의 슬레이브장치(200) 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치(210)를 선별하게 된다.More specifically, the
이때, 장치선별부(110)는 기 등록된 다수의 슬레이브장치(200) 각각에 대한 상태정보를 확인하고, 분산 처리가 가능한 상태정보를 갖는 슬레이브장치(200)들을 분산처리슬레이브장치(210)로 선별하게 된다.At this time, the
이를 위해, 장치선별부(110)는 다수의 슬레이브장치(200)를 사전에 등록하고, 일정주기마다 또는 분산 처리가 요구되는 시점에 다수의 슬레이브장치(200)로부터 상태정보를 수집하게 된다. To this end, the
이와 관련하여, 장치선별부(110)는 다수의 슬레이브장치(200) 중 현재 처리 가능한 프로세스 처리용량이 임계치 이상인 슬레이브장치(200)만을 분산처리슬레이브장치(210)로 선별할 수 있다.In this regard, the
예를 들어, 장치선별부(110)는 각 슬레이브장치(200)의 개별 프로세스 처리에 따라 현재 점유중인 프로세스 처리용량을 제외한 가용한 프로세스 처리용량을 확인하고, 확인된 프로세스 처리용량이 임계치 이상인 슬레이브장치(200)만을 처리대상프로세스의 분산 처리를 위한 분산처리슬레이브장치(210)로 선별하게 된다.For example, the
분할처리부(120)는 처리대상프로세스를 분할프로세스로 분할하는 기능을 수행한다.The
보다 구체적으로, 분할처리부(120)는 분산처리슬레이브장치(210) 각각의 상태정보를 기초로 처리대상프로세스를 각 분산처리슬레이브장치(210)에 대응하는 분할프로세스로 분할하게 된다.More specifically, the
이때, 분할처리부(120)는 상태정보로부터 확인되는 각 분산처리슬레이브장치(210)의 프로세스 특성 및 프로세스 처리용량을 기초로 처리대상프로세스를 각 분산처리슬레이브장치(210)에 대응하는 분할프로세스로 분할하게 된다.At this time, the
여기서, 분산처리슬레이브장치(210)는, 각각의 하드웨어 규격에 따라 처리 가능한 프로세스 특성을 갖게 된다.Here, the distributed
이와 관련하여, 분할처리부(120)는 상기 상태정보를 기초로 각 분산처리슬레이브장치(210)에서 처리 가능한 프로세스 특성을 확인하고, 처리대상프로세스를 각 분산처리슬레이브장치(210)의 프로세스 특성에 대응하는 분할프로세스로 분할하게 된다.In this regard, the
예를 들어, 처리대상프로세스는 특정 웹사이트에 접속하여 등재된 이미지를 수집하고, 수집된 이미지로부터 객체를 인식함과 아울러 객체와 관련한 텍스트를 처리하기 위한 일련의 프로세스에 해당되고, 분산처리슬레이브장치 A, B, C가 선별된 상태에서, 프로세스 특성 확인 결과, 분산처리슬레이브장치 A의 경우, 웹 접속을 위한 이더넷과 관련한 하드웨어가 특화됨에 따라 웹 접속 관련한 프로세스 특성을 가지며, 분산처리슬레이브장치 B의 경우, 그래픽 처리 프로세서(GPU) 및 메모리에 해당하는 하드웨어가 특화되어 그래픽 처리와 관련한 프로세스 특성을 갖고, 그리고 분산처리슬레이브장치 C의 경우, CPU 컴퓨팅 파워와 관련한 하드웨어가 특화되어, 단순 텍스트 처리와 관련한 프로세스 특성을 가질 수 있다.For example, the process target corresponds to a series of processes for accessing a specific web site to collect registered images, recognize objects from the collected images, and process text related to the objects, and the distributed processing slave device As a result of checking the process characteristics in the state in which A, B, and C are selected, in the case of the distributed processing slave device A, the hardware related to the Ethernet for web connection is specialized, The hardware corresponding to the graphics processing unit (GPU) and the memory is specialized so as to have process characteristics related to the graphics processing, and in the case of the distributed processing slave unit C, the hardware relating to the CPU computing power is specialized, Process characteristics.
이에, 전술한 처리대상프로세스는 ①특정 웹사이트에 접속하여 등재된 이미지를 수집하기 위한 분할프로세스(분산처리슬레이브장치 A에 대응), ②수집된 이미지로부터 객체를 인식하기 위한 분할프로세스(분산처리슬레이브장치 B에 대응), 및 ③객체와 관련한 텍스트를 처리하기 위한 분할프로세스(분산처리슬레이브장치 C에 대응)로 분할될 수 있다.(1) a divided process (corresponding to the distributed processing slave device A) for collecting an image registered by accessing a specific web site, (2) a divided process for recognizing an object from the collected image (Corresponding to apparatus B), and (3) a dividing process for processing text associated with the object (corresponding to distributed processing slave device C).
한편, 분산처리슬레이브장치(210) 각각의 프로세스 특성 확인 결과, 적어도 두개의 분산처리슬레이브장치(210)가 동일한 프로세스 특성을 가질 수 있으며, 이로 인해 프로세스 특성을 기초한 처리대상프로세스의 분할 결과, 특정 분할프로세스의 처리가 가능한 프로세스 특성을 갖는 다수의 분산처리슬레이브장치(210)가 존재할 수 있다.On the other hand, as a result of checking the process characteristics of each of the distributed
이 경우, 분할처리부(120)는 특정 분할프로세스에 대응하는 다수의 분산처리슬레이브장치(210) 각각에서의 처리 가능한 프로세스 처리용량을 기초로 상기 특정 분할프로세스를 분할함으로써, 상기 다수의 분산처리슬레이브장치(210) 각각에 상기 특정 분할프로세스에서 분할된 프로세스가 할당될 수 있도록 한다.In this case, the
예를 들어, 처리대상프로세스는 특정 웹사이트에 접속하여 등재된 이미지를 수집하고, 수집된 이미지로부터 객체를 인식함과 아울러 객체와 관련한 텍스트를 처리하기 위한 일련의 프로세스에 해당되고, 분산처리슬레이브장치 A, B, C, D가 선별된 상태에서, 분산처리슬레이브장치 A와 분산처리슬레이브장치 B의 경우 웹 접속 관련한 프로세스 특성을 가지며, 분산처리슬레이브장치 C의 경우, 그래픽 처리와 관련한 프로세스 특성을 갖고, 그리고 분산처리슬레이브장치 D의 경우, 단순 텍스트 처리와 관련한 프로세스 특성을 가질 수 있다.For example, the process target corresponds to a series of processes for accessing a specific web site to collect registered images, recognize objects from the collected images, and process text related to the objects, and the distributed processing slave device In the case of the distributed processing slave device A and the distributed processing slave device B in the state in which A, B, C, and D are sorted, process characteristics related to the web connection are provided. In the case of the distributed processing slave device C, And in the case of the distributed processing slave device D, process characteristics related to simple text processing.
이에, 전술한 처리대상프로세스는 ① 특정 웹사이트에 접속하여 등재된 이미지를 수집하기 위한 분할프로세스(분산처리슬레이브장치 A 및 분산처리슬레이브장치 B에 대응), ②수집된 이미지로부터 객체를 인식하기 위한 분할프로세스(분산처리슬레이브장치 C에 대응), 및 ③객체와 관련한 텍스트를 처리하기 위한 분할프로세스(분산처리슬레이브장치 D에 대응)로 분할될 수 있다.Accordingly, the above-described process target processes include (1) a dividing process (corresponding to the distributed processing slave device A and the distributed processing slave device B) for collecting images registered by accessing a specific web site, (2) (Corresponding to the distributed processing slave device C), and (3) a dividing process for processing text related to the object (corresponding to the distributed processing slave device D).
여기서, 분할프로세스 ①의 경우, 분산처리슬레이브장치 A와 분산처리슬레이브장치 B 모두에 대응되므로, 분할프로세스 ①은 분산처리슬레이브장치 A에서 가용한 프로세스 처리용량과 분산처리슬레이브장치 B에서 가용한 프로세스 처리용량을 기초로 세부프로세스인 분할프로세스 ①-1(분산처리슬레이브장치 A에 대응), 분할프로세스 ①-2(분산처리슬레이브장치 B에 대응)로 추가 분할되게 된다.Here, in the case of the partitioning process 1, since both of the distributed processing slave device A and the distributed processing slave device B are supported, the partitioning process 1 is a process processing capacity available in the distributed processing slave device A and a process processing process available in the distributed processing slave device B (Corresponding to the distributed processing slave device A) and the divided process 1 - 2 (corresponding to the distributed processing slave device B), which are detailed processes based on the capacity.
할당처리부(130)는 분할프로세스를 분산처리슬레이브장치(210)에 할당하는 기능을 수행한다.The
보다 구체적으로, 할당처리부(130)는 분할프로세스로의 분할이 완료되면, 각 분할프로세스를 각 분산처리슬레이브장치(210)에 할당(제공)함으로써, 각 분산처리슬레이브장치(210)를 통해 상기 처리대상프로세스에 대한 분산처리가 수행되도록 한다.More specifically, the
통합처리부(140)는 분할프로세스의 처리 결과를 통합하는 기능을 수행한다.The
보다 구체적으로, 통합처리부(140)는, 각 분산처리슬레이브장치(210)로부터 할당된 분할프로세스의 처리 결과를 수신하고, 수신된 처리 결과를 통합함으로써, 상기 처리대상프로세스의 처리 결과로서 산출하게 된다.More specifically, the
판단부(150)는 마스터장치(100)에서의 분산 처리 가능 여부를 판단하는 기능을 수행한다.The
보다 구체적으로, 판단부(150)는, 장치선별부(110)를 통해 분산처리슬레이브장치(210)가 선별된 이후, 마스터장치(100)의 프로세스 처리용량을 기초로 상기 마스터장치에서 상기 처리대상프로세스의 분산 처리가 가능한지 여부를 판단하게 된다.More specifically, after the distributed
이때, 판단부(150)는 마스터장치(100)의 프로세스 처리용량이 임계치를 초과하여 상기 처리대상프로세스의 분산 처리가 가능한 것으로 판단되는 경우, 분할처리부(120)에서 상기 처리대상프로세스를 분할프로세스로 분할하도록 하고, 할당처리부(130)가 분할된 분할프로세스를 분산처리슬레이브장치(210)에 할당하도록 한다.At this time, if it is determined that the process capacity of the
반면, 판단부(150)는 마스터장치(100)의 프로세스 처리용량이 임계치 미만으로 상기 처리대상프로세스의 분산 처리가 불가능한 것으로 판단되는 경우에는 상기 처리대상프로세스의 분산 처리가 가능한 상기 프로세스 처리용량을 갖는 분산처리슬레이브장치(210)를 확인하고, 상기 확인된 분산처리슬레이브장치(210)로 하여금 처리대상프로세스의 분할 및 분할프로세스의 할당 처리를 수행하도록 한다.On the other hand, when it is determined that the process capacity of the
여기서, 분산 처리와 관련한 분할처리부(120) 및 할당처리부(130)의 동작 제어 그리고 분산처리슬레이브장치(210)로 하여금 처리대상프로세스의 분할 및 분할프로세스의 할당 처리를 수행하도록 하는 동작의 경우, 상기 판단부(150)에서 수행하거나, 별도의 제어부(도시안됨)에 의해 수행될 수 있다.Here, in the case of an operation for controlling the operation of the
이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 분산 처리 시스템에 따르면, 다수의 슬레이브장치(200) 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치(210)를 선별하고, 선별된 분산처리슬레이브장치(210)의 상태정보를 기초로 상기 처리대상프로세스를 분할프로세스로 분할하여 각 분산처리슬레이브장치(210)에 할당하여 처리하도록 함으로써, 각 슬레이브장치(200)의 현재 상태에 적합한 프로세스 할당이 이루어짐에 따라 처리대상프로세스에 대해 효율적인 분산 처리를 수행할 수 있다.As described above, according to the distributed processing system according to an embodiment of the present invention, the distributed
이하에서는 도 3 및 도 4를 참조하여, 본 발명의 일 실시예에 따른 분산 처리 방법을 설명하도록 한다. 여기서, 설명의 편의를 위해 전술한 도 1 및 도 2에 도시된 구성은 해당 참조번호를 언급하여 설명하겠다. Hereinafter, a distributed processing method according to an embodiment of the present invention will be described with reference to FIG. 3 and FIG. Here, for convenience of explanation, the configurations shown in FIGS. 1 and 2 will be described with reference to corresponding reference numerals.
우선, 도 3을 참조하여 본 발명의 일 실시예에 따른 분산 처리 시스템에서의 동작 흐름을 설명하도록 한다.First, the operation flow in the distributed processing system according to one embodiment of the present invention will be described with reference to FIG.
먼저, 마스터장치(100)가 기 등록된 다수의 슬레이브장치(200) 각각에 대한 상태정보를 확인하고, 분산 처리가 가능한 상태정보를 갖는 슬레이브장치(200)만을 처리대상프로세의 분산 처리를 수행하는 분산처리슬레이브장치(210)로서 선별하게 된다(S110-S120).First, the
그리고 나서, 마스터장치(100)는 분산처리슬레이브장치(210)가 선별되면, 분산처리슬레이브장치(210) 각각의 상태정보로부터 확인되는 각 분산처리슬레이브장치(210)의 프로세스 특성 및 프로세스 처리용량 중 적어도 어느 하나를 기초로 처리대상프로세스를 각 분산처리슬레이브장치(210)에 대응하는 분할프로세스로 분할하게 된다(S130).Then, when the distributed
그런 다음, 마스터장치(100)는 분할프로세스의 분할이 완료되면, 각 분할프로세스를 각 분산처리슬레이브장치(210)에 할당(제공)함으로써, 각 분산처리슬레이브장치(210)를 통해 상기 처리대상프로세스에 대한 분산처리가 수행되도록 한다(S140-S150).Then, when the partitioning process is completed, the
이후, 마스터장치(100)는, 각 분산처리슬레이브장치(210)로부터 할당된 분할프로세스의 처리 결과를 수신하고, 수신된 처리 결과를 통합함으로써, 이를 상기 처리대상프로세스의 처리 결과로서 산출하게 된다(S160-S170).Thereafter, the
이하에서는 도 4를 참조하여 본 발명의 일 실시예에 따른 마스터장치(100)의 동작을 구체적으로 설명하도록 한다.Hereinafter, the operation of the
먼저, 장치선별부(110)가 기 등록된 다수의 슬레이브장치(200) 각각에 대한 상태정보를 확인하고, 분산 처리가 가능한 상태정보를 갖는 슬레이브장치(200)들을 분산처리슬레이브장치(210)로서 선별하게 된다(S210-S230).First, the
이때, 장치선별부(110)는 다수의 슬레이브장치(200) 중 현재 처리 가능한 프로세스 처리용량이 임계치 이상인 슬레이브장치(200)만을 분산처리슬레이브장치(210)로 선별할 수 있다.At this time, the
여기서, 제어부(150)는, 장치선별부(110)를 통해 분산처리슬레이브장치(210)가 선별된 이후, 마스터장치(100)의 프로세스 처리용량을 기초로 상기 마스터장치에서 상기 처리대상프로세스의 분산 처리가 가능한지 여부를 판단하게 된다(S240).Here, after the distributed
이때, 판단부(150)는 마스터장치(100)의 프로세스 처리용량이 임계치 미만으로 상기 처리대상프로세스의 분산 처리가 불가능한 것으로 판단되는 경우에는 상기 처리대상프로세스의 분산 처리가 가능한 상기 프로세스 처리용량을 갖는 분산처리슬레이브장치(210)를 확인하고, 상기 확인된 분산처리슬레이브장치(210)로 하여금 처리대상프로세스의 분할 및 분할프로세스의 할당 처리를 수행하도록 한다(S310).At this time, if it is determined that the process capacity of the
그런 다음, 분할처리부(120)가 분산처리슬레이브장치(210)의 상태정보를 기초로 각 분산처리슬레이브장치(210)에서 처리 가능한 프로세스 특성을 확인하고, 처리대상프로세스를 각 분산처리슬레이브장치(210)의 프로세스 특성에 대응하는 분할프로세스로 분할하게 된다(S260).Then, the
이때, 분산처리슬레이브장치(210)에서 동일한 프로세스 특성을 가짐에 따라 특정 분할프로세스의 처리가 가능한 다수의 분산처리슬레이브장치(210)가 존재하는 경우, 분할처리부(120)는 특정 분할프로세스에 대응하는 다수의 분산처리슬레이브장치(210) 각각에서 처리 가능한 프로세스 처리용량을 기초로 상기 특정 분할프로세스를 분할함으로써, 상기 다수의 분산처리슬레이브장치(210) 각각에 상기 특정 분할프로세스에서 분할된 프로세스가 할당될 수 있도록 한다(S270-S280).At this time, when there are a plurality of distributed
다음으로, 할당처리부(130)는 분할프로세스로의 분할이 완료되면, 각 분할프로세스를 분산처리슬레이브장치(210) 각각에 할당(제공)함으로써, 각 분산처리슬레이브장치(210)를 통해 상기 처리대상프로세스에 대한 분산처리가 수행되도록 한다(S290).Next, when the division into the division process is completed, the
이후, 통합처리부(140)는 각 분산처리슬레이브장치(210)로부터 할당된 분할프로세스의 처리 결과를 수신하고, 수신된 처리 결과를 통합함으로써, 상기 처리대상프로세스의 처리 결과로서 산출하게 된다(S300).Thereafter, the
이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 분산 처리 방법에 따르면, 다수의 슬레이브장치(200) 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치(210)를 선별하고, 선별된 분산처리슬레이브장치(210)의 상태정보를 기초로 상기 처리대상프로세스를 분할프로세스로 분할하여 각 분산처리슬레이브장치(210)에 할당하여 처리하도록 함으로써, 각 슬레이브장치(200)의 현재 상태에 적합한 프로세스 할당이 이루어짐에 따라 처리대상프로세스에 대해 효율적인 분산 처리를 수행할 수 있다.As described above, according to the distributed processing method according to the embodiment of the present invention, the distributed
한편, 여기에 제시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Meanwhile, the steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, or may be embodied in a computer readable medium, in the form of a program instruction, which may be carried out through various computer means. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
본 발명의 분산 처리 시스템 및 그 방법, 그리고 이에 적용되는 장치에 따르면, 다수의 슬레이브장치 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치를 선별하고, 선별된 분산처리슬레이브장치의 상태정보에 적합하도록 상기 처리대상프로세스를 분할프로세스로 분할하여 처리한다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.According to the distributed processing system and method of the present invention and the apparatus applied thereto, it is possible to select a distributed processing slave device capable of performing distributed processing of a process target process among a plurality of slave devices, and is suitable for the status information of the selected distributed processing slave device The present invention is not limited to the use of the related art, but merely has a possibility of marketing or operating the device, and is practically and practically possible. This is an invention that is industrially usable because it is possible.
100: 마스터장치
110: 장치선별부 120: 분할처리부
130: 할당처리부 140: 통합처리부
150: 제어부
200: 슬레이브장치
210: 분산처리슬레이브장치100: Master device
110: device selector 120:
130: Assignment processor 140:
150:
200: Slave device
210: distributed processing slave device
Claims (18)
상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 적어도 두개의 분할프로세스로 분할하는 분할처리부; 및
상기 적어도 두개의 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 할당처리부를 포함하는 것을 특징으로 하는 마스터장치.A device sorting unit for sorting distributed process slave devices capable of distributing processable process among a plurality of slave devices;
A division processing unit that divides the process target process into at least two divided processes based on status information of the distributed processing slave device; And
And an allocation processing unit that allocates and processes the at least two divided processes to each of the distributed processing slave devices.
상기 마스터장치는,
상기 분산처리슬레이브장치로부터 상기 적어도 두개의 분할프로세스의 처리 결과를 수신하고, 수신된 처리 결과를 통합하여 상기 처리대상프로세스의 처리 결과로서 산출하는 통합처리부를 더 포함하는 것을 특징으로 하는 마스터장치.The method according to claim 1,
The master device comprises:
Further comprising an integration processor for receiving the processing results of the at least two divided processes from the distributed processing slave device and integrating the received processing results and calculating the processing results as a processing result of the processing target process.
상기 분산처리슬레이브장치는,
상기 다수의 슬레이브장치 각각의 상기 상태정보를 기초로 선별되며,
상기 장치선별부는,
상기 다수의 슬레이브장치 각각의 상기 상태정보를 확인하여, 상기 처리대상프로세스의 분산 처리에 적합한 상기 상태정보를 갖는 슬레이브장치를 상기 분산처리슬레이브장치로 선별하는 것을 특징으로 하는 마스터장치.The method according to claim 1,
The distributed processing slave device includes:
Wherein the plurality of slave devices are selected based on the status information of the plurality of slave devices,
The device selection unit,
And slave devices having the status information suitable for the distributed processing of the process target process are selected by the distributed process slave device by checking the status information of each of the plurality of slave devices.
상기 상태정보는,
상기 다수의 슬레이브장치 각각이 처리 가능한 프로세스 특성 및 프로세스 처리용량 중 적어도 하나를 포함하는 것을 특징으로 하는 마스터장치.The method of claim 3,
The status information may include:
Wherein each of the plurality of slave devices includes at least one of a process characteristic that can be processed and a process process capacity.
상기 분할처리부는,
상기 분산처리슬레이브장치 각각이 갖는 상기 프로세스 특성에 대응하도록 상기 처리대상프로세스를 상기 적어도 두개의 분할프로세스로 분할하고,
상기 할당처리부는,
상기 적어도 두개의 분할프로세스 각각을 대응되는 프로세스 특성을 갖는 분산처리슬레이브장치에 할당하여 처리하도록 하는 것을 특징으로 하는 마스터장치.5. The method of claim 4,
The division processing unit,
Dividing the processing target process into the at least two divided processes so as to correspond to the process characteristic of each of the distributed processing slave devices,
The allocation processing unit,
And allocates and processes each of the at least two divided processes to a distributed processing slave device having a corresponding process characteristic.
상기 할당처리부는,
상기 적어도 두개의 분할프로세스 중 특정 분할프로세스에 대응하는 프로세스 특성을 갖는 분산처리슬레이브장치가 적어도 두개인 경우, 상기 적어도 두개의 분산처리슬레이브장치 각각이 갖는 상기 프로세스 처리용량을 기초로 상기 특정 분할프로세스를 분할하며,
상기 할당처리부는,
상기 프로세스 처리용량을 기초로 분할된 상기 특정 분할프로세스를 상기 적어도 두개의 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 것을 특징으로 하는 마스터장치.6. The method of claim 5,
The allocation processing unit,
Wherein when there are at least two distributed processing slave devices having process characteristics corresponding to a specific divided process among the at least two divided processes, the specific divided process is performed based on the process processing capacity possessed by each of the at least two distributed processing slave devices Split,
The allocation processing unit,
And allocates and processes the specific divided process divided on the basis of the process processing capacity to each of the at least two distributed processing slave devices.
상기 분할처리부는,
상기 프로세스 특성이 특정 웹사이트로부터 이미지를 수집하는 이미지 수집 프로세스 특성, 상기 이미지에 포함된 객체를 인식하는 객체 인식 프로세스 특성, 및 상기 객체와 관련된 텍스트를 처리하는 텍스트 처리 프로세스 특성 중 적어도 하나를 포함하는 경우, 상기 분할프로세스가 이미지 수집 프로세스, 객체 인식 프로세스, 및 텍스트 처리 프로세스 중 적어도 하나가 되도록 상기 처리대상프로세스를 분할하는 것을 특징으로 하는 마스터장치.6. The method of claim 5,
The division processing unit,
Wherein the process characteristic comprises at least one of an image acquisition process characteristic for collecting an image from a particular web site, an object recognition process characteristic for recognizing an object included in the image, and a text processing process characteristic for processing text associated with the object Wherein the dividing process divides the process target process into at least one of an image collection process, an object recognition process, and a text processing process.
상기 마스터장치가 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 수행할 수 있는지 여부를 판단하는 판단부를 더 포함하며,
상기 마스터장치가 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 수행할 수 없는 것으로 판단되는 경우, 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 상기 분산처리슬레이브장치 중 하나에서 수행되도록 하는 것을 특징으로 하는 마스터장치.The method according to claim 1,
Further comprising a determination unit that determines whether the master device can perform the partitioning of the process target process and the allocation process for the at least two divided processes,
Wherein when the master device determines that the process target process can not be divided and that the process for allocating the at least two divided processes can not be performed, the process for dividing the process target process and the process for allocating the at least two divided processes To be performed in one of the distributed processing slave devices.
상기 마스터장치가 상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 적어도 두개의 분할프로세스로 분할하는 분할처리단계;
상기 마스터장치가 상기 적어도 두개의 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하는 할당처리단계; 및
상기 분산처리슬레이브장치 각각이 상기 마스터장치로부터 할당된 분할프로세스를 처리하고, 분할프로세스 처리 결과를 상기 마스터장치에 전송하는 프로세스처리단계를 포함하는 것을 특징으로 하는 분산 처리 방법.A device selecting step of selecting a distributed processing slave device in which the master device is capable of distributing the processing target process among a plurality of slave devices;
A division processing step of the master device dividing the processing target process into at least two divided processes based on status information of the distributed processing slave device;
An allocation processing step in which the master device allocates the at least two divided processes to each of the distributed processing slave devices; And
And each of the distributed processing slave devices processes a partitioning process allocated from the master device, and transfers the partitioning process result to the master device.
상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 적어도 두개의 분할프로세스로 분할하는 분할처리단계; 및
상기 적어도 두개의 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 할당처리단계를 포함하는 것을 특징으로 하는 마스터장치의 동작 방법.A device selecting step of selecting a distributed processing slave device capable of performing distributed processing of a process target process among a plurality of slave devices;
A division processing step of dividing the processing target process into at least two divided processes based on status information of the distributed processing slave device; And
And allocating and processing the at least two divided processes to each of the distributed processing slave devices.
상기 분산처리슬레이브장치는,
상기 다수의 슬레이브장치 각각의 상기 상태정보를 기초로 선별되며,
상기 장치선별단계는,
상기 다수의 슬레이브장치 각각의 상기 상태정보를 확인하여, 상기 처리대상프로세스의 분산 처리에 적합한 상기 상태정보를 갖는 슬레이브장치를 상기 분산처리슬레이브장치로 선별하는 것을 특징으로 하는 마스터장치의 동작 방법.11. The method of claim 10,
The distributed processing slave device includes:
Wherein the plurality of slave devices are selected based on the status information of the plurality of slave devices,
In the device selection step,
Wherein said slave device checks said status information of each of said plurality of slave devices and selects slave devices having said status information suitable for distributed processing of said process target with said distributed processing slave device.
상기 상태정보는,
상기 다수의 슬레이브장치 각각이 처리 가능한 프로세스 특성 및 프로세스 처리용량 중 적어도 하나를 포함하는 것을 특징으로 하는 마스터장치의 동작 방법.12. The method of claim 11,
The status information may include:
Wherein each of the plurality of slave devices includes at least one of a process characteristic that can be processed and a process process capacity.
상기 분할처리단계는,
상기 분산처리슬레이브장치 각각이 갖는 상기 프로세스 특성에 대응하도록 상기 처리대상프로세스를 상기 적어도 두개의 분할프로세스로 분할하고,
상기 할당처리단계는,
상기 적어도 두개의 분할프로세스 각각을 대응되는 프로세스 특성을 갖는 분산처리슬레이브장치에 할당하여 처리하도록 하는 것을 특징으로 하는 마스터장치.13. The method of claim 12,
Wherein the dividing step comprises:
Dividing the processing target process into the at least two divided processes so as to correspond to the process characteristic of each of the distributed processing slave devices,
Wherein the allocation processing step comprises:
And allocates and processes each of the at least two divided processes to a distributed processing slave device having a corresponding process characteristic.
상기 할당처리단계는,
상기 적어도 두개의 분할프로세스 중 특정 분할프로세스에 대응하는 프로세스 특성을 갖는 분산처리슬레이브장치가 적어도 두개인 경우, 상기 적어도 두개의 분산처리슬레이브장치 각각이 갖는 상기 프로세스 처리용량을 기초로 상기 특정 분할프로세스를 분할하며,
상기 할당처리단계는,
상기 프로세스 처리용량을 기초로 분할된 상기 특정 분할프로세스를 상기 적어도 두개의 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 것을 특징으로 하는 마스터장치의 동작 방법.14. The method of claim 13,
Wherein the allocation processing step comprises:
Wherein when there are at least two distributed processing slave devices having process characteristics corresponding to a specific divided process among the at least two divided processes, the specific divided process is performed based on the process processing capacity possessed by each of the at least two distributed processing slave devices Split,
Wherein the allocation processing step comprises:
And allocates and processes the specific divided process based on the process processing capacity to each of the at least two distributed processing slave devices.
상기 분할처리단계는,
상기 프로세스 특성이 특정 웹사이트로부터 이미지를 수집하는 이미지 수집 프로세스 특성, 상기 이미지에 포함된 객체를 인식하는 객체 인식 프로세스 특성, 및 상기 객체와 관련된 텍스트를 처리하는 텍스트 처리 프로세스 특성 중 적어도 하나를 포함하는 경우, 상기 분할프로세스가 이미지 수집 프로세스, 객체 인식 프로세스, 및 텍스트 처리 프로세스 중 적어도 하나가 되도록 상기 처리대상프로세스를 분할하는 것을 특징으로 하는 마스터장치의 동작 방법.14. The method of claim 13,
Wherein the dividing step comprises:
Wherein the process characteristic comprises at least one of an image acquisition process characteristic for collecting an image from a particular web site, an object recognition process characteristic for recognizing an object included in the image, and a text processing process characteristic for processing text associated with the object Wherein the dividing process divides the process target process into at least one of an image collection process, an object recognition process, and a text processing process.
상기 방법은,
상기 마스터장치가 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 수행할 수 있는지 여부를 판단하는 판단단계; 및
상기 마스터장치가 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 수행할 수 없는 것으로 판단되는 경우, 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 상기 분산처리슬레이브장치 중 하나에서 수행되도록 하는 처리단계를 더 포함하는 것을 특징으로 하는 마스터장치의 동작 방법.11. The method of claim 10,
The method comprises:
A determination step of determining whether the master device can perform the partitioning of the process target process and the allocation process for the at least two divided processes; And
Wherein when the master device determines that the process target process can not be divided and that the process for allocating the at least two divided processes can not be performed, the process for dividing the process target process and the process for allocating the at least two divided processes To be performed in one of the distributed processing slave devices.
상기 방법은,
상기 분산처리슬레이브장치로부터 상기 적어도 두개의 분할프로세스의 처리 결과를 수신하고, 수신된 처리 결과를 통합하여 상기 처리대상프로세스의 처리 결과로서 산출하는 통합처리단계를 더 포함하는 것을 특징으로 하는 마스터장치의 동작 방법.11. The method of claim 10,
The method comprises:
Further comprising an integration processing step of receiving the processing results of the at least two divided processes from the distributed processing slave device and integrating the received processing results and calculating them as the processing result of the processing target process How it works.
다수의 슬레이브장치 중 상기 처리대상프로세스의 분산 처리가 가능한 상기 분산처리슬레이브장치를 선별하고, 상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 적어도 두개의 분할프로세스로 분할하며, 상기 적어도 두개의 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 마스터장치를 포함하는 것을 특징으로 하는 분산 처리 시스템.
A distributed processing slave device for performing distributed processing of a process target process; And
The distributed processing slave device capable of distributing the processing target process among a plurality of slave devices is selected and the processing target process is divided into at least two divided processes based on the status information of the distributed processing slave device, And a master device for allocating and processing the two divided processes to each of the distributed processing slave devices.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130004834A KR102183274B1 (en) | 2013-01-16 | 2013-01-16 | System and method for distributed processing, and apparatus applied to the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130004834A KR102183274B1 (en) | 2013-01-16 | 2013-01-16 | System and method for distributed processing, and apparatus applied to the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140092599A true KR20140092599A (en) | 2014-07-24 |
KR102183274B1 KR102183274B1 (en) | 2020-11-26 |
Family
ID=51739203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130004834A KR102183274B1 (en) | 2013-01-16 | 2013-01-16 | System and method for distributed processing, and apparatus applied to the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102183274B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200010645A (en) * | 2018-06-27 | 2020-01-31 | (주)이지서티 | Method and apparatus for pre-processing big data |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040069059A (en) * | 2003-01-28 | 2004-08-04 | 삼성전자주식회사 | Distributed processing system using virtual machine, and method thereof |
JP2005018266A (en) * | 2003-06-24 | 2005-01-20 | Toyota Keeramu:Kk | Parallel distributed processing system, nc data creation method, and nc data creation program |
KR20070056311A (en) * | 2005-11-29 | 2007-06-04 | 삼성전자주식회사 | Method for distributed processing of data in mobile communication terminal and distributed system |
KR20090080753A (en) * | 2008-01-22 | 2009-07-27 | 삼성전자주식회사 | Method and apparatus for migrating task in multi-processor system |
KR20120112454A (en) * | 2009-11-24 | 2012-10-11 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | Distributed multi-core memory initialization |
-
2013
- 2013-01-16 KR KR1020130004834A patent/KR102183274B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040069059A (en) * | 2003-01-28 | 2004-08-04 | 삼성전자주식회사 | Distributed processing system using virtual machine, and method thereof |
JP2005018266A (en) * | 2003-06-24 | 2005-01-20 | Toyota Keeramu:Kk | Parallel distributed processing system, nc data creation method, and nc data creation program |
KR20070056311A (en) * | 2005-11-29 | 2007-06-04 | 삼성전자주식회사 | Method for distributed processing of data in mobile communication terminal and distributed system |
KR20090080753A (en) * | 2008-01-22 | 2009-07-27 | 삼성전자주식회사 | Method and apparatus for migrating task in multi-processor system |
KR20120112454A (en) * | 2009-11-24 | 2012-10-11 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | Distributed multi-core memory initialization |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200010645A (en) * | 2018-06-27 | 2020-01-31 | (주)이지서티 | Method and apparatus for pre-processing big data |
Also Published As
Publication number | Publication date |
---|---|
KR102183274B1 (en) | 2020-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI547817B (en) | Method, system and apparatus of planning resources for cluster computing architecture | |
JP5664098B2 (en) | Composite event distribution apparatus, composite event distribution method, and composite event distribution program | |
US9921861B2 (en) | Virtual machine management method and information processing apparatus | |
CN109684071B (en) | Distribution of arbitrary workload among super-converged nodes | |
CN107864211B (en) | Cluster resource dispatching method and system | |
CN103797462A (en) | Method, system, and device for creating virtual machine | |
KR101471749B1 (en) | Virtual machine allcoation of cloud service for fuzzy logic driven virtual machine resource evaluation apparatus and method | |
US9807152B2 (en) | Distributed processing device and distributed processing system as well as distributed processing method | |
CN112465146B (en) | Quantum and classical hybrid cloud platform and task execution method | |
CN103810016A (en) | Method and device for realizing virtual machine migration and cluster system | |
JP6001690B2 (en) | Master device, slave device and computing method thereof for cluster computing system | |
CN107967164B (en) | Method and system for live migration of virtual machine | |
US9612867B2 (en) | Apparatus and method for data partition and allocation in heterogeneous multi-processor environment | |
CN103164253A (en) | Virtual machine deployment system and virtual machine deployment method | |
JP6519111B2 (en) | Data processing control method, data processing control program and data processing control device | |
JP7006607B2 (en) | Distributed processing system, distributed processing method, and recording medium | |
CN112148468A (en) | Resource scheduling method and device, electronic equipment and storage medium | |
CN104580194A (en) | Virtual resource management method and device oriented to video applications | |
JP2013114626A (en) | Arrangement device, arrangement program, and arrangement method | |
CN114048006A (en) | Virtual machine dynamic migration method and device and storage medium | |
US20230155958A1 (en) | Method for optimal resource selection based on available gpu resource analysis in large-scale container platform | |
JP2011141703A (en) | System, method and program for arranging resource | |
JP5043166B2 (en) | Computer system, data search method, and database management computer | |
KR20140092599A (en) | System and method for distributed processing, and apparatus applied to the same | |
JPWO2016084327A1 (en) | Resource prediction apparatus, resource prediction method, resource prediction program, and distributed processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
J301 | Trial decision |
Free format text: TRIAL NUMBER: 2019101002784; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20190820 Effective date: 20200811 |
|
GRNO | Decision to grant (after opposition) |