KR102183274B1 - 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
- KR102183274B1 KR102183274B1 KR1020130004834A KR20130004834A KR102183274B1 KR 102183274 B1 KR102183274 B1 KR 102183274B1 KR 1020130004834 A KR1020130004834 A KR 1020130004834A KR 20130004834 A KR20130004834 A KR 20130004834A KR 102183274 B1 KR102183274 B1 KR 102183274B1
- Authority
- KR
- South Korea
- Prior art keywords
- processing
- distributed processing
- slave device
- slave
- distributed
- 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
본 발명은 분산 처리 시스템 및 그 방법, 그리고 이에 적용되는 장치를 개시한다. 즉, 다수의 슬레이브장치 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치를 선별하고, 상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 적어도 두개의 분할프로세스로 분할하며, 상기 적어도 두개의 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하여 처리하도록 함으로써, 처리대상프로세스에 대해 효율적인 분산 처리를 수행할 수 있다.The present invention discloses a distributed processing system, a method thereof, and an apparatus applied thereto. That is, among a plurality of slave devices, a distributed processing slave device capable of distributed processing of a processing target process is selected, the processing target process is divided into at least two divided processes based on the state information of the distributed processing slave device, and the at least By assigning two divided processes to each of the distributed processing slave devices for processing, efficient distributed processing can be performed on the processing target process.
Description
본 발명은 다수의 슬레이브장치 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치를 선별하고, 선별된 분산처리슬레이브장치의 상태정보에 적합하도록 상기 처리대상프로세스를 분할프로세스로 분할하여 처리하기 위한 방법에 관한 것이다.The present invention is a method for selecting a distributed processing slave device capable of distributed processing of a processing target process among a plurality of slave devices, and dividing the processing target process into divided processes so as to suit the status information of the selected distributed processing slave device. It is about.
분산 처리 기술은 여러 개의 물리적으로 분산된 저장장소와 장치들을 네트워크로 상호 연결하고 서로 통신하면서 작업을 처리하는 방식이다.Distributed processing technology is a method of interconnecting multiple physically distributed storage locations and devices through a network and processing tasks while communicating with each other.
즉, 분산 처리 기술은 이더넷 등의 다양한 네트워크를 이용하여 다수의 워크스테이션 또는 컴퓨터를 연결하여 프로세스를 할당함으로써, 공동의 작업을 수행할 수 있다.That is, in the distributed processing technology, a number of workstations or computers are connected using various networks such as Ethernet to allocate processes, thereby performing a common task.
이러한 분산 처리 기술은 마스터로 동작하는 장치에서 처리대상프로세스를 다수의 장치(이하, "슬레이브장치"라 함)들에게 분할하여 처리하는 방식으로 이루어짐에 따라, 처리대상프로세스를 다수의 슬레이브장치에 적합한 형태로 분할하는 것이 무엇보다 중요하다 할 것이다.This distributed processing technology is achieved by dividing the process to be processed into a plurality of devices (hereinafter referred to as "slave devices") in a device operating as a master, so that the process to be processed is suitable for a plurality of slave devices. It will be said that it is most important to divide into shape.
그러나, 각 슬레이브장치에서는 상기 처리대상프로세스의 공동 작업만을 수행하는 것이 아니라 개별 프로세스를 동시에 수행하게 되며, 이러한 각 슬레이브장치의 현재 상태를 반영하지 못하는 경우, 각 슬레이브장치에서의 프로세스 처리에 따른 부하 증가 등으로 인해 효율적인 분산 처리를 수행할 수 없게 된다는 문제점이 있다.However, each slave device not only performs the joint work of the process to be processed, but also performs individual processes at the same time, and if the current state of each of these slave devices is not reflected, the load increases according to the process processing in each slave device. There is a problem in that efficient dispersion processing cannot be performed due to the like.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은 다수의 슬레이브장치 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치를 선별하고, 상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 분할프로세스로 분할하며, 상기 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하여 처리하도록 함으로써, 처리대상프로세스에 대해 효율적인 분산 처리를 수행하는데 있다.The present invention was created in view of the above circumstances, and an object of the present invention is to select a distributed processing slave device capable of distributed processing of a process to be processed among a plurality of slave devices, and state information of the distributed processing slave device. The processing target process is divided into divided processes on the basis of, and the divided processes are allocated to each of the distributed processing slave devices to be processed, thereby performing efficient distributed processing on the processing target process.
상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 마스터장치는, 다수의 슬레이브장치 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치를 선별하는 장치선별부; 상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 적어도 두개의 분할프로세스로 분할하는 분할처리부; 및 상기 적어도 두개의 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 할당처리부를 포함하는 것을 특징으로 한다.A master device according to a first aspect of the present invention for achieving the above object includes: a device selecting unit for selecting a distributed processing slave device capable of distributed processing of a processing target process among a plurality of slave devices; A division processing unit for dividing the processing target process into at least two division processes based on state information of the distributed processing slave device; And an allocation processing unit configured to allocate and process the at least two divided processes to each of the distributed processing slave devices.
보다 구체적으로, 상기 마스터장치는, 상기 분산처리슬레이브장치로부터 상기 적어도 두개의 분할프로세스의 처리 결과를 수신하고, 수신된 처리 결과를 통합하여 상기 처리대상프로세스의 처리 결과로서 산출하는 통합처리부를 더 포함하는 것을 특징으로 한다.More specifically, the master device further includes an integrated processing unit that receives the processing result of the at least two divided processes from the distributed processing slave device, integrates the received processing result, and calculates the processing result of the processing target process. Characterized in that.
보다 구체적으로, 상기 분산처리슬레이브장치는, 상기 다수의 슬레이브장치 각각의 상기 상태정보를 기초로 선별되며, 상기 장치선별부는, 상기 다수의 슬레이브장치 각각의 상기 상태정보를 확인하여, 상기 처리대상프로세스의 분산 처리에 적합한 상기 상태정보를 갖는 슬레이브장치를 상기 분산처리슬레이브장치로 선별하는 것을 특징으로 한다.More specifically, the distributed processing slave device is selected based on the state information of each of the plurality of slave devices, and the device selection unit checks the state information of each of the plurality of slave devices, and the processing target process The slave device having the state information suitable for the distributed processing of is selected as the distributed processing slave device.
보다 구체적으로, 상기 상태정보는, 상기 다수의 슬레이브장치 각각이 처리 가능한 프로세스 특성 및 프로세스 처리용량 중 적어도 하나를 포함하는 것을 특징으로 한다.More specifically, the status information is characterized in that it includes at least one of a process characteristic and a process processing capacity capable of being processed by each of the plurality of slave devices.
보다 구체적으로, 상기 분할처리부는, 상기 분산처리슬레이브장치 각각이 갖는 상기 프로세스 특성에 대응하도록 상기 처리대상프로세스를 상기 적어도 두개의 분할프로세스로 분할하고, 상기 할당처리부는, 상기 적어도 두개의 분할프로세스 각각을 대응되는 프로세스 특성을 갖는 분산처리슬레이브장치에 할당하여 처리하도록 하는 것을 특징으로 한다.More specifically, the division processing unit divides the processing target process into the at least two division processes so as to correspond to the process characteristics of each of the distributed processing slave devices, and the allocation processing unit includes each of the at least two division processes. Is assigned to a distributed processing slave device having corresponding process characteristics and processed.
보다 구체적으로, 상기 할당처리부는, 상기 적어도 두개의 분할프로세스 중 특정 분할프로세스에 대응하는 프로세스 특성을 갖는 분산처리슬레이브장치가 적어도 두개인 경우, 상기 적어도 두개의 분산처리슬레이브장치 각각이 갖는 상기 프로세스 처리용량을 기초로 상기 특정 분할프로세스를 분할하며, 상기 할당처리부는, 상기 프로세스 처리용량을 기초로 분할된 상기 특정 분할프로세스를 상기 적어도 두개의 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 것을 특징으로 한다.More specifically, when there are at least two distributed processing slave devices having a process characteristic corresponding to a specific partition among the at least two partitioning processes, the allocation processing unit processes the process of each of the at least two distributed processing slave devices. The specific division process is divided based on capacity, and the allocation processing unit assigns and processes the specific division process divided based on the process processing capacity to each of the at least two distributed processing slave devices. .
보다 구체적으로, 상기 분할처리부는, 상기 프로세스 특성이 특정 웹사이트로부터 이미지를 수집하는 이미지 수집 프로세스 특성, 상기 이미지에 포함된 객체를 인식하는 객체 인식 프로세스 특성, 및 상기 객체와 관련된 텍스트를 처리하는 텍스트 처리 프로세스 특성 중 적어도 하나를 포함하는 경우, 상기 분할프로세스가 이미지 수집 프로세스, 객체 인식 프로세스, 및 텍스트 처리 프로세스 중 적어도 하나가 되도록 상기 처리대상프로세스를 분할하는 것을 특징으로 한다.More specifically, the segmentation processing unit includes an image collection process characteristic of collecting images from a specific website having the process characteristics, an object recognition process characteristic of recognizing an object included in the image, and a text processing text related to the object. When including at least one of the processing process characteristics, the processing target process is divided so that the segmentation process becomes at least one of an image collection process, an object recognition process, and a text processing process.
보다 구체적으로, 상기 마스터장치가 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 수행할 수 있는지 여부를 판단하는 판단부를 더 포함하며, 상기 마스터장치가 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 수행할 수 없는 것으로 판단되는 경우, 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 상기 분산처리슬레이브장치 중 하나에서 수행되도록 하는 것을 특징으로 한다.More specifically, the master device further comprises a determination unit for determining whether or not to perform the division of the process to be processed and the allocation process for the at least two divided processes, wherein the master device divides the process to be processed And when it is determined that the allocation processing for the at least two partitioning processes cannot be performed, partitioning the processing target process and the allocation processing for the at least two partitioning processes are performed by one of the distributed processing slave devices. It features.
상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 분산 처리 방법은, 마스터장치가 다수의 슬레이브장치 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치를 선별하는 장치선별단계; 상기 마스터장치가 상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 적어도 두개의 분할프로세스로 분할하는 분할처리단계; 상기 마스터장치가 상기 적어도 두개의 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하는 할당처리단계; 및 상기 분산처리슬레이브장치 각각이 상기 마스터장치로부터 할당된 분할프로세스를 처리하고, 분할프로세스 처리 결과를 상기 마스터장치에 전송하는 프로세스처리단계를 포함하는 것을 특징으로 한다.A distributed processing method according to a second aspect of the present invention for achieving the above object comprises: an apparatus selection step of selecting a distributed processing slave device capable of distributed processing of a process to be processed among a plurality of slave devices by a master device; A division processing step in which the master device divides the processing target process into at least two divided processes based on state 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 of each of the distributed processing slave devices processing a divided process allocated from the master device, and transmitting a result of the divided process processing to the master device.
상기 목적을 달성하기 위한 본 발명의 제 3 관점에 따른 마스터장치의 동작 방법은 다수의 슬레이브장치 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치를 선별하는 장치선별단계; 상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 적어도 두개의 분할프로세스로 분할하는 분할처리단계; 및 상기 적어도 두개의 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 할당처리단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, a method of operating a master device according to a third aspect of the present invention includes a device selection step of selecting a distributed processing slave device capable of distributed processing of a process to be processed among a plurality of slave devices; A division processing step of dividing the processing target process into at least two division processes based on state information of the distributed processing slave device; And an allocation processing step of allocating and processing the at least two division processes to each of the distributed processing slave devices.
보다 구체적으로, 상기 분산처리슬레이브장치는, 상기 다수의 슬레이브장치 각각의 상기 상태정보를 기초로 선별되며, 상기 장치선별단계는, 상기 다수의 슬레이브장치 각각의 상기 상태정보를 확인하여, 상기 처리대상프로세스의 분산 처리에 적합한 상기 상태정보를 갖는 슬레이브장치를 상기 분산처리슬레이브장치로 선별하는 것을 특징으로 한다.More specifically, the distributed processing slave device is selected based on the state information of each of the plurality of slave devices, and in the device selection step, the state information of each of the plurality of slave devices is checked, and the processing target It is characterized in that the slave device having the state information suitable for the distributed processing of the process is selected as the distributed processing slave device.
보다 구체적으로, 상기 상태정보는, 상기 다수의 슬레이브장치 각각이 처리 가능한 프로세스 특성 및 프로세스 처리용량 중 적어도 하나를 포함하는 것을 특징으로 한다.More specifically, the status information is characterized in that it includes at least one of a process characteristic and a process processing capacity capable of being processed by each of the plurality of slave devices.
보다 구체적으로, 상기 분할처리단계는, 상기 분산처리슬레이브장치 각각이 갖는 상기 프로세스 특성에 대응하도록 상기 처리대상프로세스를 상기 적어도 두개의 분할프로세스로 분할하고, 상기 할당처리단계는, 상기 적어도 두개의 분할프로세스 각각을 대응되는 프로세스 특성을 갖는 분산처리슬레이브장치에 할당하여 처리하도록 하는 것을 특징으로 한다.More specifically, in the division processing step, the processing target process is divided into the at least two division processes so as to correspond to the process characteristics of each of the distributed processing slave devices, and the allocation processing step includes the at least two division processes. It is characterized in that each process is assigned to a distributed processing slave device having a corresponding process characteristic for processing.
보다 구체적으로, 상기 할당처리단계는, 상기 적어도 두개의 분할프로세스 중 특정 분할프로세스에 대응하는 프로세스 특성을 갖는 분산처리슬레이브장치가 적어도 두개인 경우, 상기 적어도 두개의 분산처리슬레이브장치 각각이 갖는 상기 프로세스 처리용량을 기초로 상기 특정 분할프로세스를 분할하며, 상기 할당처리단계는, 상기 프로세스 처리용량을 기초로 분할된 상기 특정 분할프로세스를 상기 적어도 두개의 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 것을 특징으로 한다.More specifically, the allocation processing step includes the process of each of the at least two distributed processing slave devices when there are at least two distributed processing slave devices having process characteristics corresponding to a specific partitioning process among the at least two partitioning processes. The specific divided process is divided based on the processing capacity, and the allocation processing step is characterized in that the specific divided process divided based on the process processing capacity is allocated to each of the at least two distributed processing slave devices to be processed. To do.
보다 구체적으로, 상기 분할처리단계는, 상기 프로세스 특성이 특정 웹사이트로부터 이미지를 수집하는 이미지 수집 프로세스 특성, 상기 이미지에 포함된 객체를 인식하는 객체 인식 프로세스 특성, 및 상기 객체와 관련된 텍스트를 처리하는 텍스트 처리 프로세스 특성 중 적어도 하나를 포함하는 경우, 상기 분할프로세스가 이미지 수집 프로세스, 객체 인식 프로세스, 및 텍스트 처리 프로세스 중 적어도 하나가 되도록 상기 처리대상프로세스를 분할하는 것을 특징으로 한다.More specifically, in the segmentation processing step, the process characteristic includes an image collection process characteristic of collecting images from a specific website, an object recognition process characteristic of recognizing an object included in the image, and processing text related to the object. When including at least one of the characteristics of the text processing process, the processing target process is segmented so that the segmentation process becomes at least one of an image collection process, an object recognition process, and a text processing process.
보다 구체적으로, 상기 방법은, 상기 마스터장치가 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 수행할 수 있는지 여부를 판단하는 판단단계; 및 상기 마스터장치가 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 수행할 수 없는 것으로 판단되는 경우, 상기 처리대상프로세스의 분할 및 상기 적어도 두개의 분할프로세스에 대한 할당 처리를 상기 분산처리슬레이브장치 중 하나에서 수행되도록 하는 처리단계를 더 포함하는 것을 특징으로 한다.More specifically, the method includes a determining step of determining whether the master device can divide the process to be processed and allocate the at least two divided processes; And when it is determined that the master device cannot perform the division of the process to be processed and the allocation process for the at least two divided processes, the division of the process to be processed and the allocation process for the at least two divided processes are performed. It characterized in that it further comprises a processing step to be performed in one of the distributed processing slave device.
보다 구체적으로, 상기 방법은, 상기 분산처리슬레이브장치로부터 상기 적어도 두개의 분할프로세스의 처리 결과를 수신하고, 수신된 처리 결과를 통합하여 상기 처리대상프로세스의 처리 결과로서 산출하는 통합처리단계를 더 포함하는 것을 특징으로 한다.More specifically, the method further includes an integrated processing step of receiving the processing result of the at least two divided processes from the distributed processing slave device, integrating the received processing result and calculating the processing result of the processing target process. Characterized in that.
상기 목적을 달성하기 위한 본 발명의 제 4 관점에 따른 분산 처리 시스템은 처리대상프로세스의 분산 처리를 수행하는 분산처리슬레이브장치; 및 다수의 슬레이브장치 중 상기 처리대상프로세스의 분산 처리가 가능한 상기 분산처리슬레이브장치를 선별하고, 상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 적어도 두개의 분할프로세스로 분할하며, 상기 적어도 두개의 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 마스터장치를 포함하는 것을 특징으로 한다.A distributed processing system according to a fourth aspect of the present invention for achieving the above object comprises: a distributed processing slave device for performing distributed processing of a processing target process; And selecting the distributed processing slave device capable of distributed processing of the processing target process among a plurality of slave devices, dividing the processing target process into at least two divided processes based on the state information of the distributed processing slave device, and the And a master device for allocating and processing at least two divided processes to each of the distributed processing slave devices.
이에, 본 발명의 분산 처리 시스템 및 그 방법, 그리고 이에 적용되는 장치에 의하면, 다수의 슬레이브장치 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치를 선별하고, 선별된 분산처리슬레이브장치의 상태정보에 적합하도록 상기 처리대상프로세스를 분할프로세스로 분할하여 처리함으로써, 각 슬레이브장치의 현재 상태에 적합한 프로세스 할당이 이루어짐에 따라 처리대상프로세스에 대해 효율적인 분산 처리를 수행할 수 있다.Accordingly, according to the distributed processing system and method of the present invention, and the apparatus applied thereto, a distributed processing slave device capable of distributed processing of a process to be processed is selected among a plurality of slave devices, and status information of the selected distributed processing slave device is selected. By dividing the processing target process into divided processes so as to be suitable for processing, efficient distributed processing can be performed on the processing target process as process allocation suitable for the current state of each slave device is made.
도 1은 본 발명의 일 실시예에 따른 분산 처리 시스템의 개략적인 구성도.
도 2는 본 발명의 일 실시예에 따른 마스터장치의 구성도.
도 3은 본 발명의 일 실시예에 따른 분산 처리 시스템에서의 동작 흐름을 설명하기 위한 개략적인 순서도.
도 4는 본 발명의 일 실시예에 따른 마스터장치의 동작을 설명하기 위한 개략적인 순서도.1 is a schematic configuration diagram of a distributed processing system according to an embodiment of the present invention.
Figure 2 is a block diagram of a master device according to an embodiment of the present invention.
3 is a schematic flowchart illustrating an operation flow in a distributed processing system according to an embodiment of the present invention.
4 is a schematic flow chart for explaining the operation of the master device according to an embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예에 대하여 설명한다.Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 분산 처리 시스템을 도시한 도면이다. 1 is a diagram illustrating a distributed processing system according to an embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 분산 처리 시스템은, 처리대상프로세스를 분할프로세스로 분할하여 다수의 슬레이브장치(200)를 통해 분산 처리하는 마스터장치(100) 및 마스터장치(100)로부터 할당된 분할프로세스를 처리하고, 해당 처리 결과를 마스터장치(100)에 전달하는 복수의 슬레이브장치(200)를 포함하는 구성을 갖는다.As shown in FIG. 1, the distributed processing system according to an embodiment of the present invention provides a
마스터장치(100)는 처리대상프로세스를 다수의 슬레이브장치(200)에 대응하도록 분할프로세스로 분할하고, 분할프로세스를 각 슬레이브장치(200)에 할당하여 분산 처리가 수행되도록 하는 사용자 디바이스를 지칭하는 것으로서, 예를 들어, 개인용컴퓨터(PC), 노트북, 테블릿 PC, 및 PDA, 스마트폰 등이 해당될 수 있으며, 이에 제한되는 것이 아닌, 자체 하드웨어 규격을 통해 프로세스의 처리 가능하며, 슬레이브장치(200)와의 데이터 송수신이 가능한 장치는 모두 포함될 수 있다.The
한편, 마스터장치(100)는 전술한 구성과 상이한 서버의 형태를 가질 수 있다.On the other hand, the
이 경우, 마스터장치(100)는 특정 사용자장치(도시안됨)로부터 상기 처리대상프로세스에 대한 분산 처리 요청이 수신되면, 마찬가지로 처리대상프로세스를 다수의 슬레이브장치(200)에 대응하도록 분할프로세스로 분할하고, 분할프로세스를 각 슬레이브장치(200)에 할당하여 분산 처리가 수행되도록 하며, 각 슬레이브장치(200)로부터 분산 처리 수행 결과를 수신되는 경우, 이를 취합하여 상기 처리대상프로세스의 처리 결과로서 상기 특정 사용자장치에 제공하도록 동작할 수 있다.In this case, when a request for distributed processing for the processing target process is received from a specific user device (not shown), the
슬레이브장치(200)는 마스터장치(100)로부터 할당된 분할프로세서를 처리하고, 그 처리 결과를 마스터장치(100)에 전달하기 위한 사용자 디바이스를 지칭하는 것으로서, 마스터장치(100)와 마찬가지로 개인용컴퓨터(PC), 노트북, 테블릿 PC, 및 PDA, 스마트폰 등이 해당될 수 있으며, 이에 제한되는 것이 아닌, 자체 하드웨어 규격을 통해 프로세스의 처리 가능하며, 마스터장치(100)와의 데이터 송수신이 가능한 장치는 모두 포함될 수 있다.The
여기서, 처리대상프로세스는 사용자 조작에 의해 마스터장치(100)에 탑재된 하드웨어와 이러한 하드웨어를 구동하는 소프트웨어에 의해 처리되는 프로세스를 지칭하는 것으로서, 예를 들어, 사용자 조작에 따라 마스터장치(100)가 특정 웹사이트에 접속하여 등재된 이미지를 수집하고, 수집된 이미지로부터 객체를 인식하거나, 텍스트를 인식하기 위한 일련의 프로세스가 해당될 수 있다.Here, the process to be processed refers to a process processed by hardware mounted on the
한편, 본 발명의 일 실시예에 따르면, 하나의 처리대상프로세스를 다수의 분할프로세스로 분할하고, 분할된 분할프로세스를 각 슬레이브장치(200)에 할당하여 공동 처리하기 위한 분산 처리 기술을 적용하고 있다.Meanwhile, according to an embodiment of the present invention, a distributed processing technique is applied to divide one process to be processed into a plurality of divided processes, and to allocate the divided divided processes to each
이러한, 분산 처리 기술에 적용되는 각 슬레이브장치(200)에서는 상이한 하드웨어 규격으로 인해 처리가 불가능한 프로세스 특성이 존재할 수 있으며, 아울러,현재 처리중인 프로세스로 인해 처리 가능한 프로세스 처리용량 등의 상이한 현재상태를 가질 수 있다.Each
이로 인해, 분산 처리를 수행하는 각 슬레이브장치(200)의 현재상태를 고려하지 않은 상태에서 처리대상프로세스를 각 슬레이브장치(200)에 대응하는 분할데이터로 분할하여 할당하는 경우, 특정 슬레이브장치(200)에서 할당된 분할프로세스를 처리하지 못하거나, 처리용량 초과로 인해 정상적인 프로세스의 처리가 불가능한 문제점이 발생할 수 있다.For this reason, when the process to be processed is divided into divided data corresponding to each
이에, 본 발명의 일 실시예에서는, 분산 처리를 수행하는 분산처리그룹을 결정하고, 이러한 분산처리그룹에 속한 각 슬레이브장치(200)의 현재 상태를 확인하여 처리대상프로세스를 각 슬레이브장치(200)에 대응하는 분할프로세스로 분할하여 처리하기 위한 방안을 제안하고자 하며, 이하에서는 이를 구체적으로 설명하기로 한다.Accordingly, in an embodiment of the present invention, a distributed processing group that performs 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 process characteristics that can be processed by each
또한, 마스터장치(100)는 처리대상프로세스를 분할프로세스로 분할하는 기능을 수행한다.In addition, the
보다 구체적으로, 마스터장치(100)는 분산처리슬레이브장치(210)가 선별되면, 분산처리슬레이브장치(210) 각각의 상태정보로부터 확인되는 각 분산처리슬레이브장치(210)의 프로세스 특성 및 프로세스 처리용량을 기초로 처리대상프로세스를 각 분산처리슬레이브장치(210)에 대응하는 분할프로세스로 분할하게 된다.More specifically, the
그리고, 마스터장치(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 divided
보다 구체적으로, 분할처리부(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 to be processed corresponds to a series of processes for collecting registered images by accessing a specific website, recognizing objects from the collected images, and processing texts related to objects, and distributed processing slave devices In the state where A, B, and C are selected, as a result of checking the process characteristics, in the case of distributed processing slave device A, it has the process characteristics related to web connection as the hardware related to Ethernet for web access is specialized, and the distributed processing slave device B In the case, the hardware corresponding to the graphics processing processor (GPU) and memory are specialized and have process characteristics related to graphic processing, and in the case of the distributed processing slave device C, hardware related to CPU computing power is specialized, It can have process characteristics.
이에, 전술한 처리대상프로세스는 ①특정 웹사이트에 접속하여 등재된 이미지를 수집하기 위한 분할프로세스(분산처리슬레이브장치 A에 대응), ②수집된 이미지로부터 객체를 인식하기 위한 분할프로세스(분산처리슬레이브장치 B에 대응), 및 ③객체와 관련한 텍스트를 처리하기 위한 분할프로세스(분산처리슬레이브장치 C에 대응)로 분할될 수 있다.Accordingly, the above-described processing target process is ① a segmentation process for collecting registered images by accessing a specific website (corresponding to the distributed processing slave device A), and ② a segmenting process for recognizing an object from the collected image (distribution processing slave (Corresponding to device B), and (3) a partitioning process for processing text related to an 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 to be processed corresponds to a series of processes for collecting registered images by accessing a specific website, recognizing objects from the collected images, and processing texts related to objects, and distributed processing slave devices When A, B, C, and D are selected, the distributed processing slave device A and the distributed processing slave device B have process characteristics related to web connection, and the distributed processing slave device C has process characteristics related to graphic processing. And, in the case of the distributed processing slave device D, it may have process characteristics related to simple text processing.
이에, 전술한 처리대상프로세스는 ① 특정 웹사이트에 접속하여 등재된 이미지를 수집하기 위한 분할프로세스(분산처리슬레이브장치 A 및 분산처리슬레이브장치 B에 대응), ②수집된 이미지로부터 객체를 인식하기 위한 분할프로세스(분산처리슬레이브장치 C에 대응), 및 ③객체와 관련한 텍스트를 처리하기 위한 분할프로세스(분산처리슬레이브장치 D에 대응)로 분할될 수 있다.Accordingly, the above-described processing target process is ① a segmentation process for collecting registered images by accessing a specific website (corresponding to the distributed processing slave device A and the distributed processing slave device B), and ② for recognizing objects from the collected images. It can be divided into a dividing process (corresponding to the distributed processing slave device C), and (3) a dividing process (corresponding to the distributed processing slave device D) for processing text related to an object.
여기서, 분할프로세스 ①의 경우, 분산처리슬레이브장치 A와 분산처리슬레이브장치 B 모두에 대응되므로, 분할프로세스 ①은 분산처리슬레이브장치 A에서 가용한 프로세스 처리용량과 분산처리슬레이브장치 B에서 가용한 프로세스 처리용량을 기초로 세부프로세스인 분할프로세스 ①-1(분산처리슬레이브장치 A에 대응), 분할프로세스 ①-2(분산처리슬레이브장치 B에 대응)로 추가 분할되게 된다.Here, in the case of the divided process ①, it corresponds to both the distributed processing slave device A and the distributed processing slave device B, so the divided process ① is the process processing capacity available in the distributed processing slave device A and the process processing available in the distributed processing slave device B. Based on the capacity, it will be further divided into sub-processes: division process ①-1 (corresponding to distributed processing slave device A) and division process ①-2 (corresponding to distributed processing slave device B).
할당처리부(130)는 분할프로세스를 분산처리슬레이브장치(210)에 할당하는 기능을 수행한다.The
보다 구체적으로, 할당처리부(130)는 분할프로세스로의 분할이 완료되면, 각 분할프로세스를 각 분산처리슬레이브장치(210)에 할당(제공)함으로써, 각 분산처리슬레이브장치(210)를 통해 상기 처리대상프로세스에 대한 분산처리가 수행되도록 한다.More specifically, when the division into the division process is completed, the
통합처리부(140)는 분할프로세스의 처리 결과를 통합하는 기능을 수행한다.The
보다 구체적으로, 통합처리부(140)는, 각 분산처리슬레이브장치(210)로부터 할당된 분할프로세스의 처리 결과를 수신하고, 수신된 처리 결과를 통합함으로써, 상기 처리대상프로세스의 처리 결과로서 산출하게 된다.More specifically, the
판단부(150)는 마스터장치(100)에서의 분산 처리 가능 여부를 판단하는 기능을 수행한다.The
보다 구체적으로, 판단부(150)는, 장치선별부(110)를 통해 분산처리슬레이브장치(210)가 선별된 이후, 마스터장치(100)의 프로세스 처리용량을 기초로 상기 마스터장치에서 상기 처리대상프로세스의 분산 처리가 가능한지 여부를 판단하게 된다.More specifically, the
이때, 판단부(150)는 마스터장치(100)의 프로세스 처리용량이 임계치를 초과하여 상기 처리대상프로세스의 분산 처리가 가능한 것으로 판단되는 경우, 분할처리부(120)에서 상기 처리대상프로세스를 분할프로세스로 분할하도록 하고, 할당처리부(130)가 분할된 분할프로세스를 분산처리슬레이브장치(210)에 할당하도록 한다.At this time, when the
반면, 판단부(150)는 마스터장치(100)의 프로세스 처리용량이 임계치 미만으로 상기 처리대상프로세스의 분산 처리가 불가능한 것으로 판단되는 경우에는 상기 처리대상프로세스의 분산 처리가 가능한 상기 프로세스 처리용량을 갖는 분산처리슬레이브장치(210)를 확인하고, 상기 확인된 분산처리슬레이브장치(210)로 하여금 처리대상프로세스의 분할 및 분할프로세스의 할당 처리를 수행하도록 한다.On the other hand, when it is determined that the process processing capacity of the
여기서, 분산 처리와 관련한 분할처리부(120) 및 할당처리부(130)의 동작 제어 그리고 분산처리슬레이브장치(210)로 하여금 처리대상프로세스의 분할 및 분할프로세스의 할당 처리를 수행하도록 하는 동작의 경우, 상기 판단부(150)에서 수행하거나, 별도의 제어부(도시안됨)에 의해 수행될 수 있다.Here, in the case of the operation of 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, among a plurality of
이하에서는 도 3 및 도 4를 참조하여, 본 발명의 일 실시예에 따른 분산 처리 방법을 설명하도록 한다. 여기서, 설명의 편의를 위해 전술한 도 1 및 도 2에 도시된 구성은 해당 참조번호를 언급하여 설명하겠다. Hereinafter, a distributed processing method according to an embodiment of the present invention will be described with reference to FIGS. 3 and 4. Here, for convenience of description, the configurations shown in FIGS. 1 and 2 described above will be described with reference to the corresponding reference numerals.
우선, 도 3을 참조하여 본 발명의 일 실시예에 따른 분산 처리 시스템에서의 동작 흐름을 설명하도록 한다.First, an operation flow in a distributed processing system according to an embodiment of the present invention will be described with reference to FIG. 3.
먼저, 마스터장치(100)가 기 등록된 다수의 슬레이브장치(200) 각각에 대한 상태정보를 확인하고, 분산 처리가 가능한 상태정보를 갖는 슬레이브장치(200)만을 처리대상프로세의 분산 처리를 수행하는 분산처리슬레이브장치(210)로서 선별하게 된다(S110-S120).First, the
그리고 나서, 마스터장치(100)는 분산처리슬레이브장치(210)가 선별되면, 분산처리슬레이브장치(210) 각각의 상태정보로부터 확인되는 각 분산처리슬레이브장치(210)의 프로세스 특성 및 프로세스 처리용량 중 적어도 어느 하나를 기초로 처리대상프로세스를 각 분산처리슬레이브장치(210)에 대응하는 분할프로세스로 분할하게 된다(S130).Then, the
그런 다음, 마스터장치(100)는 분할프로세스의 분할이 완료되면, 각 분할프로세스를 각 분산처리슬레이브장치(210)에 할당(제공)함으로써, 각 분산처리슬레이브장치(210)를 통해 상기 처리대상프로세스에 대한 분산처리가 수행되도록 한다(S140-S150).Then, when the division of the division 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)로 선별할 수 있다.In this case, the
여기서, 제어부(150)는, 장치선별부(110)를 통해 분산처리슬레이브장치(210)가 선별된 이후, 마스터장치(100)의 프로세스 처리용량을 기초로 상기 마스터장치에서 상기 처리대상프로세스의 분산 처리가 가능한지 여부를 판단하게 된다(S240).Here, the
이때, 판단부(150)는 마스터장치(100)의 프로세스 처리용량이 임계치 미만으로 상기 처리대상프로세스의 분산 처리가 불가능한 것으로 판단되는 경우에는 상기 처리대상프로세스의 분산 처리가 가능한 상기 프로세스 처리용량을 갖는 분산처리슬레이브장치(210)를 확인하고, 상기 확인된 분산처리슬레이브장치(210)로 하여금 처리대상프로세스의 분할 및 분할프로세스의 할당 처리를 수행하도록 한다(S310).At this time, the
그런 다음, 분할처리부(120)가 분산처리슬레이브장치(210)의 상태정보를 기초로 각 분산처리슬레이브장치(210)에서 처리 가능한 프로세스 특성을 확인하고, 처리대상프로세스를 각 분산처리슬레이브장치(210)의 프로세스 특성에 대응하는 분할프로세스로 분할하게 된다(S260).Then, the
이때, 분산처리슬레이브장치(210)에서 동일한 프로세스 특성을 가짐에 따라 특정 분할프로세스의 처리가 가능한 다수의 분산처리슬레이브장치(210)가 존재하는 경우, 분할처리부(120)는 특정 분할프로세스에 대응하는 다수의 분산처리슬레이브장치(210) 각각에서 처리 가능한 프로세스 처리용량을 기초로 상기 특정 분할프로세스를 분할함으로써, 상기 다수의 분산처리슬레이브장치(210) 각각에 상기 특정 분할프로세스에서 분할된 프로세스가 할당될 수 있도록 한다(S270-S280).At this time, if 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 an embodiment of the present invention, a distributed
한편, 여기에 제시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Meanwhile, the steps of the method or algorithm described in connection with the embodiments presented herein may be directly implemented in hardware or implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. 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 specially designed and configured for the present invention, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The above-described hardware device may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.Although the present invention has been described in detail with reference to preferred embodiments so far, the present invention is not limited to the above-described embodiments, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the following claims. Anyone of ordinary skill in the art will say that the technical idea of the present invention extends to the range in which various modifications or modifications are possible.
본 발명의 분산 처리 시스템 및 그 방법, 그리고 이에 적용되는 장치에 따르면, 다수의 슬레이브장치 중 처리대상프로세스의 분산 처리가 가능한 분산처리슬레이브장치를 선별하고, 선별된 분산처리슬레이브장치의 상태정보에 적합하도록 상기 처리대상프로세스를 분할프로세스로 분할하여 처리한다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.According to the distributed processing system and method of the present invention, and the apparatus applied thereto, a distributed processing slave device capable of distributed processing of a process to be processed is selected from among a plurality of slave devices, and is suitable for status information of the selected distributed processing slave device. In that the process to be processed is divided into divided processes to be processed, the possibility of marketing or sales of the applied device is sufficient as well as the possibility of marketing or sales of the applied device, not only the use of the related technology, as it exceeds the limitations of the existing technology. It is an invention with industrial applicability because it can be used.
100: 마스터장치
110: 장치선별부 120: 분할처리부
130: 할당처리부 140: 통합처리부
150: 제어부
200: 슬레이브장치
210: 분산처리슬레이브장치100: master device
110: device selection unit 120: division processing unit
130: allocation processing unit 140: integrated processing unit
150: control unit
200: slave device
210: distributed processing slave device
Claims (18)
상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 적어도 두개의 분할프로세스로 분할하는 분할처리부; 및
상기 적어도 두개의 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 할당처리부를 포함하며,
상기 분할처리부는,
상기 상태정보로부터 확인되는 상기 분산처리슬레이브장치의 프로세스 특성을 기초로 상기 처리대상프로세스를 상기 적어도 두개의 분할프로세서로 분할하며,
상기 적어도 두개의 분할프로세스 중 하나의 특정 분할프로세스에 대응하는 프로세스 특성을 갖는 분산처리슬레이브장치가 적어도 두개인 경우, 상기 적어도 두개의 분산처리슬레이브장치 각각이 갖는 상기 프로세스 처리용량을 기초로 상기 하나의 특정 분할프로세스를 추가 분할하는 것을 특징으로 하는 마스터장치.A device selection unit for selecting a distributed processing slave device capable of distributed processing of a process to be processed from among a plurality of slave devices;
A division processing unit for dividing the processing target process into at least two division processes based on state information of the distributed processing slave device; And
And an allocation processing unit configured to allocate and process the at least two divided processes to each of the distributed processing slave devices,
The division processing unit,
Dividing the processing target process into the at least two divided processors based on the process characteristics of the distributed processing slave device identified from the state information,
When there are at least two distributed processing slave devices having process characteristics corresponding to one specific partitioning process among the at least two partitioning processes, the one of the at least two distributed processing slave devices is A master device, characterized in that the specific division process is further divided.
상기 분산처리슬레이브장치는,
상기 다수의 슬레이브장치 각각의 상기 상태정보를 기초로 선별되며,
상기 장치선별부는,
상기 다수의 슬레이브장치 각각의 상기 상태정보를 확인하여, 상기 처리대상프로세스의 분산 처리에 적합한 상기 상태정보를 갖는 슬레이브장치를 상기 분산처리슬레이브장치로 선별하는 것을 특징으로 하는 마스터장치.The method of claim 1,
The distributed processing slave device,
It is selected based on the status information of each of the plurality of slave devices,
The device selection unit,
And selecting a slave device having the state information suitable for distributed processing of the processing target process as the distributed processing slave device by checking the state information of each of the plurality of slave devices.
상기 분산처리슬레이브장치의 상태정보를 기초로 상기 처리대상프로세스를 적어도 두개의 분할프로세스로 분할하는 분할처리단계; 및
상기 적어도 두개의 분할프로세스를 상기 분산처리슬레이브장치 각각에 할당하여 처리하도록 하는 할당처리단계를 포함하며,
상기 분할처리단계는,
상기 상태정보로부터 확인되는 상기 분산처리슬레이브장치의 프로세스 특성을 기초로 상기 처리대상프로세스를 상기 적어도 두개의 분할프로세서로 분할하며,
상기 적어도 두개의 분할프로세스 중 하나의 특정 분할프로세스에 대응하는 프로세스 특성을 갖는 분산처리슬레이브장치가 적어도 두개인 경우, 상기 적어도 두개의 분산처리슬레이브장치 각각이 갖는 상기 프로세스 처리용량을 기초로 상기 하나의 특정 분할프로세스를 추가 분할하는 것을 특징으로 하는 마스터장치의 동작 방법.A device selection step of selecting a distributed processing slave device capable of distributed processing of a processing target process among a plurality of slave devices;
A division processing step of dividing the processing target process into at least two division processes based on state 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,
The division processing step,
Dividing the processing target process into the at least two divided processors based on the process characteristics of the distributed processing slave device identified from the state information,
When there are at least two distributed processing slave devices having process characteristics corresponding to one specific partitioning process among the at least two partitioning processes, the one of the at least two distributed processing slave devices is A method of operating a master device, characterized in that the specific division process is further divided.
상기 분산처리슬레이브장치는,
상기 다수의 슬레이브장치 각각의 상기 상태정보를 기초로 선별되며,
상기 장치선별단계는,
상기 다수의 슬레이브장치 각각의 상기 상태정보를 확인하여, 상기 처리대상프로세스의 분산 처리에 적합한 상기 상태정보를 갖는 슬레이브장치를 상기 분산처리슬레이브장치로 선별하는 것을 특징으로 하는 마스터장치의 동작 방법.The method of claim 10,
The distributed processing slave device,
It is selected based on the status information of each of the plurality of slave devices,
The device selection step,
And selecting a slave device having the state information suitable for distributed processing of the process to be processed as the distributed processing slave device by checking the state information of each of the plurality of 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 KR20140092599A (en) | 2014-07-24 |
KR102183274B1 true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102099157B1 (en) * | 2018-06-27 | 2020-04-09 | (주)이지서티 | Method and apparatus for pre-processing big data |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005018266A (en) | 2003-06-24 | 2005-01-20 | Toyota Keeramu:Kk | Parallel distributed processing system, nc data creation method, and nc data creation program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100497384B1 (en) * | 2003-01-28 | 2005-06-23 | 삼성전자주식회사 | Distributed processing system using virtual machine, and method thereof |
KR100828480B1 (en) * | 2005-11-29 | 2008-05-13 | 삼성전자주식회사 | Method for distributed processing of data in mobile communication terminal and distributed system |
KR101400286B1 (en) * | 2008-01-22 | 2014-05-26 | 삼성전자주식회사 | Method and apparatus for migrating task in multi-processor system |
US8307198B2 (en) * | 2009-11-24 | 2012-11-06 | Advanced Micro Devices, Inc. | Distributed multi-core memory initialization |
-
2013
- 2013-01-16 KR KR1020130004834A patent/KR102183274B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005018266A (en) | 2003-06-24 | 2005-01-20 | Toyota Keeramu:Kk | Parallel distributed processing system, nc data creation method, and nc data creation program |
Also Published As
Publication number | Publication date |
---|---|
KR20140092599A (en) | 2014-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190325554A1 (en) | Resource-utilization-based workload re-allocation system | |
US10048976B2 (en) | Allocation of virtual machines to physical machines through dominant resource assisted heuristics | |
CN111406250B (en) | Provisioning using prefetched data in a serverless computing environment | |
US9805140B2 (en) | Striping of directed graphs and nodes with improved functionality | |
JP6241300B2 (en) | Job scheduling apparatus, job scheduling method, and job scheduling program | |
US20150295970A1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
US9471394B2 (en) | Feedback system for optimizing the allocation of resources in a data center | |
CN109684071B (en) | Distribution of arbitrary workload among super-converged nodes | |
CN103795804A (en) | Storage resource scheduling method and storage calculation system | |
CN105190567A (en) | System and method for managing storage system snapshots | |
CN107864211B (en) | Cluster resource dispatching method and system | |
CN105183565A (en) | Computer and service quality control method and device | |
CN103763130A (en) | Method, device and system for managing large-scale cluster | |
CN105607952B (en) | Method and device for scheduling virtualized resources | |
CN103927230A (en) | Memory usage feedback method and device | |
CN114416352A (en) | Computing resource allocation method and device, electronic equipment and storage medium | |
US9612867B2 (en) | Apparatus and method for data partition and allocation in heterogeneous multi-processor environment | |
US20190332328A1 (en) | Storage Controller and IO Request Processing Method | |
JP2014120097A (en) | Information processor, program, and information processing method | |
CN107533435A (en) | The distribution method and storage device of memory space | |
CN104580194A (en) | Virtual resource management method and device oriented to video applications | |
CN112148468A (en) | Resource scheduling method and device, electronic equipment and storage medium | |
US8819239B2 (en) | Distributed resource management systems and methods for resource management thereof | |
US11422858B2 (en) | Linked workload-processor-resource-schedule/processing-system—operating-parameter workload performance system | |
CN104571931A (en) | I/O (input/output) request combination scheduling system and method based on system resources |
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) |