KR100795593B1 - Grid computing system using dynamic grading and grouping, and data processing method thereof - Google Patents

Grid computing system using dynamic grading and grouping, and data processing method thereof Download PDF

Info

Publication number
KR100795593B1
KR100795593B1 KR1020050041694A KR20050041694A KR100795593B1 KR 100795593 B1 KR100795593 B1 KR 100795593B1 KR 1020050041694 A KR1020050041694 A KR 1020050041694A KR 20050041694 A KR20050041694 A KR 20050041694A KR 100795593 B1 KR100795593 B1 KR 100795593B1
Authority
KR
South Korea
Prior art keywords
participant
node
participant node
sub
grid computing
Prior art date
Application number
KR1020050041694A
Other languages
Korean (ko)
Other versions
KR20060119115A (en
Inventor
박기진
이진성
최석호
Original Assignee
아주대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아주대학교산학협력단 filed Critical 아주대학교산학협력단
Priority to KR1020050041694A priority Critical patent/KR100795593B1/en
Publication of KR20060119115A publication Critical patent/KR20060119115A/en
Application granted granted Critical
Publication of KR100795593B1 publication Critical patent/KR100795593B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Abstract

본 발명은 각 참여자 노드의 자원 정보에 따른 각 참여자 노드의 신인도를 이용하여 해당 참여자 노드의 순위를 부여하고 상기 순위에 따라 각 참여자 노드를 동일 서브 작업을 수행하는 참여 그룹으로 그룹핑 하는 자원 관리부와, 그리드 컴퓨팅 작업을 하나 이상의 서브 작업으로 나누고 상기 참여 그룹별로 해당 서브 작업을 각 참여자 노드에게 요청하는 작업 관리부를 포함하고, 상기 자원 정보는, 상기 참여자 노드의 시스템 사양 정보를 포함하는 정적 정보 요소와, 상기 참여자 노드의 수행 도중 발생하는 정보를 포함하는 동적 정보 요소와, 상기 정적 정보 요소와 상기 동적 정보 요소를 이용하여 계산되는 신인도를 포함하여 구성되는 것을 특징으로 하는 동적 순위 매김 및 그룹핑을 이용한 그리드 컴퓨팅 시스템을 제공한다.The present invention provides a resource management unit for assigning a rank of a corresponding participant node by using the credibility of each participant node according to resource information of each participant node, and grouping each participant node into a participation group performing the same sub-work according to the rank; A task management unit for dividing a grid computing task into one or more sub-tasks and requesting each participant node a corresponding sub-task for each of the participating groups, wherein the resource information includes a static information element including system specification information of the participant node; Grid information using dynamic ranking and grouping, comprising dynamic information elements including information generated during the execution of the participant node, and newness calculated using the static information elements and the dynamic information elements. Provide a system.

본 발명에 의하면, 마스터 노드에서 임의의 그리드 컴퓨팅 작업을 수행할 때 각 참여자 노드의 성능을 반영하는 신인도에 따라, 가능한한 신인도가 높은 참여자 노드에게 그리드 컴퓨팅 작업을 할당함으로써, 오버헤드를 감소시키고 각 참여자 노드의 유효한 자원을 효과적으로 활용할 수 있다. According to the present invention, according to the newness reflecting the performance of each participant node when performing any grid computing work in the master node, by allocating the grid computing work to the high-confidence participant nodes as much as possible, the overhead is reduced and each Effective resources of participant nodes can be utilized effectively.

그리드 컴퓨팅, 신인도, 동적 정보, 정적 정보, 할당, 순위, 랭킹 Grid Computing, Rfid, Dynamic Information, Static Information, Allocation, Ranking, Ranking

Description

동적 순위 매김 및 그룹핑을 이용한 그리드 컴퓨팅 시스템 및 그 데이터 처리 방법{grid computing system using dynamic grading and grouping, and data processing method thereof}Grid computing system using dynamic grading and grouping, and data processing method

도 1은 본 발명의 일실시예에 따른 그리드 컴퓨팅을 위한 순위 매김 및 그룹핑을 수행하기 위한 계층적 마스터-참여자 그리드 컴퓨팅 시스템의 개략적인 구성도. 1 is a schematic diagram of a hierarchical master-participant grid computing system for performing ranking and grouping for grid computing according to one embodiment of the present invention;

도 2는 본 발명의 일실시예에 따른 마스터 노드의 개략적인 구성도.2 is a schematic structural diagram of a master node according to an embodiment of the present invention;

도 3 및 도 4는 본 발명의 일실시예에 따른 마스터 노드의 그리드 컴퓨팅 수행과정을 보여주기 위한 순서도.3 and 4 are flowcharts for showing a grid computing process of the master node according to an embodiment of the present invention.

<도면 주요 부분에 대한 부호의 설명> <Explanation of symbols for the main parts of the drawings>

100 : 마스터 노드 200-700 : 참여자 노드100: master node 200-700: participant node

110 : 자원 정보 저장부 111 : 자원 정보 데이터베이스110: resource information storage unit 111: resource information database

112 : 갱신 정보 데이터베이스 120 : 자원 관리부112: update information database 120: resource management unit

121 : 자원 순위 매김부 122 : 자원 그룹 분류부121: resource ranking unit 122: resource group classification unit

123 : 자원 모니터 130 : 작업 관리부123: Resource Monitor 130: Job Management Unit

131 : 작업 리시버 132 : 작업 스케줄러131: Task Receiver 132: Task Scheduler

133 : 작업 요청부133: work request unit

본 발명은 그리드 컴퓨팅(Grid Computing)에 관한 것으로, 특히 적어도 하나 이상의 컴퓨터 노드가 네트워크로 상호 연결되어 구성된 그리드 시스템에서 하나의 컴퓨터 노드(이하, 마스터 노드라 칭함)가 다양하고 이질적인 자원(이하, 참여자 노드라 칭함)을 이용하여 임의의 그리드 컴퓨팅 작업을 수행하기 위해 참여자 노드에게 서브 작업을 할당함에 있어서, 참여자 노드의 정적 정보 요소와 동적 정보 요소를 이용하여 각 참여자 노드에게 순위를 부여하고 해당 순위에 따라 그룹핑하여 해당 그리드 컴퓨팅 작업을 할당하는 그리드 컴퓨팅을 위한 자원 순위 부여 장치 및 그 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to grid computing, and in particular, in a grid system in which at least one computer node is interconnected by a network, one computer node (hereinafter referred to as a master node) is a diverse and heterogeneous resource (hereinafter referred to as a participant). In assigning subtasks to participant nodes to perform any grid computing task (called nodes), the participant node's static and dynamic information elements are used to rank and rank each participant node. The present invention relates to a resource ranking apparatus for grid computing and a method for allocating corresponding grid computing tasks.

종래에는 마스터 노드가 이질적인 그리드 컴퓨팅 환경에서 네트워크로 연결된 참여자 노드를 이용하여 임의의 그리드 컴퓨팅을 수행하고자할 때, 각 참여자 노드의 발견 및 서브 작업을 할당하는 선택은 Set-extended ClassAds 언어나 Set-matching 알고리즘을 이용하여 참여자 노드를 선택하여 서브 작업을 할당하였다. Traditionally, when a master node wants to perform arbitrary grid computing using networked participant nodes in a heterogeneous grid computing environment, the choice of discovering and subtasking each participant node is either set-extended ClassAds language or set-matching. The sub-tasks were assigned by selecting participant nodes using the algorithm.

그러나 Set-extended ClassAds 언어나 Set-matching 알고리즘을 이용하여 참여자 노드를 선택할 경우, 참여자 노드의 특성에 대한 정보가 부족하기 때문에 마스터가 다양하고 이질적인 참여자 노드를 적절하게 이용하여 임의의 그리드 컴퓨팅이 수행하는 과정을 정밀하게 모델링하기에는 부족하다. However, when selecting a participant node using the Set-extended ClassAds language or a set-matching algorithm, there is a lack of information on the characteristics of the participant node. It is not enough to model the process precisely.

또한 마스터 노드는 임의 참여자 노드가 존재하는 데도 불구하고 정보 부족으로 인해 해당 참여자가 존재하지 않는 것으로 판단하여 그리드 컴퓨팅 작업에 참여시키지 못하는 오버헤드가 발생하기도 한다.In addition, the master node may determine that the participant does not exist due to lack of information despite the presence of a random participant node, resulting in the overhead of not participating in the grid computing task.

또한, 종래에는 무작위 방식으로 각 참여자 노드에게 그리드 컴퓨팅 작업을 할당함에 있어서, 각 참여자 노드가 서브 작업을 수행한 실행시간에 관한 정보를 이용하여 다시 서브 작업을 할당하는 Random & Average의 방법과 패리티 비트를 추가하여 검출된 오류에 관한 정보를 이용하여 다시 서브 작업을 할당하는 패리티(Parity)기법이 있다. 그리고 체크섬(Checksum)을 이용하여 정확성을 증가시키는 결함허용(Fault Tolerance) 방법, 페로몬이라는 참여자 노드의 이력 정보를 이용하여 서브 작업에 참여자 노드를 할당하는 Ant 알고리즘 방법이 사용되고 있다. In addition, in the conventional method of allocating grid computing tasks to each participant node in a random manner, the method and the parity bit of the Random & Average to re-assign subtasks using information on the execution time of each participant node performed the subtasks. There is a parity technique for allocating sub-tasks again using information on the detected error by adding. In addition, a fault tolerance method using a checksum to increase accuracy and an Ant algorithm method for allocating a participant node to subtasks using historical information of a participant node called pheromones are used.

종래의 Random & Average방법은 단순히 서브 작업 처리에 소요되는 시간만을 적용하고, 패리티 기법은 짝수 개의 비트가 변화하는 경우 오류를 발견하지 못한다.The conventional Random & Average method simply applies the time required for sub-task processing, and the parity technique does not find an error when the even number of bits changes.

결함허용 방법은 악의적인 참여자 노드의 의도적인 공격(Malicious Attack)에 대해서는 약하다. The fault tolerance method is weak against intentional attacks of malicious participant nodes.

Ant 알고리즘 방법은 에러율이나 응답시간에 대한 요소는 감안하지 않고 결과의 정확도만을 고려하여 페로몬 정보를 갱신하는데 초점이 맞추어져 있기 때문에, 그리드 컴퓨팅 자원에 관한 선택 및 관리에 있어서 효과적이지 못하다.The Ant algorithm method is not effective in selecting and managing grid computing resources because it is focused on updating pheromone information by considering only the accuracy of the results without considering the factors of error rate and response time.

본 발명은 마스터 노드에서 임의의 그리드 컴퓨팅 작업을 요청받는 경우, 그리드 컴퓨팅 작업을 수행하기 위해 자신의 노드와 일차적으로 네트워킹 되어있는 참여자 노드들의 성능을 반영하여 해당 그리드 컴퓨팅 작업을 할당 및 수행하는 동적 순위 매김 및 그룹핑을 이용한 그리드 컴퓨팅 시스템 및 그 데이터 처리 방법을 제공하는데 목적이 있다.According to the present invention, when a grid node receives a request for a grid computing task, the dynamic ranking allocates and performs the grid computing task by reflecting the performance of the participants nodes that are primarily networked with their own nodes to perform the grid computing task. It is an object of the present invention to provide a grid computing system using pagination and grouping and a data processing method thereof.

상기 목적을 달성하기 위한 본 발명의 일측면에 의하면, 각 참여자 노드의 자원 정보에 따른 각 참여자 노드의 신인도를 이용하여 해당 참여자 노드의 순위를 부여하고 상기 순위에 따라 각 참여자 노드를 동일 서브 작업을 수행하는 참여 그룹으로 그룹핑 하는 자원 관리부와, 그리드 컴퓨팅 작업을 하나 이상의 서브 작업으로 나누고 상기 참여 그룹별로 해당 서브 작업을 각 참여자 노드에게 요청하는 작업 관리부를 포함하고, 상기 자원 정보는, 상기 참여자 노드의 시스템 사양 정보를 포함하는 정적 정보 요소와, 상기 참여자 노드의 수행 도중 발생하는 정보를 포함하는 동적 정보 요소와, 상기 정적 정보 요소와 상기 동적 정보 요소를 이용하여 계산되는 신인도를 포함하여 구성되는 것을 특징으로 하는 동적 순위 매김 및 그룹핑을 이용한 그리드 컴퓨팅 시스템을 제공한다.According to an aspect of the present invention for achieving the above object, by using the confidence of each participant node according to the resource information of each participant node to rank the corresponding participant node and perform the same sub-tasks for each participant node according to the rank A resource manager for grouping into a participating group to perform, and a task manager for dividing a grid computing task into one or more sub-tasks and requesting each of the participant nodes a corresponding sub-task for each of the participating groups, wherein the resource information includes: A static information element including system specification information, a dynamic information element including information generated during the execution of the participant node, and a credibility calculated using the static information element and the dynamic information element. Grid with dynamic ranking and grouping It provides a computing system.

바람직하게 상기 그리드 컴퓨팅 시스템은 자신의 노드와 일차적으로 네트워킹 되어있는 하나 이상의 참여자 노드의 자원 정보를 저장하는 자원 정보 저장부를 더 포함할 수 있다.Preferably, the grid computing system may further include a resource information storage unit for storing resource information of at least one participant node networked primarily with its own node.

삭제delete

바람직하게 상기 작업 관리부는 상기 그리드 컴퓨팅 작업을 큐에 저장하는 작업 리시버와, 상기 큐에 저장된 상기 그리드 컴퓨팅 작업을 하나 이상의 서브 작업으로 나누고 각 서브 작업을 수행하는 그룹내의 각 참여자 노드와 해당 서브 작업을 매칭하는 작업 스케줄러와, 상기 매칭된 서브 작업을 해당 참여 그룹의 각 참여자 노드에게 요청하는 작업 요청부를 포함할 수 있다.Preferably, the task manager divides the grid computing task into a queue, a task receiver, divides the grid computing tasks stored in the queue into one or more sub-tasks, and divides the sub-tasks with each participant node in the group performing the sub-tasks. The task scheduler may include a matching task scheduler, and a task requesting unit requesting the matched sub-tasks to each participant node of the corresponding participation group.

바람직하게 상기 자원 관리부는 각 참여자 노드의 자원 정보에 따른 상기 신인도를 이용하여 참여자 노드의 순위를 부여하는 자원 순위 매김부와, 상기 순위를 이용하여 각 참여자 노드를 동일 서브 작업을 수행하는 참여 그룹으로 그룹핑하는 자원 그룹 분류부와, 각 참여자 노드로부터 해당 서브 작업의 결과를 입력받아 각 서브 작업의 정확한 결과물을 추출하고 각 참여자 노드의 동적 정보 값을 계산하고 신인도를 갱신하는 자원 모니터를 포함할 수 있다.Preferably, the resource management unit is a resource ranking unit for assigning a rank of a participant node by using the credibility according to the resource information of each participant node, and a participant group performing the same sub-working of each participant node using the rank. It may include a resource group classification unit for grouping, and a resource monitor that receives the results of the corresponding sub-work from each participant node, extracts the exact output of each sub-work, calculates dynamic information values of each participant node, and updates the credibility. .

본 발명의 다른 측면에 의하면, 그리드 컴퓨팅 작업 을 요청받아 하나 이상의 서브 작업으로 나누는 단계와, 상기 나눠진 서브 작업을 하나 이상의 참여자 노드에게 요청하기 위해 각 참여자 노드의 자원 정보에 따른 신인도를 이용하여 각 참여자 노드의 순위를 부여하는 단계와, 상기 부여된 순위에 따라 각 참여자 노드를 동일 서브 작업을 수행하는 참여 그룹으로 그룹핑하는 단계와, 상기 참여 그룹별로 해당 서브 작업을 해당 참여 그룹내의 모든 참여자 노드에게 요청하는 단계를 포함하고, 상기 자원 정보는, 상기 참여자 노드의 시스템 사양 정보를 포함하는 정적 정보 요소와, 상기 참여자 노드의 수행 도중 발생하는 정보를 포함하는 동적 정보 요소와, 상기 정적 정보 요소와 상기 동적 정보 요소를 이용하여 계산되는 신인도를 포함하는 것을 특징으로 하는 동적 순위 매김 및 그룹핑을 이용한 그리드 컴퓨팅 시스템의 데이터 처리 방법을 제공한다. According to another aspect of the present invention, receiving a grid computing task divided into one or more sub-tasks, and each participant using the credibility according to the resource information of each participant node to request the divided sub-tasks to one or more participant nodes. Ranking the nodes, grouping each participant node into a participant group performing the same subtask according to the given rank, and requesting all the participant nodes in the participant group the subtask for each participant group. And the resource information includes a static information element including system specification information of the participant node, a dynamic information element including information generated during execution of the participant node, the static information element and the dynamic information. Including rfid calculated using information elements It provides a data processing method of a grid computing system using dynamic ranking and grouping.

본 발명의 또 다른 측면에 의하면, 그리드 컴퓨팅 작업을 요청받아 하나 이상의 서브 작업으로 나누는 단계와, 상기 나눠진 서브 작업을 하나 이상의 참여자 노드에게 요청하기 위해 각 참여자 노드의 자원 정보에 따른 신인도를 이용하여 각 참여자 노드의 순위를 부여하는 단계와, 상기 부여된 순위에 따라 각 참여자 노드를 동일 서브 작업을 수행하는 참여 그룹으로 그룹핑하는 단계와, 상기 참여 그룹별로 해당 서브 작업을 해당 참여 그룹내의 모든 참여자 노드에게 요청하는 단계와, 상기 요청된 서브 작업에 해당하는 결과물을 해당 참여 그룹내의 임의의 참여자로부터 입력받는 경우, 해당 참여자 노드의 응답시간율과 정확도를 계산하며 상기 서브 작업의 정확한 결과물을 추출하는 단계와, 상기 단계에서 요청된 서브 작업에 해당하는 결과물을 해당 참여 그룹내의 임의의 참여자 노드로부터 입력받지 못하는 경우, 해당 참여자 노드의 실패율을 계산하는 단계와, 상기 응답시간율, 상기 정확도, 상기 실패율을 이용하여 상기 참여 그룹의 각 참여자 노드의 신인도를 계산하여 기설정된 신인도를 갱신하는 단계를 포함하는 것을 특징으로 하는 동적 순위 매김 및 그룹핑을 이용한 그리드 컴퓨팅 시스템의 데이터 처리 방법을 제공한다.According to another aspect of the present invention, the step of receiving a grid computing task divided into one or more sub-tasks, and using the credibility according to the resource information of each participant node to request the divided sub-tasks to one or more participant nodes, Ranking the participant nodes, grouping each participant node into a participant group performing the same subtask according to the given rank, and for each participant group, the subtasks to all participant nodes in the participant group. Requesting, and when a result corresponding to the requested sub-work is input from any participant in the participant group, calculating a response time rate and accuracy of the participant node and extracting an accurate result of the sub-work; , The output corresponding to the subtask requested in the step Calculating a failure rate of the participant node if the input is not received from any participant node in the participant group, and calculating the reliability of each participant node of the participant node using the response time rate, the accuracy, and the failure rate. It provides a data processing method of a grid computing system using dynamic ranking and grouping, characterized in that it comprises the step of updating the predetermined confidence.

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

도 1은 본 발명의 일실시예에 따른 그리드 컴퓨팅을 위한 순위 매김 및 그룹핑을 수행하기 위한 계층적 마스터-참여자(Hierarchical Master-Worker) 시스템의 개략적인 구성도이다. 1 is a schematic structural diagram of a hierarchical master-worker system for performing ranking and grouping for grid computing according to an embodiment of the present invention.

본 발명의 일실시예로서 사용된 계층적 마스터-참여자 시스템에서의 모든 노드는 그리드 컴퓨팅 작업을 수행하기 위해 그리드 컴퓨팅 작업을 요청받아 자신의 노드와 일차적으로 네트워킹 되어 있는 하나 이상의 이질적인 참여자 노드에게 그리드 컴퓨팅 작업의 서브 작업을 요청하는 마스터의 역할(이하, 마스터 역할이라 칭함) 또는 자신에게 요청된 서브 작업을 수행하는 참여자의 역할(이하, 참여자 역할이라 칭함)을 한다.All nodes in the hierarchical master-participant system used as an embodiment of the present invention are requested to grid computing tasks to perform grid computing tasks, and grid computing to one or more heterogeneous participant nodes networked primarily with their own nodes. It plays a role of a master (hereinafter referred to as a master role) requesting a subtask of a task or a participant's role (hereinafter referred to as a participant role) that performs a subtask requested to itself.

도 1을 참조하면, 계층적 마스터-참여자 시스템은 그리드 컴퓨팅 작업을 요청받는 마스터 노드(100)와, 마스터 노드(100)와 일차적으로 네트워킹 되어 있으며 마스터 노드(100)로부터 해당 그리드 컴퓨팅 작업의 서브 작업을 요청받는 하나 이상의 참여자 노드(200 내지 400)를 포함한다.Referring to FIG. 1, a hierarchical master-participant system is primarily networked with a master node 100 that is requested for grid computing tasks, and a master node 100, and subtasks of the grid computing tasks from the master node 100. It includes one or more participant nodes (200 to 400) is requested.

또한 계층적 마스터-참여자 시스템은 참여자 노드(200 내지 400) 중 어느 하나의 노드(400)가 참여자 역할과 마스터 역할을 수행하는 경우, 마스터 노드(100)로부터 서브 작업을 요청받는 해당 참여자 노드(400)와, 해당 참여자 노드(400)와 일차적으로 네트워킹 되어 있으며 해당 참여자 노드(400)로부터 해당 서브 작업의 나눠진 작업을 요청받는 하나 이상 참여자 노드(500 내지 700)로 구성된다.In addition, the hierarchical master-participant system is a participant node 400 that is requested to perform sub tasks from the master node 100 when any one node 400 of the participant nodes 200 to 400 performs a participant role and a master role. And one or more participant nodes 500 to 700 that are primarily networked with the corresponding participant node 400 and receive a divided task of the sub-work from the participant node 400.

다시 말하면, 먼저 마스터 노드(100)는 그리드 컴퓨팅 작업을 서브 작업으로 나누고 자신의 노드와 일차적으로 네트워킹이 되어 있는 하나 이상의 참여자 노드(200 내지 400)에게 해당 서브 작업을 요청한다.In other words, the master node 100 first divides the grid computing tasks into subtasks and requests the subtasks from one or more participant nodes 200 to 400 that are primarily networked with their nodes.

그리고 하나 이상의 참여자 노드(200 내지 400)는 요청받은 서브 작업을 수행하여 마스터 노드(100)에게 결과물을 출력하거나 또는 요청받은 서브 작업을 다시 나눈 후 자신의 노드와 일차적으로 네트워킹 되어 있는 하나 이상의 노드(500 내지 700)에게 해당 나눠진 작업을 요청한다.The one or more participant nodes 200 to 400 perform the requested sub-tasks to output the result to the master node 100 or divide the requested sub-work again and then at least one node that is primarily networked with its own node ( 500 to 700) to request the divided work.

결과적으로 마스터 노드(100)는 하나 이상의 참여자 노드(200 내지 400)로부터 각 서브 작업에 해당하는 결과물을 입력받고 입력된 결과물을 병합하여 그리드 컴퓨팅 작업의 결과물로 출력한다.As a result, the master node 100 receives a result corresponding to each sub task from one or more participant nodes 200 to 400, merges the input result, and outputs the result of the grid computing task.

이와 같이 계층적 마스터-참여자 그리드 컴퓨팅 시스템에서의 모든 노드(100 내지 700)는 요청받은 작업을 수행하는 참여자 역할과 요청받은 작업을 서브 작업으로 나눈 후 자신의 노드와 일차적으로 네트워킹되어 있는 또 다른 참여자 노드에게 서브 작업을 요청하는 마스터 역할을 병행한다.As such, every node 100-700 in the hierarchical master-participant grid computing system has a participant role that performs the requested task and another participant that is primarily networked with its node after dividing the requested task into subtasks. Parallel to the master role requesting subtasks to nodes.

이때, 계층적 마스터-참여자 그리드 컴퓨팅 환경에서의 임의 노드는 마스터 역할을 수행함에 있어서 자신의 노드와 일차적으로 네트워킹 되어 있는 하나 이상의 참여자들만을 인식한다. At this point, any node in the hierarchical master-participant grid computing environment recognizes only one or more participants who are primarily networked with their node in performing the master role.

따라서 계층적 마스터-참여자 그리드 컴퓨팅 시스템에서 단일 노드 외에도 단일 클러스터 시스템이 포함되어 있을 경우 해당 단일 클러스터 시스템을 구성하는 모든 노드를 인식하지 못하더라도 해당 클러스터 시스템을 하나의 단일 노드로 인식함으로써, 참여자 노드의 관리에 있어서 확장성이 높다.Therefore, if a hierarchical master-participant grid computing system includes a single cluster system in addition to a single node, the cluster system is recognized as a single node even though all nodes that constitute the single cluster system are not recognized. It is highly scalable in management.

도 2는 본 발명의 일실시예에 따른 마스터 노드(100)의 수행과정을 보여주기 위한 그리드 컴퓨팅 시스템의 개략적인 구성도이다.2 is a schematic structural diagram of a grid computing system for showing a process of performing a master node 100 according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일실시예에 따른 그리드 컴퓨팅 시스템은 그리드 컴퓨팅 작업을 요청받아 서브 작업으로 나누는 마스터 노드(100)와, 마스터 노드(100)와 일차적으로 네트워크 연결되어 있으며 마스터 노드(100)로부터 서브 작업을 요청받아 수행하는 하나 이상의 참여자 노드(200 내지 400)를 포함하고 있다.Referring to FIG. 2, the grid computing system according to an embodiment of the present invention has a master node 100 that receives a grid computing task and divides the sub-task into a sub-task, and is primarily connected to the master node 100 and has a master node ( It includes one or more participant nodes (200 to 400) to perform a sub-work request from the 100.

또한 그리드 컴퓨팅 시스템은 하나 이상의 참여자 노드(200 내지 400)의 자원 정보를 저장하는 자원 정보 저장부(110)를 포함하고 있다.The grid computing system also includes a resource information storage unit 110 that stores resource information of one or more participant nodes 200 to 400.

이때, 자원 정보 저장부(110)는 마스터 노드(100)에 장착되어 마스터 노드(100)와 일차적으로 네트워킹 되어 있는 하나 이상의 참여자 노드(200 내지 400)의 자원 정보가 저장되거나 또는 그리드 컴퓨팅 시스템의 임의 노드로 별도로 배치되어 그리드 컴퓨팅 시스템의 모든 노드의 자원 정보를 저장할 수 있다.At this time, the resource information storage unit 110 is stored in the master node 100, the resource information of at least one participant node (200 to 400) that is primarily networked with the master node 100 is stored or any of the grid computing system It can be arranged separately as a node to store resource information of all nodes of the grid computing system.

본 실시예에서는 자원 정보 저장부(110)가 마스터 노드(100)에 장착되어 일차적으로 네트워킹 되어 있는 하나 이상의 참여자 노드(200 내지 400)의 자원 정보를 저장하고 있는 경우이다.In the present embodiment, the resource information storage unit 110 stores resource information of one or more participant nodes 200 to 400 that are primarily networked and mounted on the master node 100.

이때, 자원 정보는 각 참여자 노드(200 내지 400)의 정적 정보 요소와 동적 정보 요소와 신인도가 포함된다. At this time, the resource information includes the static information element, dynamic information element and the credibility of each participant node (200 to 400).

정적 정보 요소는 각 참여자 노드(200 내지 400)의 시스템 사양에 대한 정보로서, 식별아이디, 운영체제, 중앙처리장치의 속도, 주메모리 크기, 저장공간 크기, 네트워크 대역폭 등이 포함된다.The static information element is information about the system specification of each participant node (200 to 400), and includes the identification ID, the operating system, the speed of the central processing unit, the main memory size, the storage space size, the network bandwidth, and the like.

Figure 112005026030099-pat00001
Figure 112005026030099-pat00001

위의 정적 정보 요소는 본 발명의 일실시예로서, 중앙처리장치(CPU), 주 메모리(RAM), 저장 공간(DSA: Data Storage Area), 네트워크 대역폭(NBD: Network Bandwidth)정보를 포함하며, 각각 i번째 그룹, j번째 참여자 노드의 중앙처리장치, 주메모리, 저장공간, 네트워크 대역폭의 집합이다. The static information element according to an embodiment of the present invention includes a central processing unit (CPU), a main memory (RAM), a data storage area (DSA), and network bandwidth (NBD) information. It is a set of CPU, main memory, storage space, and network bandwidth of the i-th group, j-th participant node, respectively.

각 참여자 노드(200 내지 400)는 이와 같은 자신의 정적 정보 요소를 자원 정보 데이터베이스(111)에 등록함으로써, 그리드 컴퓨팅 시스템의 컴퓨팅 과정에 참여한다.Each participant node 200 to 400 participates in the computing process of the grid computing system by registering its own static information element in the resource information database 111.

동적 정보 요소란 각 참여자 노드(200 내지 400)의 실패율(Failure Rate)과, 응답시간율(Turn Around Time Rate), 정확도(Correctness)를 포함한다.The dynamic information element includes a failure rate, a turn around time rate, and accuracy of each participant node 200 to 400.

이때, 실패율은 마스터 노드(100)가 해당 참여자 노드(200 내지 400)에게 서브 작업을 요청한 뒤 해당 참여자 노드(200 내지 400)로부터 해당 서브 작업에 대한 결과물을 입력받지 못할 확률이다.In this case, the failure rate is a probability that the master node 100 does not receive a result of the sub task from the participant nodes 200 to 400 after requesting a sub task from the corresponding participant nodes 200 to 400.

응답시간율은 마스터(100)가 해당 참여자 노드(200 내지 400)에게 서브 작업을 요청하고 해당 참여자 노드(400)로부터 해당 서브 작업에 대한 결과물을 입력받기까지의 소요되는 응답시간의 정보이다. The response time rate is information of response time required until the master 100 requests a subtask from the corresponding partner nodes 200 to 400 and receives a result of the subtask from the corresponding partner node 400.

정확도는 해당 참여자 노드(200 내지 400)가 서브 작업을 수행하여 마스터(100)에게 반환한 결과물이 해당 서브 작업의 정확한 결과물일 확률이다.The accuracy is the probability that the participant nodes 200 to 400 perform the subtasks and return them to the master 100 to be accurate results of the subtasks.

이때, 정확한 결과물이란, 마스터(100)가 동일한 작업을 요청한 적어도 하나 이상의 참여자 노드(200 내지 400)로부터 해당 작업의 적어도 하나 이상의 결과물을 입력받고 입력된 적어도 하나 이상의 결과물을 비교한 결과로서, 전체 참여자 노드(200 내지 400) 중 과반수로부터 입력된 동일한 결과물을 의미한다.In this case, the exact result is a result of comparing at least one or more outputs received from at least one or more outputs of the corresponding work from the at least one or more participant nodes 200 to 400 that the master 100 requests the same work. It means the same result input from the majority of the nodes (200 to 400).

신인도란 해당 참여자(200 내지 400)의 유용한 정도를 의미하며 정적 정보 요소와 동적 정보 요소를 이용하여 아래의 수학식 1과 같이 계산된다.Reliability refers to the degree of usefulness of the participants 200 to 400 and is calculated using Equation 1 below using static and dynamic information elements.

Figure 112005026030099-pat00002
Figure 112005026030099-pat00002

신인도(CRDi ,j)는 위와 같이 임의 가중치(

Figure 112005026030099-pat00003
)가 부여된 정적 정보 값(PRIi,j)와 동적 정보 값(DINFi ,j)의 합으로서 각 참여자 노드(200 내지 400)별로 계산된다.The newness (CRD i , j ) is the random weight (
Figure 112005026030099-pat00003
) Is calculated for each participant node 200 to 400 as a sum of the static information value PRI i, j and the dynamic information value DINF i , j .

이때, 정적 정보 값(PRIi ,j)은 정적 정보 요소를 이용하여 아래의 수학식 2와 같이 계산된다.In this case, the static information value PRI i , j is calculated using Equation 2 below using the static information element.

Figure 112005026030099-pat00004
Figure 112005026030099-pat00004

수학식 2를 참조하면, 정적 정보 값(PRIi ,j)은 임의 가중치(

Figure 112005026030099-pat00005
)가 각각 부여된 i그룹 내의 j번째 참여자 노드의 중앙처리장치(CPUi ,j), 주메모리(RAMi,j), 저장공간(DSAi ,j), 네트워크 대역폭(NBDi ,j)의 합으로써 계산된다.Referring to Equation 2, the static information value (PRI i , j ) is a random weight (
Figure 112005026030099-pat00005
) The i central processing unit (CPU i, j of the j-th participant node in the group given each), main memory (RAM i, j), storage space (DSA i, j), the network bandwidth (NBD i, j) of Calculated by the sum.

이때, 부여되는 임의 가중치(

Figure 112005026030099-pat00006
)는 수행되는 그리드 컴퓨팅 작업의 특징에 따라 적합한 성능의 기준이 다를 수 있기 때문에, 임의로 설정될 수 있다. In this case, the arbitrary weight that is given (
Figure 112005026030099-pat00006
) May be arbitrarily set since the criteria for proper performance may vary depending on the characteristics of the grid computing task being performed.

예를 들어, 수행되는 그리드 컴퓨팅 작업이 계산 그리드(Computational Grid)의 작업일 경우, 계산의 과정에 많은 시간과 자원을 할애하기 때문에 중앙처 리장치의 속도에 많은 가중치가 부여된다. 그리고 수행되는 그리드 컴퓨팅 작업이 데이터 그리드(Data Grid)의 작업일 경우, 대용량 데이터를 분산하여 활용해야 하기 때문에 저장장소의 크기에 많은 가중치가 부여된다.For example, if the grid computing task being performed is a task of the computational grid, a lot of weight is given to the speed of the central processing unit because a lot of time and resources are devoted to the calculation process. When the grid computing work performed is a data grid work, a large weight is given to the size of the storage location because a large amount of data must be distributed and utilized.

동적 정보 값(DINFi ,j)은 동적 정보 요소를 이용하여 아래의 수학식 3과 같이 계산된다.The dynamic information value DINF i , j is calculated by using Equation 3 below using the dynamic information element.

Figure 112005026030099-pat00007
Figure 112005026030099-pat00007

수학식 3을 참조하면, 동적 정보 값(DINFi,j)는 임의 가중치(

Figure 112005026030099-pat00008
)가 각각 부여된 i그룹 내의 j번째 참여자 노드의 실패율(FARi ,j), 정확도(CRTi ,j), 응답시간율(TATRi,j)의 합으로 계산된다. Referring to Equation 3, the dynamic information value DINF i, j is a random weight (
Figure 112005026030099-pat00008
) Is calculated as the sum of the failure rate (FAR i , j ), accuracy (CRT i , j ), response time rate (TATR i, j ) of the j-th participant node in the i group.

한편, 마스터 노드(100)는 자신의 노드와 일차적으로 네트워킹 되어있는 하나 이상의 참여자 노드(200 내지 400)의 자원 정보가 저장된 자원 정보 저장부(110)와,자원 정보에 따른 각 참여자 노드(200 내지 400)의 신인도를 이용하여 각 참여자 노드(200 내지 400)의 순위를 매김하고 동일 서브 작업을 수행하는 참여 그룹으로 그룹핑하는 자원 관리부(120)와, 그리드 컴퓨팅 작업을 요청받아 하나 이상의 서브작업으로 나누고 각 서브 작업을 해당 참여 그룹내의 각 참여자(200 내지 400)에게 요청하는 작업 관리부(130)를 포함한다.On the other hand, the master node 100 is a resource information storage unit 110 stores the resource information of one or more participant nodes (200 to 400) that is primarily networked with its own node, and each participant node (200 to 200) according to the resource information Resource management unit 120 for ranking each participant node (200 to 400) using the trustworthiness of the 400 and grouping them into participating groups that perform the same sub-tasks, and divides the grid computing task into one or more sub-tasks Task management unit 130 for requesting each sub-job to each participant (200 to 400) in the participating group.

자원 정보 저장부(110)는 자신의 노드와 일차적으로 네트워킹 되어있는 하나 이상의 참여자 노드(200 내지 400)의 정적 정보 요소, 동적 정보 요소, 신인도가 저장하는 자원 정보 데이터베이스(111)와 하나의 그리드 컴퓨팅 작업이 수행되는 동안 갱신되는 동적 정보 요소와 신인도를 임시로 저장하는 갱신 정보 데이터베이스(112)를 포함한다.The resource information storage unit 110 stores one or more participant nodes 200 to 400 that are primarily networked with their own nodes. Update information database 112 that temporarily stores dynamic information elements and credibility that are updated while the operation is performed.

자원 관리부(120)는 자원 순위 매김부(121), 자원 그룹 분류부(122), 자원 모니터(123)를 포함한다.The resource manager 120 includes a resource ranking unit 121, a resource group classification unit 122, and a resource monitor 123.

자원 순위 매김부(121)는 각 참여자 노드(200 내지 400)에게 각 서브 작업을 할당하고자 각 참여자 노드(200 내지 400)의 신인도의 순위대로 각 참여자(200 내지 400)의 성능에 대한 순위를 부여한다. The resource ranking unit 121 assigns a rank to the performance of each participant 200 to 400 according to the ranking of the credibility of each participant node 200 to 400 to allocate each subtask to each participant node 200 to 400. do.

자원 그룹 분류부(122)는 자원 순위 매김부(121)에 의해 부여된 순위를 토대로 동일 작업을 요청하기 위한 유사한 성능을 가진 하나 이상의 참여자 노드로 구성된 참여 그룹으로 각 참여자 노드(200 내지 400)를 그룹핑한다.The resource group classification unit 122 is a participant group composed of one or more participant nodes having similar capabilities for requesting the same work based on the ranking given by the resource ranking unit 121. Group.

기본적으로 그리드 컴퓨팅 시스템은 동일 작업을 하나 이상의 참여자 노드에게 요청한 후 해당 작업에 대한 결과물을 각 참여자 노드(200 내지 400)로부터 입력받아 취합하여 해당 작업의 정확한 결과물로 출력한다. Basically, the grid computing system requests one or more participant nodes for the same job, receives the result of the job from each participant node (200 to 400), collects the result, and outputs the exact result of the corresponding job.

이때, 그리드 컴퓨팅 시스템의 컴퓨팅 성능은 가장 늦게 결과물을 반환하는 참여자 노드에 의해 그리드 컴퓨팅의 전체 컴퓨팅 성능이 좌우되기 때문에, 유사한 성능을 가진 하나 이상의 참여자 노드(200 내지 400)에게 동일 작업을 요청하여 유사한 시간에 수행결과를 입력받는 것이 이상적이다. In this case, since the computing performance of the grid computing system depends on the total computing performance of the grid computing by the participant node that returns the latest result, the same operation is requested by requesting the same work from one or more participants nodes 200 to 400 having similar performance. It is ideal to receive the result of execution in time.

따라서 자원 그룹 분류부(122)는 유사한 성능을 가진 하나 이상의 참여자 노 드(200 내지 400)에게 해당 서브 작업을 요청하기 위해 자원 순위 매김부(121)에 의해 매겨진 순위를 토대로 가장 높은 순위부터 j번째 높은 순위까지의 참여자 노드를 i번째 그룹으로 정하고, j+1번째 높은 순위부터 j+j번째 높은 순위까지의 참여자 노드를 i+1번째 그룹으로 정하는 방식으로 그룹핑한다.Accordingly, the resource group classifier 122 is the j th highest to highest rank based on the rank given by the resource ranking unit 121 to request the sub-work from one or more participant nodes 200 to 400 having similar performance. A participant node up to a high rank is designated as the i-th group, and a participant node from the j + 1th high rank to the j + jth high rank is defined as the i + 1th group.

자원 모니터(123)는 하나 이상의 참여자 노드(200 내지 400)로부터 해당 서브 작업의 결과물을 입력받아 해당 서브 작업의 정확한 결과물을 출력하고 각 참여자 노드(200 내지 400)의 동적 정보 요소를 계산한 후 신인도를 갱신한다.The resource monitor 123 receives the output of the sub-work from one or more participant nodes 200 to 400, outputs the exact output of the sub-work, calculates dynamic information elements of each participant node 200 to 400, and then trusts. Update the.

자원 모니터(123)는 해당 서브 작업을 하는 참여 그룹 내의 하나 이상의 참여자(200 내지 400)로부터 시간순서에 따라 입력받은 결과물을 비교하여 전체 참여자 노드(200 내지 400)의 과반수로부터 동일 결과물이 입력되면 입력된 동일 결과물을 해당 서브 작업의 정확한 결과물로 출력한다. 그리고 정확한 결과물이 출력된 후, 결과물을 입력하는 참여자 노드(200 내지 400)에 대해서는 입력된 결과물이 정확한 결과물과 동일한 지의 여부만 검사한다.The resource monitor 123 compares the inputs received in time order from one or more participants 200 to 400 in the participating group working on the sub task, and inputs the same result from a majority of all the participant nodes 200 to 400. Output the same output as the exact output of the subtask. After the correct result is output, the participant nodes 200 to 400 for inputting the result are only checked whether the input result is the same as the correct result.

또한 자원 모니터(123)는 해당 서브 작업을 수행하는 참여 그룹내의 하나 이상의 참여자 노드(200 내지 400)로부터 해당 서브 작업의 결과물을 입력받음에 따라 각 참여자 노드(200 내지 400)의 응답시간율, 정확도, 실패율과 같은 동적 정보 요소를 구한 후 신인도를 갱신한다.In addition, the resource monitor 123 receives the result of the sub-work from one or more participant nodes 200 to 400 in the participating group that performs the sub-work, and the response time rate and accuracy of each participant node 200 to 400. The credibility is updated after obtaining dynamic information elements such as failure rate.

각 참여자 노드(200 내지 400)의 동적 정보 요소는 자원 모니터(123)가 해당 참여 그룹내의 각 참여자 노드(200 내지 400)로부터 해당 서브 작업의 결과물을 입력받는 경우 자원 모니터(123)에 의해 해당 참여자 노드(200 내지 400)의 응답시간 율과 정확도가 계산되고, 입력받지 못할 경우 자원 모니터(123)에 의해 해당 참여자 노드(200 내지 400)의 실패율이 계산된다. The dynamic information element of each participant node (200 to 400) is the participant by the resource monitor 123 when the resource monitor 123 receives the result of the sub-work from each participant node (200 to 400) in the participating group. The response time rates and accuracy of the nodes 200 to 400 are calculated, and if no input is received, the failure rates of the corresponding participants nodes 200 to 400 are calculated by the resource monitor 123.

이때, 응답시간율(TATRi,j)은 해당 참여자 노드(200 내지 400)의 해당 서브 작업에 대한 응답시간(TATi ,j)과 i번째 그룹내의 참여자 노드(200 내지 400)의 해당 서브 작업에 대한 각 응답시간 중 최대 응답시간(Max(TATi,j))와 최소 응답시간(Min(TATi,j))을 이용하여 아래의 수학식 4와 같이 계산된다.At this time, the response time rate (TATR i, j ) is the response time (TAT i , j ) for the corresponding subtasks of the corresponding partner nodes 200 to 400 and the corresponding subtasks of the partner nodes 200 to 400 in the i th group. Using the maximum response time (Max (TAT i, j )) and the minimum response time (Min (TAT i, j )) of each response time for is calculated as shown in Equation 4 below.

Figure 112005026030099-pat00009
Figure 112005026030099-pat00009

한편, 정확도(CRTi ,j)는 마스터 노드(100)가 해당 참여자 노드(200 내지 400)에게 서브 작업을 요청한 총 횟수(CCNi ,j)와 마스터 노드(100)가 해당 참여자 노드로부터 정확한 결과물을 입력받는 횟수(TTNi ,j)를 이용하여 아래의 수학시 5와 같이 계산된다. On the other hand, the accuracy (CRT i , j ) is the total number of times (CCN i , j ) that the master node 100 requests the sub-parties to the corresponding partner nodes (200 to 400) and the master node 100 is accurate results from the corresponding partner node Using the number of times (TTN i , j ) to be input is calculated as in the following mathematical time 5.

Figure 112005026030099-pat00010
Figure 112005026030099-pat00010

한편, 실패율(FARi ,j)은 i번째 그룹의 최대 에러 발생수(Max(ETCi,j))와 최소 에러 발생수(Min(ETCi ,j)), 해당 참여자 노드(200 내지 400)의 에러 발생수(ETCi,j)를 이용하여 아래의 수학식 6과 같이 계산된다.On the other hand, the failure rate (FAR i , j ) is the maximum number of error occurrences (Max (ETC i, j )) and the minimum number of error occurrences (Min (ETC i , j )) of the i-th group, the corresponding partner nodes (200 to 400) Using the number of error occurrences (ETC i, j ) is calculated as shown in Equation 6 below.

Figure 112005026030099-pat00011
Figure 112005026030099-pat00011

한편, 해당 참여자 노드(200 내지 400)의 갱신된 신인도(

Figure 112005026030099-pat00012
)는 해당 서브 작업을 수행하기 전의 해당 신인도(
Figure 112005026030099-pat00013
)와 해당 서브 작업을 수행한 후의 정적 정보 값(
Figure 112005026030099-pat00014
)과 동적 정보 값(
Figure 112005026030099-pat00015
)을 이용하여 아래의 수학식 7과 같이 계산된다.Meanwhile, the updated credibility of the participant node 200 to 400 (
Figure 112005026030099-pat00012
) Is the corresponding credibility (
Figure 112005026030099-pat00013
) And the static information values after performing the subtask (
Figure 112005026030099-pat00014
) And dynamic info values (
Figure 112005026030099-pat00015
Is calculated as shown in Equation 7 below.

Figure 112005026030099-pat00016
Figure 112005026030099-pat00016

이때,

Figure 112005026030099-pat00017
는 i그룹의 j번째 참여자에게 할당된 서브 작업의 총 수이다.At this time,
Figure 112005026030099-pat00017
Is the total number of subtasks assigned to the j th participant of the i group.

이와 같이 갱신된 신인도는 다음 서브 작업을 수행하기 위해 각 참여자 노드(200 내지 400)의 순위 매김 과정과 그룹핑 과정에 반영된다.The updated credibility is reflected in the ranking process and the grouping process of each participant node 200 to 400 to perform the next subtask.

한편, 작업 관리부(130)는 그리드 컴퓨팅 작업을 입력받아 큐에 저장하는 작업 리시버(131)와 해당 그리드 컴퓨팅 작업을 하나 이상의 서브 작업으로 나누는 작업 스케줄러(132)와, 각 서브 작업을 해당 참여 그룹의 각 참여자 노드(200 내지 400)에게 요청하는 작업 요청부(133)를 포함한다.On the other hand, the job management unit 130 is a job receiver 131 for receiving a grid computing job to be stored in the queue, a job scheduler 132 for dividing the grid computing job into one or more sub-tasks, and each sub-task of the participating group It includes a job request unit 133 for requesting each participant node (200 to 400).

작업 스케줄러(132)는 그리드 컴퓨팅 작업을 각 서브 작업으로 나누고 각 서브 작업이 수행되기 위해 자원 그룹 분류부(122)로부터 해당 서브 작업의 참여 그룹내의 각 참여자 노드(200 내지 400)와 해당 서브 작업을 매칭한다.The task scheduler 132 divides the grid computing tasks into respective sub-tasks, and allocates each of the participant nodes 200 to 400 and the corresponding sub-tasks in the subgroups of the sub-tasks from the resource group classifier 122 to perform each sub-task. Matches.

작업 요청부(133)는 작업 스케줄러(132)에 의해 해당 서브 작업이 매칭된 각 참여자 노드(200 내지 400)에게 해당 서브 작업을 요청한다.The job request unit 133 requests a corresponding sub-work from each participant node 200 to 400 to which the sub-work is matched by the job scheduler 132.

도 3 및 도 4는 본 발명의 일실시예에 따른 마스터 노드(100)의 그리드 컴퓨팅 수행과정을 보여주기 위한 순서도이다.3 and 4 are flowcharts illustrating a grid computing process of the master node 100 according to an embodiment of the present invention.

도면을 참조하면, 먼저 마스터 노드(100)는 외부의 상위 마스터 노드 또는 내부의 응용 프로그램으로부터 그리드 컴퓨팅 작업을 요청받는다(S1).Referring to the drawing, first, the master node 100 receives a grid computing task from an external upper master node or an internal application program (S1).

그리드 컴퓨팅 작업이 요청되면, 작업 스케줄러(132)는 그리드 컴퓨팅 작업이 각 참여자 노드(200 내지 400)에 의해 수행되도록 해당 그리드 컴퓨팅 작업을 하나 이상의 서브 작업으로 나눈다(S2). When a grid computing task is requested, the task scheduler 132 divides the grid computing task into one or more sub-tasks so that the grid computing task is performed by each participant node 200 to 400 (S2).

그리드 컴퓨팅 작업이 서브 작업으로 나누어지면, 자원 순위 매김부(121)는 각 참여자 노드(200 내지 400)의 순위를 매김하기 위해 자원 정보 저장부(110)로부터 각 참여자 노드(200 내지 400)의 자원 정보를 입력받는다(S3). When the grid computing task is divided into sub-tasks, the resource ranking unit 121 resources of each participant node 200 to 400 from the resource information storage unit 110 to rank each participant node 200 to 400. Receive the information (S3).

그리고 각 참여자 노드(200 내지 400)의 자원 정보에 포함된 정적 정보 요소와 동적 정보 요소를 이용하여 수학식 1 내지 수학식 3에 따라 신인도를 계산한다.In addition, using the static information elements and dynamic information elements included in the resource information of each participant node (200 to 400) to calculate the reliability according to the equation (1) to (3).

신인도가 계산되면, 자원 순위 매김부(121)는 각 참여자 노드(200 내지 400)의 신인도 순위에 의거하여 각 참여자 노드(200 내지 400)의 순위를 매긴다(S4).When the credibility is calculated, the resource ranking unit 121 ranks each participant node 200 to 400 based on the credibility ranking of each participant node 200 to 400 (S4).

각 참여자 노드(200 내지 400)의 순위가 매겨지면, 자원 그룹 분류부(122)는 각 참여자 노드(200 내지 400)의 순위에 따라 각 참여자 노드(200 내지 400)를 동일 작업을 요청하기 위한 유사한 성능의 참여 그룹으로 그룹핑한다(S5).When each participant node (200 to 400) is ranked, the resource group classifier 122 may similarly request each participant node (200 to 400) to request the same work according to the ranking of each participant node (200 to 400). Grouping to the participation group of the performance (S5).

자원 그룹 분류부(122)에 의해 그룹핑이 이루어지면, 작업 요청부(133)는 해당 서브 작업을 해당 참여 그룹내의 모든 참여자 노드(200 내지 400)에게 요청하고 특정 타임아웃을 적용한다(S6).When grouping is performed by the resource group classifier 122, the task request unit 133 requests the corresponding subtasks from all the participants nodes 200 to 400 in the participating group and applies a specific timeout (S6).

자원 모니터(123)는 해당 타임아웃내에 임의 참여자 노드(200 내지 400)로부터 해당 서브 작업에 대한 결과물을 입력받는지 판단한다(S7).The resource monitor 123 determines whether a result of a corresponding subtask is received from any participant node 200 to 400 within the corresponding timeout (S7).

상기 S7 단계의 판단결과, 자원 모니터(123)는 임의 참여자 노드(200 내지 400)로부터 해당 서브 작업에 대한 결과물을 해당 타임아웃내에 입력받지 못한 경우, 해당 참여자 노드(200 내지 400)에게 하트비트를 보내고, 해당 참여자 노드의 실패율을 수학식 6에 따라 계산한 후, 수학식 7에 따라 신인도를 갱신한다(S8).As a result of the determination in step S7, if the resource monitor 123 does not receive the result of the sub-work from any participant node (200 to 400) within the timeout, the heartbeat to the participant nodes (200 to 400). After the transmission, the failure rate of the participant node is calculated according to Equation 6, and the reliability is updated according to Equation 7 (S8).

상기 S7 단계의 판단결과, 자원 모니터(123)는 임의 참여자 노드(200 내지 400)로부터 해당 서브 작업에 대한 결과물을 입력받는 경우, 해당 서브 작업에 대한 정확한 결과물을 추출하기 위해 입력받은 해당 결과물을 토대로 해당 참여 그룹내의 전체 참여자 노드(200 내지 400)의 과반수로부터 입력된 동일 결과물을 정확한 결과물로 추출한다(S9).As a result of the determination in step S7, when the resource monitor 123 receives the result of the sub-work from any participant node (200 to 400), based on the input result to extract the correct result for the sub-work The same result input from the majority of all the participant nodes 200 to 400 in the participating group is extracted as the correct result (S9).

그리고 자원 모니터(123)는 해당 참여자 노드(200 내지 400)의 응답시간률, 정확도를 수학식 4 내지 수학식 5에 따라 계산한 후, 수학식 7에 따라 신인도를 갱신한다(S10).The resource monitor 123 calculates the response time rate and the accuracy of the corresponding participants 200 to 400 according to Equation 4 to Equation 5, and then updates the confidence level according to Equation 7 (S10).

신인도가 갱신되면, 자원 모니터(123)는 해당 참여 그룹내의 참여자 노드가 모두 수행되었는지 여부를 판단한다(S11).When the credibility is updated, the resource monitor 123 determines whether all of the participant nodes in the corresponding participant group have been performed (S11).

상기 S11 단계의 판단결과, 해당 참여 그룹내의 임의의 참여자 노드(200 내지 400)가 수행되지 않은 경우, 자원모니터(123)는 임의의 참여자 노드(200 내지 400)로부터 해당 작업에 대한 결과물을 입력받기 위해 제어는 S7 단계로 간다.As a result of the determination in step S11, when any participant node 200 to 400 in the corresponding participant group is not performed, the resource monitor 123 receives a result of the work from the participant node 200 to 400. The control goes to step S7.

상기 S11 단계의 판단결과, 해당 참여 그룹내의 모든 참여자 노드(200 내지 400)가 모두 수행된 경우, 해당 그리드 컴퓨팅 작업의 하나 이상의 서브 작업이 모두 수행되었는지 판단한다(S12).As a result of the determination in step S11, when all the participant nodes 200 to 400 in the participating group are all performed, it is determined whether one or more sub-tasks of the grid computing task are all performed (S12).

상기 S12 단계의 판단결과, 임의 서브 작업이 수행되지 않은 경우, 다음 서브 작업을 수행하기 위해 제어는 S4 단계로 간다. 이때, S4단계의 각 참여자 노드(200 내지 400)의 순위 매김은 S8 내지 S10에의해 갱신된 신인도가 반영된다.As a result of the determination of step S12, if any sub-task is not performed, control goes to step S4 to perform the next sub-task. At this time, the ranking of each participant node (200 to 400) in step S4 is reflected in the updated confidence by S8 to S10.

상기 S12 단계의 판단결과, 서브 작업이 모두 수행된 경우, 작업 스케줄러(132)는 각 서브 작업의 정확한 결과물을 취합하여 해당 그리드 컴퓨팅 작업의 최종 결과물로 출력한다(S13)As a result of the determination in step S12, when all the sub-tasks are performed, the task scheduler 132 collects the exact output of each sub-task and outputs the final output of the grid computing task (S13).

이상의 본 발명은 상기에 기술된 실시예들에 의해 한정되지 않고, 당업자들에 의해 다양한 변형 및 변경을 가져올 수 있으며, 이는 첨부된 청구항에서 정의되는 본 발명의 취지와 범위에 포함된다.The present invention is not limited to the embodiments described above, and various modifications and changes can be made by those skilled in the art, which are included in the spirit and scope of the present invention as defined in the appended claims.

본 발명에 의하면, 마스터 노드에서 임의의 그리드 컴퓨팅 작업을 요청받는 경우, 자신의 노드와 일차적으로 네트워킹 되어있는 하나 이상의 참여자 노드에 대하여 정적 정보 및 동적 정보를 반영하는 신인도에 따라 각 참여자 노드를 순위 매김하여 그룹핑을 하여 참여 그룹별로 그리드 컴퓨팅 작업을 할당하고 있다.According to the present invention, when any grid computing task is requested from a master node, each participant node is ranked according to a credibility reflecting static and dynamic information about one or more participant nodes networked with its own node. By grouping, grid computing tasks are allocated to participating groups.

이에 따라, 가능한한 신인도가 높은 참여자 노드에게 그리드 컴퓨팅 작업을 할당함으로써, 오버헤드를 감소시키고 각 참여자 노드의 유효한 자원을 효과적으로 활용할 수 있다. Accordingly, by allocating grid computing tasks to highly trusted participant nodes, it is possible to reduce overhead and effectively utilize the effective resources of each participant node.

또한 본 발명에 의한 마스터 노드에서는 그리드 컴퓨팅 작업 수행시마다 해당 작업의 수행 결과에 따라 각 참여자 노드에 대한 신인도를 갱신하여 다음 작업의 순위 매김 및 그룹핑에 반영함으로써, 각 참여자 노드의 자원 상태 또는 성능을 정확하게 파악할 수 있음에 따라 그리드 컴퓨팅 작업의 할당을 더욱 효과적으로 할 수 있다.In addition, the master node according to the present invention updates the reliability of each participant node according to the execution result of the corresponding work every time the grid computing task is performed, and reflects the resource state or performance of each participant node by reflecting them in the ranking and grouping of the next task. As you know, you can more effectively allocate grid computing tasks.

Claims (8)

각 참여자 노드의 자원 정보에 따른 각 참여자 노드의 신인도를 이용하여 해당 참여자 노드의 순위를 부여 하고 상기 순위에 따라 각 참여자 노드를 동일 서브 작업을 수행하는 참여 그룹으로 그룹핑 하는 자원 관리부와,A resource manager for assigning a rank of the corresponding participant nodes using the credibility of each participant node according to the resource information of each participant node, and grouping each participant node into a participation group performing the same sub-task according to the rank; 그리드 컴퓨팅 작업을 하나 이상의 서브 작업으로 나누고 상기 참여 그룹별로 해당 서브 작업을 각 참여자 노드에게 요청하는 작업 관리부를 포함하고,A task manager for dividing a grid computing task into one or more sub-tasks and requesting each participant node the sub-tasks for each of the participating groups; 상기 자원 정보는, The resource information, 상기 참여자 노드의 시스템 사양 정보를 포함하는 정적 정보 요소와, A static information element including system specification information of the participant node; 상기 참여자 노드의 수행 도중 발생하는 정보를 포함하는 동적 정보 요소와,A dynamic information element including information generated during the execution of the participant node; 상기 정적 정보 요소와 상기 동적 정보 요소를 이용하여 계산되는 신인도를 포함하고,A trustworthiness calculated using the static information element and the dynamic information element, 상기 자원 관리부는 상기 신인도를 갱신하되,The resource manager updates the credibility, 상기 갱신되는 신인도(
Figure 112007054604167-pat00025
)는 해당 서브 작업을 수행하기 전의 해당 신인도(
Figure 112007054604167-pat00026
)와 해당 서브 작업을 수행한 후의 상기 정적 정보 요소에 상응하는 정적 정보 값(
Figure 112007054604167-pat00027
)과 상기 동적 정보 요소에 상응하는 동적 정보 값(
Figure 112007054604167-pat00028
)을 이용하여 아래의 수학식과 같이 계산되는 것을 특징으로 하는 동적 순위 매김 및 그룹핑을 이용한 그리드 컴퓨팅 시스템.
Rookie renewed (
Figure 112007054604167-pat00025
) Is the corresponding credibility (
Figure 112007054604167-pat00026
) And the static information value corresponding to the static information element after performing the subtask (
Figure 112007054604167-pat00027
) And a dynamic information value corresponding to the dynamic information element (
Figure 112007054604167-pat00028
Grid computing system using dynamic ranking and grouping, characterized in that calculated using the following equation.
[수학식][Equation]
Figure 112007054604167-pat00029
Figure 112007054604167-pat00029
(단,
Figure 112007054604167-pat00030
는 i그룹의 j번째 참여자에게 할당된 서브 작업의 총 수)
(only,
Figure 112007054604167-pat00030
Is the total number of subtasks allocated to the jth participant in group i)
청구항 1에 있어서, The method according to claim 1, 자신의 노드와 일차적으로 네트워킹 되어있는 하나 이상의 참여자 노드의 자원 정보를 저장하는 자원 정보 저장부를 더 포함하는 것을 특징으로 하는 동적 순위 매김 및 그룹핑을 이용한 그리드 컴퓨팅 시스템.And a resource information storage unit for storing resource information of at least one participant node that is primarily networked with its own node. 삭제delete 청구항 1에 있어서, 상기 신인도는,The method according to claim 1, wherein the trustworthiness, 정적 정보 값과 동적 정보 값을 이용하여 아래의 수학식으로 계산되는 것을 특징으로 하는 동적 순위 매김 및 그룹핑을 이용한 그리드 컴퓨팅 시스템.Grid computing system using dynamic ranking and grouping, characterized in that calculated using the static information value and the dynamic information value.
Figure 112006088510754-pat00018
Figure 112006088510754-pat00018
(단, CRDi,j는 i그룹의 j번째 참여자 노드의 신인도이고,
Figure 112006088510754-pat00019
Figure 112006088510754-pat00020
는 부여되는 임의 가중치임. PRIi,j는 i그룹의 j번째 참여자 노드의 정적 정보 값이고, DINFi,j는 i그룹의 j번째 참여자 노드의 동적 정보 값임.)
(However, CRD i, j is the confidence of the j participant node of the i group,
Figure 112006088510754-pat00019
Wow
Figure 112006088510754-pat00020
Is any weight given. PRI i, j is the static information value of the jth participant node of the i group , and DINF i, j is the dynamic information value of the jth participant node of the igroup.)
청구항 1에 있어서, 상기 작업 관리부는,The method according to claim 1, The job management unit, 상기 그리드 컴퓨팅 작업을 큐에 저장하는 작업 리시버와,A job receiver for storing the grid computing job in a queue; 상기 큐에 저장된 상기 그리드 컴퓨팅 작업을 하나 이상의 서브 작업으로 나누고 각 서브 작업을 수행하는 그룹내의 각 참여자 노드와 해당 서브 작업을 매칭하는 작업 스케줄러와,A task scheduler for dividing the grid computing tasks stored in the queue into one or more sub-tasks and matching the corresponding sub-tasks with each participant node in the group performing each sub-task; 상기 매칭된 서브 작업을 해당 참여 그룹의 각 참여자 노드에게 요청하는 작 업 요청부를 포함하는 것을 특징으로 하는 동적 순위 매김 및 그룹핑을 이용한 그리드 컴퓨팅 시스템.And a job request unit for requesting the matched sub-jobs to each participant node of the corresponding participant group. 청구항 1에 있어서, 상기 자원 관리부는,The method according to claim 1, wherein the resource management unit, 각 참여자 노드의 자원 정보에 따른 상기 신인도를 이용하여 참여자 노드의 순위를 부여하는 자원 순위 매김부와,A resource ranking unit for ranking the participant nodes using the credibility according to the resource information of each participant node; 상기 순위를 이용하여 각 참여자 노드를 동일 서브 작업을 수행하는 참여 그룹으로 그룹핑하는 자원 그룹 분류부와,A resource group classification unit for grouping each participant node into a participant group performing the same subtask using the ranking; 각 참여자 노드로부터 해당 서브 작업의 결과를 입력받아 각 서브 작업의 정확한 결과물을 추출하고 각 참여자 노드의 동적 정보 값을 계산하고 신인도를 갱신하는 자원 모니터를 포함하는 것을 특징으로 하는 동적 순위 매김 및 그룹핑을 이용한 그리드 컴퓨팅 시스템.Dynamic ranking and grouping includes a resource monitor that receives the results of the corresponding sub-work from each participant node, extracts the exact output of each sub-work, calculates dynamic information values of each participant node, and updates the credibility. Grid computing system used. 그리드 컴퓨팅 작업을 요청받아 하나 이상의 서브 작업으로 나누는 단계와,Receiving a grid computing task and dividing it into one or more sub-tasks, 상기 나눠진 서브 작업을 하나 이상의 참여자 노드에게 요청하기 위해 각 참여자 노드의 자원 정보에 따른 신인도를 이용하여 각 참여자 노드의 순위를 부여하는 단계와,Ranking each participant node using a credibility according to resource information of each participant node to request the divided sub-work to one or more participant nodes; 상기 부여된 순위에 따라 각 참여자 노드를 동일 서브 작업을 수행하는 참여 그룹으로 그룹핑하는 단계와,Grouping each participant node into a participant group performing the same subtask according to the given rank; 상기 참여 그룹별로 해당 서브 작업을 해당 참여 그룹내의 모든 참여자 노드에게 요청하는 단계를 포함하고, Requesting all of the participant nodes in the participant group to the corresponding subwork by the participant group; 상기 자원 정보는, The resource information, 상기 참여자 노드의 시스템 사양 정보를 포함하는 정적 정보 요소와, A static information element including system specification information of the participant node; 상기 참여자 노드의 수행 도중 발생하는 정보를 포함하는 동적 정보 요소와, A dynamic information element including information generated during the execution of the participant node; 상기 정적 정보 요소와 상기 동적 정보 요소를 이용하여 계산되는 신인도를 포함하고,A trustworthiness calculated using the static information element and the dynamic information element, 다음 서브 작업을 수행하기 위한 상기 순위 매김 과정과 그룹핑 과정에 반영하기 위해 상기 신인도를 갱신하는 단계를 더 포함하되,The method may further include updating the credibility to reflect the ranking process and the grouping process to perform a next sub-task. 상기 갱신되는 신인도(
Figure 112007054604167-pat00031
)는 해당 서브 작업을 수행하기 전의 해당 신인도(
Figure 112007054604167-pat00032
)와 해당 서브 작업을 수행한 후의 상기 정적 정보 요소에 상응하는 정적 정보 값(
Figure 112007054604167-pat00033
)과 상기 동적 정보 요소에 상응하는 동적 정보 값(
Figure 112007054604167-pat00034
)을 이용하여 아래의 수학식과 같이 계산되는 것을 특징으로 하는 동적 순위 매김 및 그룹핑을 이용한 그리드 컴퓨팅 시스템의 데이터 처리 방법.
Rookie renewed (
Figure 112007054604167-pat00031
) Is the corresponding credibility (
Figure 112007054604167-pat00032
) And the static information value corresponding to the static information element after performing the subtask (
Figure 112007054604167-pat00033
) And a dynamic information value corresponding to the dynamic information element (
Figure 112007054604167-pat00034
Data processing method of a grid computing system using dynamic ranking and grouping, characterized in that calculated using the following equation.
[수학식][Equation]
Figure 112007054604167-pat00035
Figure 112007054604167-pat00035
(단,
Figure 112007054604167-pat00036
는 i그룹의 j번째 참여자에게 할당된 서브 작업의 총 수).
(only,
Figure 112007054604167-pat00036
Is the total number of subtasks allocated to the j participant in the i group).
삭제delete
KR1020050041694A 2005-05-18 2005-05-18 Grid computing system using dynamic grading and grouping, and data processing method thereof KR100795593B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050041694A KR100795593B1 (en) 2005-05-18 2005-05-18 Grid computing system using dynamic grading and grouping, and data processing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050041694A KR100795593B1 (en) 2005-05-18 2005-05-18 Grid computing system using dynamic grading and grouping, and data processing method thereof

Publications (2)

Publication Number Publication Date
KR20060119115A KR20060119115A (en) 2006-11-24
KR100795593B1 true KR100795593B1 (en) 2008-01-21

Family

ID=37706019

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050041694A KR100795593B1 (en) 2005-05-18 2005-05-18 Grid computing system using dynamic grading and grouping, and data processing method thereof

Country Status (1)

Country Link
KR (1) KR100795593B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100791037B1 (en) * 2007-04-19 2008-01-03 인하대학교 산학협력단 Grid-based data classification device and method thereof
CN109739634A (en) * 2019-01-16 2019-05-10 ***股份有限公司 A kind of atomic task execution method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040229A (en) 1996-04-30 1998-02-13 Internatl Business Mach Corp <Ibm> System for managing subscription to processor group in distribution computing environment
KR20020048318A (en) * 2002-03-19 2002-06-22 문의선 A method and system to measure contribution of data processing system to distributed systems
KR20040084831A (en) * 2003-03-26 2004-10-06 김기환 parallel distributed processing system and method
JP2004341962A (en) 2003-05-16 2004-12-02 Toyota Infotechnology Center Co Ltd Distributed computing system, method, program and recording medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040229A (en) 1996-04-30 1998-02-13 Internatl Business Mach Corp <Ibm> System for managing subscription to processor group in distribution computing environment
KR20020048318A (en) * 2002-03-19 2002-06-22 문의선 A method and system to measure contribution of data processing system to distributed systems
KR20040084831A (en) * 2003-03-26 2004-10-06 김기환 parallel distributed processing system and method
JP2004341962A (en) 2003-05-16 2004-12-02 Toyota Infotechnology Center Co Ltd Distributed computing system, method, program and recording medium

Also Published As

Publication number Publication date
KR20060119115A (en) 2006-11-24

Similar Documents

Publication Publication Date Title
US10733026B2 (en) Automated workflow selection
KR100327651B1 (en) Method and apparatus for controlling the number of servers in a multisystem cluster
US8185908B2 (en) Dynamic scheduling in a distributed environment
US8612987B2 (en) Prediction-based resource matching for grid environments
US7523454B2 (en) Apparatus and method for routing a transaction to a partitioned server
US8463971B2 (en) Approach for distributing interrupts from high-interrupt load devices
US8671134B2 (en) Method and system for data distribution in high performance computing cluster
US7610425B2 (en) Approach for managing interrupt load distribution
US7203747B2 (en) Load balancing system and method in a multiprocessor system
US6912533B1 (en) Data mining agents for efficient hardware utilization
US7437460B2 (en) Service placement for enforcing performance and availability levels in a multi-node system
US8572621B2 (en) Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria
US20050132379A1 (en) Method, system and software for allocating information handling system resources in response to high availability cluster fail-over events
JP2005516293A (en) Web farm traffic control method and apparatus
JP2005310120A (en) Computer system, and task assigning method
Lu et al. On the performance-driven load distribution for heterogeneous computational grids
Qureshi et al. Grid resource allocation for real-time data-intensive tasks
Keerthika et al. A hybrid scheduling algorithm with load balancing for computational grid
KR100795593B1 (en) Grid computing system using dynamic grading and grouping, and data processing method thereof
CN111506400A (en) Computing resource allocation system, method, device and computer equipment
CN107172149A (en) Big data instant scheduling method
CN109005071B (en) Decision deployment method and scheduling equipment
US20080235705A1 (en) Methods and Apparatus for Global Systems Management
CN112685157B (en) Task processing method, device, computer equipment and storage medium
Zheng et al. Heuristic optimization of scheduling and allocation for distributed systems with soft deadlines

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 13