KR101352699B1 - Method and Apparatus for Provisioning Parallel Processing-Based Virtual Cluster Computing System - Google Patents

Method and Apparatus for Provisioning Parallel Processing-Based Virtual Cluster Computing System Download PDF

Info

Publication number
KR101352699B1
KR101352699B1 KR1020110126969A KR20110126969A KR101352699B1 KR 101352699 B1 KR101352699 B1 KR 101352699B1 KR 1020110126969 A KR1020110126969 A KR 1020110126969A KR 20110126969 A KR20110126969 A KR 20110126969A KR 101352699 B1 KR101352699 B1 KR 101352699B1
Authority
KR
South Korea
Prior art keywords
distributed
master
configuration manager
virtual machine
virtual
Prior art date
Application number
KR1020110126969A
Other languages
Korean (ko)
Other versions
KR20130060746A (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 KR1020110126969A priority Critical patent/KR101352699B1/en
Publication of KR20130060746A publication Critical patent/KR20130060746A/en
Application granted granted Critical
Publication of KR101352699B1 publication Critical patent/KR101352699B1/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • G06F9/3828Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage with global bypass, e.g. between pipelines, between clusters
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • G06F9/3891Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
    • 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/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 발명의 일 실시예에 따라 병렬 처리 기반의 가상 클러스터 컴퓨팅 시스템을 프로비저닝하는 방법 및 장치를 개시한다. 일 실시예에서 가상 클러스터 시스템을 프로비저닝하는 방법은, 가상 클러스터 컴퓨팅 시스템의 사용자별 시스템 구성 정보에 따라서 작업 노드 가상머신들과 마스터 가상머신을 실행시키는 단계; 메인 분산 구성 관리자가 상기 마스터 가상머신 상에 서브 분산 구성 관리자를 설치하는 단계; 및 상기 서브 분산 구성 관리자가, 상기 작업 노드 가상머신들 상에 작업 노드 에이전트를 각각 설치하는 단계;를 포함할 수 있다. A method and apparatus for provisioning a parallel processing based virtual cluster computing system is disclosed in accordance with one embodiment of the present invention. In one embodiment, a method of provisioning a virtual cluster system includes: executing work node virtual machines and a master virtual machine according to user-specific system configuration information of the virtual cluster computing system; Installing, by a main distributed configuration manager, a sub distributed configuration manager on the master virtual machine; And installing, by the sub-distributed configuration manager, a work node agent on the work node virtual machines, respectively.

Description

병렬 처리 기반의 가상 클러스터 컴퓨팅 시스템의 프로비저닝 방법 및 장치 {Method and Apparatus for Provisioning Parallel Processing-Based Virtual Cluster Computing System}Method and Apparatus for Provisioning Parallel Cluster Based Computing System {Method and Apparatus for Provisioning Parallel Processing-Based Virtual Cluster Computing System}

본 발명은 병렬 처리 기반의 가상 클러스터 컴퓨팅 시스템의 프로비저닝 방법 및 장치에 관한 것으로, 다수의 사용자가 가상 클러스터의 생성을 요청하는 경우에도 사용자의 요구에 맞게 확장가능한 방식으로 분산 구성 관리자의 과부하를 방지할 수 있는 병렬 처리를 위한 가상 클러스터 컴퓨팅 시스템 시스템을 서비스 형태로 제공해줄 수 있는 프로비저닝 방법 방법과 구성 자동화, 서비스화 방법에 대한 것이다. The present invention relates to a method and apparatus for provisioning a virtual cluster computing system based on parallel processing, and to prevent overload of the distributed configuration manager in a scalable manner to meet the needs of users even when a plurality of users request creation of a virtual cluster. Provisioning method, configuration automation, and service method that can provide virtual cluster computing system system for parallel processing.

최근 모바일 기기 활용 증대 및 미디어 데이터 크기의 급속한 증가로 처리해야 할 데이터의 양이 늘어나고 있으며, 서비스를 통해 자동화된 데이터 수집 과정에서 수집된 대용량 데이터 분석을 통해 서비스의 부가가치를 높일 수 있는 가능성이 다양하게 발전되고 있다. 대용량 데이터를 분석하기 위해서는 보통 시스템 자원을 구입하고 분산 컴퓨팅 소프트웨어를 이용해 복잡한 분산 컴퓨팅 시스템을 구성하고 운영해야 한다.Recently, the amount of data to be processed is increasing due to the increase in the use of mobile devices and the rapid increase in the size of media data, and the possibility of increasing the added value of the service through the analysis of the large amount of data collected during the automated data collection process through the service is various. It is developing. Analyzing large amounts of data typically requires purchasing system resources and configuring and operating complex distributed computing systems using distributed computing software.

분산 컴퓨팅 시스템을 관리하기 위해 분산 구성 관리자(Distributed Configuration Manager)가 필요하다. 하지만, 분산 구성 관리자를 이용하더라도 일반 사용자가 대용량 데이터 처리를 위한 분산 컴퓨팅 시스템을 구축하고 성능을 튜닝하여 실제 업무에 적용하기란 매우 어려운 일이다. 이런 이유로, 최근 클라우드 컴퓨팅 기술과 가상화 기술을 이용하여 사용자가 필요한 자원과 분산 혹은 병렬 처리 소프트웨어의 설치 및 구성을 자동화하여 사용자는 필요한 데이터 분석만 수행할 수 있도록 하는 가상 클러스터 기술의 중요성이 높아졌으며, 실현 가능해졌다.Distributed Configuration Manager is required to manage distributed computing systems. However, even with distributed configuration manager, it is very difficult for general users to build distributed computing system for processing large data, tune performance and apply it to actual work. For this reason, the importance of virtual cluster technology has recently increased, by using cloud computing technology and virtualization technology to automate the installation and configuration of resources and distributed or parallel processing software that users need, so that users can perform only necessary data analysis. It became feasible.

물리적인 자원에서 다수의 사용자가 분산 컴퓨팅 시스템의 구성을 동시에 요청할 경우 분산 구성 관리자의 부하가 증가하고 이에 따라 각 사용자가 요청한 작업 및 응답 속도가 저하하고, 사용자의 요청을 만족하는 가상 머신 자원을 성공적으로 실행시키지 못하는 위험이 여전히 존재한다. . 점차 늘어나는 사용자 요구사항에 맞는 데이터센터의 자원 확장과 증설과 늘어나는 사용자 요구 사항 및 자원 요청을 확장가능한(scalable) 방식으로 안정적으로 소화할 수 있는 분산 컴퓨팅 기술이 필요하다. When multiple users simultaneously request configuration of distributed computing systems on physical resources, the load on the distributed configuration manager increases, thereby reducing the tasks and responsiveness requested by each user, and successfully creating a virtual machine resource that satisfies the user's request. There is still a risk of not being able to run it. . There is a need for distributed computing technology that reliably scales and scales data center resources to meet growing user requirements and scales to meet growing user requirements and resource requests.

본 발명의 일 실시예에 따르면, 다수의 사용자가 동시에 가상 클러스터 시스템의 구성을 요청할 경우 분산 구성 관리자와 가상 인프라 관리자에 과부하가 걸리거나 구성 관리 저장소의 구성 관리 데이터 접근이 지연되어 생길 수 있는 문제를 해결할 수 있는 가상 클러스터 컴퓨팅 시스템의 프로비저닝 방법 및 장치를 제공할 수 있다. According to an embodiment of the present invention, if a plurality of users simultaneously request the configuration of the virtual cluster system, the problem may be caused by overloading the distributed configuration manager and the virtual infrastructure manager or delayed access to the configuration management data in the configuration management repository. It is possible to provide a provisioning method and apparatus for a virtual cluster computing system that can be solved.

본 발명의 일 실시예에 따르면, 메시지 큐를 통한 가상 클러스터 시스템의 가상 머신과 분산 코디네이터 및 분산 구성 관리자간에 비동기적 통신을 이용하여 사용자 작업 수행의 안정성과 응답 성공율을 높일 수 있도록 가상 클러스터 컴퓨팅 시스템을 프로비저닝 할 수 있으며, 가상 머신을 이용한 가상 클러스터 장치를 제공할 수 있다. According to an embodiment of the present invention, a virtual cluster computing system may be used to increase the reliability and response success rate of user operations by using asynchronous communication between a virtual machine of a virtual cluster system through a message queue, a distributed coordinator, and a distributed configuration manager. Provision can be made and a virtual cluster device using a virtual machine can be provided.

또한, 본 발명의 일 실시예에 따르면, 상기 가상 클러스터 컴퓨팅 시스템의 프로비저닝 방법을 수행할 수 있는 프로그램이 기록된 기록매체를 제공할 수 있다. In addition, according to an embodiment of the present invention, it is possible to provide a recording medium on which a program capable of performing the provisioning method of the virtual cluster computing system is recorded.

본 발명의 일 실시예에 따라, 병렬 처리 기반의 가상 클러스터 컴퓨팅 시스템을 프로비저닝하는 방법에 있어서, 상기 가상 클러스터 컴퓨팅 시스템의 사용자별 시스템 구성 정보에 따라서 작업 노드 가상머신들과 마스터 가상머신을 실행시키는 단계; 메인 분산 구성 관리자가 상기 마스터 가상머신 상에 서브 분산 구성 관리자를 설치하는 단계; 및 상기 서브 분산 구성 관리자가, 상기 작업 노드 가상머신들 상에 작업 노드 에이전트를 각각 설치하는 단계;를 포함하는 프로비저닝 방법을 제공할 수 있다. According to an embodiment of the present invention, there is provided a method for provisioning a parallel cluster-based virtual cluster computing system, comprising: executing work node virtual machines and a master virtual machine according to user-specific system configuration information of the virtual cluster computing system. ; Installing, by a main distributed configuration manager, a sub distributed configuration manager on the master virtual machine; And installing, by the sub distributed configuration manager, a work node agent on the work node virtual machines, respectively.

본 발명의 일 실시예에 따라, 병렬 처리 기반의 가상 클러스터 컴퓨팅 시스템을 프로비저닝하는 방법에 있어서, 제1 사용자의 가상 클러스터의 시스템 구성 정보에 따라서 제1 작업 노드 가상머신들과 제1 마스터 가상머신을 실행시키는 단계; 메인 분산 구성 관리자가 상기 제1 마스터 가상머신 상에 제1 서브 분산 구성 관리자를 설치하는 단계; 제2 사용자의 가상 클러스터의 시스템 구성 정보에 따라서 제2 작업 노드 가상머신들과 제2 마스터 가상머신을 실행시키는 단계; 상기 메인 분산 구성 관리자가 상기 제2 마스터 가상머신 상에 제2 서브 분산 구성 관리자를 설치하는 단계;를 포함하고, 이 때 상기 제1 및 제2 서브 분산 구성 관리자가 제1 작업 노드 가상머신들의 각각 및 제2 작업 노드 가상머신들의 각각에 작업 노드 에이전트를 설치하고, 상기 작업 노드 에이전트가 각 작업 노드 가상머신에 병렬 처리를 위한 소프트웨어를 설치하는 것을 특징으로 하는 프로비저닝 방법을 제공할 수 있다. According to an embodiment of the present invention, in a method for provisioning a parallel cluster-based virtual cluster computing system, the first work node virtual machines and the first master virtual machine may be configured according to the system configuration information of the virtual cluster of the first user. Executing; Installing, by a main distributed configuration manager, a first sub distributed configuration manager on the first master virtual machine; Executing the second working node virtual machines and the second master virtual machine according to the system configuration information of the virtual cluster of the second user; Installing, by the main distributed configuration manager, a second sub distributed configuration manager on the second master virtual machine, wherein the first and second sub distributed configuration managers each of the first working node virtual machines. And installing a work node agent in each of the second work node virtual machines, and the work node agent installs software for parallel processing in each work node virtual machine.

본 발명의 일 실시예에 따라, 병렬 처리 기반의 가상 클러스터를 프로비저닝하는 장치에 있어서, 상기 가상 클러스터의 구성 정보에 따라서 마스터 가상머신 및 하나 이상의 작업 노드 가상머신을 실행시킬 수 있는 가상 인프라 관리자; 및 상기 가상 클러스터를 생성할 수 있는 제1 분산 구성 관리자;를 포함하고, 상기 제1 분산 구성 관리자가 상기 마스터 가상머신의 요청에 따라 상기 마스터 가상머신에 제2 분산 구성 관리자를 설치할 수 있는 프로비저닝 장치를 제공할 수 있다. According to an embodiment of the present invention, an apparatus for provisioning a virtual cluster based on parallel processing, the apparatus comprising: a virtual infrastructure manager capable of executing a master virtual machine and one or more work node virtual machines according to configuration information of the virtual cluster; And a first distributed configuration manager capable of creating the virtual cluster, wherein the first distributed configuration manager can install a second distributed configuration manager in the master virtual machine according to a request of the master virtual machine. Can be provided.

본 발명의 일 실시예에 따라, 병렬 처리 기반의 가상 클러스터를 프로비저닝하는 장치에 있어서, 제1 사용자의 가상 클러스터의 구성 정보에 따라서 제1 마스터 가상머신 및 하나 이상의 제1 작업 노드 가상머신을 실행시키고, 제2 사용자의 가상 클러스터의 구성 정보에 따라서 제2 마스터 가상머신 및 하나 이상의 제2 작업 노드 가상머신을 실행시킬 수 있는 가상 인프라 관리자; 및 상기 제1 및 제2 가상 클러스터를 각각 생성할 수 있는 메인 분산 구성 관리자;를 포함하고, 이 때 상기 메인 분산 구성 관리자가, 상기 제1 마스터 가상머신의 요청에 따라 상기 제1 마스터 가상머신에 제1 서브 분산 구성 관리자를 설치하고, 상기 제2 마스터 가상머신의 요청에 따라 상기 제2 마스터 가상머신에 제2 서브 분산 구성 관리자를 설치할 수 있는 것을 프로비저닝 장치를 제공할 수 있다. According to an embodiment of the present invention, in an apparatus for provisioning a virtual cluster based on parallel processing, the first master virtual machine and the at least one first working node virtual machine may be executed according to configuration information of the virtual cluster of the first user. A virtual infrastructure manager capable of executing a second master virtual machine and one or more second work node virtual machines according to configuration information of the virtual cluster of the second user; And a main distributed configuration manager capable of creating the first and second virtual clusters, respectively, wherein the main distributed configuration manager connects to the first master virtual machine at the request of the first master virtual machine. A provisioning apparatus may be provided in which a first sub distributed configuration manager may be installed and a second sub distributed configuration manager may be installed in the second master virtual machine in response to a request of the second master virtual machine.

본 발명의 일 실시예에 따라, 상기 방법을 수행할 수 있는 컴퓨터가 판독 가능한 프로그램이 기록된 기록매체를 제공할 수 있다. According to an embodiment of the present invention, a recording medium having a computer readable program recorded thereon capable of performing the method can be provided.

본 발명의 일 실시예에 따르면, 다수의 사용자가 동시에 가상 클러스터 시스템의 구성을 요청할 경우 분산 구성 관리자와 가상 인프라 관리자에 과부하가 걸리거나 구성 관리 저장소의 구성 관리 데이터 접근이 지연되어 생길 수 있는 문제를 해결할 수 있다. According to an embodiment of the present invention, if a plurality of users simultaneously request the configuration of the virtual cluster system, the problem may be caused by overloading the distributed configuration manager and the virtual infrastructure manager or delayed access to the configuration management data in the configuration management repository. I can solve it.

본 발명의 일 실시예에 따르면, 메시지 큐를 통한 가상 클러스터 시스템의 가상 머신과 분산 코디네이터 및 분산 구성 관리자간에 비동기적 통신을 이용하여, 사용자 작업 수행의 안정성과 응답 성공율을 높일 수 있다. According to an embodiment of the present invention, by using asynchronous communication between the virtual machine of the virtual cluster system through the message queue, the distributed coordinator and the distributed configuration manager, it is possible to increase the stability of the user task performance and the success rate of response.

도1은 본 발명의 일 실시예에 따른 병렬 처리 기반의 분산 컴퓨팅 시스템을 프로비저닝하는 방법 및 장치를 설명하기 위해 제공되는 블록도,
도2는 본 발명의 일 실시예에 따라 사용자의 요청에 의해 병렬 처리 기반의 분산 컴퓨팅 시스템을 프로비저닝하고 데이터를 처리하는 방법을 설명하는 흐름도,
도3은 본 발명의 일 실시예에 따라 사용자가 가상 사설 네트워크를 통해 병렬 처리 기반의 분산 컴퓨팅 시스템에 접속하는 방법을 설명하는 흐름도,
도4는 본 발명의 일 실시예에 따라 분산 구성 관리자(40)가 각 사용자별로 병렬 처리 기반의 분산 컴퓨팅 시스템을 프로비저닝하는 것을 도식적으로 나타내는 블록도,
도5a 및 도5b는 본 발명의 일 실시예에 따라 병렬 처리 기반의 분산 컴퓨팅 시스템을 프로비저닝하는 방법을 설명하는 흐름도,
도6 내지 도9는 본 발명의 일 실시예에 따라 병렬 처리 기반의 분산 컴퓨팅 시스템을 프로비저닝하는 방법을 설명하기 위한 블록도,
도10은 본 발명의 일 실시예에 따라 병렬 처리 기반의 분산 컴퓨팅 시스템에서 사용자 데이터를 처리하는 방법을 설명하는 흐름도, 그리고,
도11은 본 발명의 일 실시예에 따라 병렬 처리 기반의 분산 컴퓨팅 시스템에서 데이터를 처리하는 방법을 설명하기 위한 블록도이다.
1 is a block diagram provided to explain a method and apparatus for provisioning a parallel processing based distributed computing system according to an embodiment of the present invention;
2 is a flowchart illustrating a method of provisioning a parallel computing based distributed computing system and processing data at the request of a user according to an embodiment of the present invention;
3 is a flowchart illustrating a method for a user connecting to a parallel processing based distributed computing system via a virtual private network according to an embodiment of the present invention;
4 is a block diagram schematically illustrating a distributed configuration manager 40 provisioning a parallel processing based distributed computing system for each user according to an embodiment of the present invention;
5A and 5B are flow charts illustrating a method for provisioning a parallel processing based distributed computing system in accordance with one embodiment of the present invention;
6 to 9 are block diagrams illustrating a method for provisioning a parallel computing based distributed computing system according to an embodiment of the present invention;
10 is a flowchart illustrating a method of processing user data in a parallel computing based distributed computing system according to an embodiment of the present invention;
11 is a block diagram illustrating a method of processing data in a parallel computing based distributed computing system according to an embodiment of the present invention.

이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시 예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시 예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다. BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features, and advantages of the present invention will become more readily apparent from the following description of preferred embodiments with reference to the accompanying drawings. However, the present invention is not limited to the embodiments described herein but may be embodied in other forms. Rather, the embodiments disclosed herein are provided so that the disclosure can be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.

본 명세서에서, 제1 구성요소가 제2 구성요소 "상에서" 동작(또는 실행)된다는 것은, 상기 제2 구성요소가 동작(또는 실행)되는 환경에서 상기 제1 구성요소가 동작(또는 실행)되거나 또는 상기 제1 구성요소가 상기 제2 구성요소와 직접 또는 간접적으로 상호 작용을 통해서 동작(또는 실행)되는 의미를 포함한다. In the present specification, that the first component is operated (or executed) on the second component means that the first component is operated (or executed) in an environment in which the second component is operated (or executed) or Or means in which the first component is operated (or executed) through interaction with the second component directly or indirectly.

어떤 구성요소, 장치, 또는 시스템이 프로그램 또는 소프트웨어로 이루어진 구성요소를 포함한다고 언급되는 경우, 명시적인 언급이 없더라도, 그 구성요소, 장치, 또는 시스템은 그 프로그램 또는 소프트웨어가 실행 또는 동작하는데 필요한 하드웨어(예를 들면, 메모리, CPU 등)나 다른 프로그램 또는 소프트웨어(예를 들면 운영체제나 하드웨어를 구동하는데 필요한 드라이버 등)를 포함하는 것으로 이해될 수 있다. When a component, device, or system is referred to as including a component made up of a program or software, even if not expressly stated, the component, device, or system may be a piece of hardware necessary for the program or software to execute or operate. For example, it may be understood to include a memory, a CPU, etc.) or other programs or software (eg, an operating system or a driver required to drive hardware).

또한 어떤 구성요소가 구현됨에 있어서 특별한 언급이 없다면, 그 구성요소는 소프트웨어, 하드웨어, 또는 소프트웨어 및 하드웨어 어떤 형태로도 구현될 수 있는 것으로 이해되어야 한다. It is also to be understood that unless otherwise stated in the implementation of any component, the component may be implemented in software, hardware, or any form of software and hardware.

본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 '포함하는'은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. As used in the specification, 'comprises' and / or 'comprising' does not exclude the presence or addition of one or more other components in addition to the components mentioned.

이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다. 아래의 특정 실시 예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다. Hereinafter, the present invention will be described in detail with reference to the drawings. In describing the following specific embodiments, various specific details are set forth in order to explain and understand the invention in more detail. However, those skilled in the art can understand that the present invention can be used without these various specific details. In some instances, it should be noted that portions of the invention that are well known in the description of the invention and are not significantly related to the invention do not describe confusion in describing the invention.

도1은 본 발명의 일 실시예에 따른 병렬 처리 기반의 분산 컴퓨팅 시스템을 프로비저닝하는 방법 및 장치를 설명하기 위해 제공되는 블록도이다. 1 is a block diagram provided to explain a method and apparatus for provisioning a parallel processing based distributed computing system according to an embodiment of the present invention.

본 발명의 바람직한 일 실시예에 따라, 클라우드 컴퓨팅 시스템(30)이 병렬 처리 기반의 분산 컴퓨팅 시스템을 프로비저닝하는 장치가 될 수 있다. 클라우드 컴퓨팅 시스템(30)은 유선 또는 무선의 네트워크를 통해 서비스 서버(20)와 통신한다.According to one preferred embodiment of the present invention, the cloud computing system 30 may be an apparatus for provisioning a parallel computing based distributed computing system. The cloud computing system 30 communicates with the service server 20 via a wired or wireless network.

서비스 서버(20)는 사용자 단말기(10)로부터 특정 서비스의 처리를 요청받고 이 서비스 처리를 위해 분산 컴퓨팅 시스템의 프로비저닝 및 서비스 처리에 필요한 정보를 클라우드 컴퓨팅 시스템(30)에 제공하고, 서비스 처리의 결과를 클라우드 컴퓨팅 시스템(30)으로부터 받아 이 결과를 사용자 단말기(10)로 전송하는 역할을 할 수 있다. The service server 20 receives a request for processing a specific service from the user terminal 10 and provides the cloud computing system 30 with information necessary for provisioning and service processing of the distributed computing system for processing the service, and the result of the service processing. Received from the cloud computing system 30 may transmit the result to the user terminal 10.

도시된 실시예에서, 서비스 서버(20)는 메시지 처리 인터페이스(201), 사용자 입력 해석기(202), 권한 관리자(203), 데이터 저장소(204), 가상 사설 네트워크 관리자(205), 작업대기 큐(206), 가상 인프라 요청 클라이언트(207), 및 관리 모듈(208)을 포함할 수 있다. In the illustrated embodiment, the service server 20 includes a message processing interface 201, a user input interpreter 202, a rights manager 203, a data store 204, a virtual private network manager 205, a wait queue ( 206, virtual infrastructure request client 207, and management module 208.

메시지 처리 인터페이스(201)는 사용자 단말기(10)로부터 분산 컴퓨팅 시스템의 자원 규모 및 구성 요구 사항, 작업 실행 정보 등의 입력 정보를 제공받는 인터페이스이다. 일 실시예에서 상기 사용자 단말기(10)로부터의 입력 정보는 메시지 형태로 제공될 수 있다. 사용자 입력 해석기(202)는 상기 사용자 단말기(10)로부터 제공받은 정보를 분산 컴퓨팅 시스템에 대한 요구 사항들이 담긴 메시지를 해석하여 서비스 서버(20) 내에서 처리할 수 있는 형태의 데이터 구조로 변환하며, 반대로 서비스 서버(20)에서 사용자에게 제공되는 정보들을 사용자가 이해하고 사용할 수 있는 형태로 역변환 해주는 역할을 하는 모듈이다. The message processing interface 201 is an interface that receives input information such as resource scale, configuration requirements, and job execution information of the distributed computing system from the user terminal 10. In one embodiment, the input information from the user terminal 10 may be provided in the form of a message. The user input interpreter 202 interprets the information provided from the user terminal 10 into a data structure that can be processed in the service server 20 by interpreting the message containing the requirements for the distributed computing system, On the contrary, the service server 20 converts the information provided to the user into a form that the user can understand and use.

권한 관리자(203)는 사용자 단말기(10)를 통해 서비스를 요청한 사용자가 적법한 사용자인지 인증하고 사용자에게 허용된 서비스 이용 권한 및 제약을 확인하는 모듈이다. 데이터 저장소(204)는 분산 파일 시스템에서의 데이터 저장장치로서, 사용자의 작업 실행에 필요한 데이터 및 파일들, 그리고 작업 실행 후에 생성된 결과 데이터들과 산출물을 보관하고 열람할 수 있도록 하는 장치이다. The authority manager 203 is a module for authenticating whether a user who has requested a service through the user terminal 10 is a legitimate user and confirming service use rights and restrictions allowed by the user. The data store 204 is a data storage device in a distributed file system. The data store 204 is a device for storing and viewing data and files necessary for executing a user's job, and result data and outputs generated after the job is executed.

가상 사설 네트워크 관리자(205)는 가상 인프라 관리자의 가상 네트워크에 사용자가 접근할 수 있는 가상 사설 네트워크 채널을 구성하여 사용자의 개인 인증 및 접근 정보와 매핑하여 관리해주며, 사용자의 요청이 있을 때마다 인증 및 권한 관리자를 통해 단일 사용자 인증(Single Sign-On)을 거쳐 가상 사설 네트워크에 접근할 수 있는 채널을 제공할 수 있다. The virtual private network manager 205 configures a virtual private network channel that a user can access to the virtual network of the virtual infrastructure manager, maps and manages the user's personal authentication and access information, and authenticates and requests each time a user requests. The authorization manager can provide a channel for accessing a virtual private network through single sign-on.

작업 대기 큐(Queue)(206)는 클라우드 컴퓨팅 시스템(30) 내에서 사용자의 분산 컴퓨팅 시스템의 프로비저닝 요청과 작업 실행 요청이 실행될 수 있는 클라우드 컴퓨팅 자원이 확보될 때까지 작업 요청을 대기시키며 관리하는 대기열 서비스 모듈이다. 가상 인프라 요청 클라이언트(207)는 사용자의 요청에 따라 가상 자원을 클라우드 컴퓨팅 시스템(30)에 요청하는 모듈이다. The work waiting queue 206 queues and manages work requests until the cloud computing resources in which the user's distributed computing system provisioning requests and job execution requests are available within the cloud computing system 30 are available. Service module. The virtual infrastructure request client 207 is a module for requesting a virtual resource from the cloud computing system 30 according to a user's request.

관리 모듈(208)은 분산 컴퓨팅 시스템의 프로비저닝 상황, 분산 컴퓨팅 시스템에서의 사용자 작업 실행 상황 등을 모니터링하고 관리할 수 있도록 하는 모듈이다. The management module 208 is a module for monitoring and managing provisioning status of a distributed computing system, execution status of user tasks in a distributed computing system, and the like.

서비스 서버(20)의 상술한 구성요소에 대해 발명의 실시 형태에 따라 일부 기능이 추가되기도 하고 제한될 수도 있다. 또한 발명의 실시 형태에 따라 새로운 구성요소가 추가될 수 있고 상술한 구성요소 중 일부가 생략될 수도 있다. 예를 들어 사설 네트워크를 제공하지 않는 시스템이라면 가상 사설 네트워크 관리자(205)가 생략될 수 있다. 또한 발명의 실시 형태에 따라 상술한 둘 이상의 구성요소가 하나의 통합된 모듈로 동작할 수도 있으며, 예컨대 사용자 단말기(10)와 통신하는 메시지 인터페이스(201)와 사용자 입력을 해석하는 사용자 입력 해석기(202)가 하나의 통합 모듈로 구현될 수도 있다. With respect to the above-described components of the service server 20, some functions may be added or limited according to the embodiment of the invention. In addition, according to an embodiment of the present invention, new components may be added and some of the aforementioned components may be omitted. For example, if the system does not provide a private network, the virtual private network manager 205 may be omitted. In addition, according to an embodiment of the present invention, the two or more components described above may operate as one integrated module, for example, a message interface 201 communicating with the user terminal 10 and a user input interpreter 202 for interpreting user input. ) May be implemented as one integrated module.

본 발명의 일 실시예에서, 클라우드 컴퓨팅 시스템(30)은 병렬 처리 기반의 분산 컴퓨팅 시스템(50)을 프로비저닝 하는 장치이다. 클라우드 컴퓨팅 시스템(30)은 또한 각 사용자별로 병렬 처리 기반의 가상 클러스터를 프로비저닝할 수도 있다. 여기서 "프로비저닝(provisioning)"이란 요청된 특정 컴퓨터 자원을 배치하고 제공하는 것을 말하며, 예컨대 클라우드 컴퓨팅 시스템(30)에서 쓰지 않고 있는 자원을 파악하고 사용자 요청에 따라 자원을 할당하여 서비스를 제공하는 것이다.In one embodiment of the invention, the cloud computing system 30 is an apparatus for provisioning a distributed computing system 50 based on parallel processing. The cloud computing system 30 may also provision a parallel cluster based virtual cluster for each user. Here, "provisioning" refers to disposing and providing specific requested computer resources, for example, identifying resources not being used in the cloud computing system 30 and allocating resources according to user requests to provide services.

또한 본 명세서에서 언급되는 "병렬 처리 기반의 분산 컴퓨팅 시스템"(50)은 명세서 전반에 걸쳐 간단히 "분산 컴퓨팅 시스템"이라 칭하기도 하며, 병렬 처리 기반의 분산 컴퓨팅 시스템을 프로비저닝하는 일 실시예로서 이하에서는 사용자별로 "가상 맵리듀스(MapReduce) 클러스터 시스템"(이하에서 간단히 "맵리듀스 시스템", "가상 클러스터 시스템", 또는 "가상 클러스터" 등으로 칭하기도 함)을 프로비저닝 하는 방법을 설명한다. 하지만 본 발명은 이에 제한되지 않고 임의의 방식의 병렬 처리 기반의 분산 컴퓨팅 시스템을 프로비저닝하는 방법 및 장치를 포함할 수 있음은 물론이다. In addition, the "parallel processing based distributed computing system" 50 referred to herein is referred to simply as a "distributed computing system" throughout the specification, and is an embodiment for provisioning a parallel processing based distributed computing system. A method of provisioning a "virtual MapReduce cluster system" (hereinafter referred to simply as "map reduce system", "virtual cluster system", or "virtual cluster") for each user will be described. However, the present invention is not limited thereto and may include a method and apparatus for provisioning a distributed computing system based on any type of parallel processing.

일 실시예에서 클라우드 컴퓨팅 시스템(30)은 하드웨어(301), 하이퍼바이저(302)를 포함한다. 하드웨어(301)은 예컨대 클라우드 컴퓨팅을 수행하기 위한 하나 이상의 서버, 저장장치, 및 네트워크 장치를 포함할 수 있다. In one embodiment, cloud computing system 30 includes hardware 301, hypervisor 302. The hardware 301 may include, for example, one or more servers, storage devices, and network devices for performing cloud computing.

하이퍼바이저(Hypervisor)(302)는 클라우드 컴퓨팅 시스템(30)의 하드웨어(301) 상에서 다수의 운영체제를 동시에 실행시키기 위한 가상 플랫폼으로서 가상 머신 모니터(Virtual Machine Monitor: VMM) 라고도 한다. Hypervisor 302 is also referred to as a Virtual Machine Monitor (VMM) as a virtual platform for concurrently running multiple operating systems on hardware 301 of cloud computing system 30.

가상 인프라 관리자(303)는 가상 머신, 가상 저장장치, 및 가상 네트워크 등의 가상 자원들을 생성, 운영, 및 관리하는 시스템이다. 가상 인프라 관리자 API(305)는 가상 인프라 관리자(303)를 동작시키는 명령어들을 로컬 장치나 원격에서 실행시킬 수 있도록 하는 프로토콜 및 명령 인터페이스의 집합이다. 도시된 일 실시예에서, 가상 인프라 관리자(303)는 가상 인프라 관리자 API(305)를 통해 서비스 서버(20)의 가상 인프라 요청 클라이언트(207) 및/또는 관리 모듈(208) 등과 통신할 수 있다. The virtual infrastructure manager 303 is a system for creating, operating, and managing virtual resources such as virtual machines, virtual storage devices, and virtual networks. The virtual infrastructure manager API 305 is a set of protocols and command interfaces that allow commands to operate the virtual infrastructure manager 303 to be executed locally or remotely. In the illustrated embodiment, the virtual infrastructure manager 303 may communicate with the virtual infrastructure request client 207 and / or the management module 208 of the service server 20 via the virtual infrastructure manager API 305.

가상 사설 네트워크 관리자(304)는 가상 사설 네트워크를 구성, 운영, 및 관리하는 모듈로서, 도시된 일 실시예에서 서비스 서버(20)의 가상 사설 네트워크 관리자(205)와 통신한다. The virtual private network manager 304 is a module for configuring, operating, and managing the virtual private network, and in one illustrated embodiment, communicates with the virtual private network manager 205 of the service server 20.

메인 분산 구성 관리자(40)는 분산 컴퓨팅 시스템(50) 내에서 사용자별로 하나의 맵리듀스 클러스터 시스템을 생성할 수 있도록 사용자 요청에 따라 동적으로 시스템과 시스템 내 서비스의 구성 및 운영을 조작, 변화시킬 수 있는 모듈이다. The main distributed configuration manager 40 can dynamically manipulate and change the configuration and operation of the system and the services in the system according to the user's request in order to create one MapReduce cluster system for each user in the distributed computing system 50. Module.

상술한 클라우드 컴퓨팅 시스템(30)의 구성요소들은 본 발명의 일 실시예에 따른 것으로, 발명의 실시 형태에 따라 각 구성요소들에 일부 기능이 추가되기도 하고 제한될 수도 있다. 또한 발명의 실시 형태에 따라 클라우드 컴퓨팅 시스템(30)에 새로운 구성요소가 추가될 수 있고 상술한 구성요소 중 일부가 생략될 수도 있다. The above-described components of the cloud computing system 30 are according to an embodiment of the present invention, and some functions may be added or limited to each component according to the embodiment of the present invention. In addition, according to an embodiment of the present invention, new components may be added to the cloud computing system 30, and some of the above components may be omitted.

도2는 본 발명의 일 실시예에 따라 사용자의 요청에 의해 병렬 처리 기반의 분산 컴퓨팅 시스템을 프로비저닝하고 데이터를 처리하는 방법을 설명하는 흐름도이다. 2 is a flowchart illustrating a method of provisioning a parallel processing based distributed computing system and processing data at the request of a user according to an embodiment of the present invention.

우선 단계(S201)에, 사용자는 자신이 필요한 분산 컴퓨팅 시스템의 규모, 사양과 요구 사항들을 기술한 요구사항 명세와 자신에게 가상으로 생성되어 제공될 분산 컴퓨팅 시스템(50)에서 처리할 데이터 및 작업 실행 파일들과 같은 사용자 입력 정보를 사용자 단말기(10)를 통해 서비스 서버(20)로 전송한다. First, in step S201, the user executes data and tasks to be processed in the distributed computing system 50 to be virtually generated and provided to the requirements specification describing the size, specifications and requirements of the distributed computing system required by the user. User input information such as files is transmitted to the service server 20 through the user terminal 10.

서비스 서버(20)의 메시지 처리 인터페이스(201)는 상기 사용자 입력 정보를 사용자 입력 해석기(202)로 전달하고, 사용자 입력 해석기(202)는 사용자의 계산 자원 및 시스템 구성 요구 사항 및 작업 기술 명세를 해석하여, 사용자에게 필요한 분산 컴퓨팅 시스템(50)을 구성하기 위한 시스템 구성 정보, 및 분산 컴퓨팅 시스템에서 작업을 실행하기 위해 필요한 작업 실행 정보를 생성한다. The message processing interface 201 of the service server 20 delivers the user input information to the user input interpreter 202, which interprets the user's computing resources and system configuration requirements and job descriptions. Thus, system configuration information for configuring the distributed computing system 50 required by the user, and job execution information required for executing the job in the distributed computing system are generated.

그 후 단계(S203)에서, 권한 관리자(203)에 의한 사용자 인증 및 권한 확인 단계가 수행된다. 즉 사용자가 서비스를 이용하기에 적법한 사용자인지 여부를 인증하고 서비스 이용 권한을 검사하여 사용자의 자원 이용 수준 및 권한을 확인한다. 권한 관리자(203)에서 인증 및 권한 확인이 이루어지면 사용자 입력 해석기(202)로 다시 제어를 반환한다.Thereafter, in step S203, the user authentication and authority confirmation step by the authority manager 203 is performed. That is, it verifies whether the user is a legitimate user to use the service and checks the user's resource use level and authority by checking the service use authority. When authentication and authorization check are made in the authority manager 203, control is returned to the user input interpreter 202 again.

다음으로 단계(S205)에서, 분산 컴퓨팅 시스템의 구성 및 작업 처리를 위한 정보, 즉 시스템 구성 정보 및 작업 실행 정보를 데이터 저장소(204)에 저장한 뒤, 단계(S207)에서, 작업 요청을 작업대기 큐(206)에 전달하여 대기시킨다. 일 실시예에서 작업대기 큐(206)는, 가상 인프라 요청 클라이언트(207)와 가상 인프라 관리자(301) 사이의 통신을 통해, 작업대기 큐(206)에 대기중인 사용자의 분산 컴퓨팅 시스템 요청을 수행할 수 있는 자원이 클라우드 컴퓨팅 시스템(30)에 있는지 주기적으로 검사하며, 사용자가 요청한 분산 컴퓨팅 시스템(50)을 실행할 수 있을 때까지 작업 대기 큐(206)에서 작업 요청을 대기시킨다. 그 후 가상 인프라 관리자(301)가 요청된 분산 컴퓨팅 시스템을 실행할 수 있는 자원을 확보하면, 작업대기 큐(206)에 대기되어 있던 작업 요청을 가상 인프라 요청 클라이언트(207)에 전달한다.Next, in step S205, information for configuration and job processing of the distributed computing system, that is, system configuration information and job execution information is stored in the data store 204, and in step S207, the job request is waited on. Deliver to queue 206 to wait. In one embodiment, the wait queue 206, through communication between the virtual infrastructure request client 207 and the virtual infrastructure manager 301, may perform a distributed computing system request of a user waiting in the wait queue 206. It periodically checks if there are available resources in the cloud computing system 30 and waits for the work request in the work waiting queue 206 until the user can run the requested distributed computing system 50. Thereafter, when the virtual infrastructure manager 301 reserves resources for executing the requested distributed computing system, the virtual infrastructure manager 301 forwards the work request queued in the work waiting queue 206 to the virtual infrastructure request client 207.

단계(S209)에서, 가상 인프라 요청 클라이언트(207)는 전달받은 사용자의 작업 요청을 클라우드 컴퓨팅 시스템(30)의 가상 인프라 관리자(301)에 전송한다. 이 때, 분산 컴퓨팅 시스템을 구성하기 위한 시스템 구성 정보 및 작업 실행에 필요한 작업 실행 정보가 상기 작업 요청에 포함되거나 상기 작업 요청과 별도로 가상 인프라 관리자(301)로 전송될 수 있다. In step S209, the virtual infrastructure request client 207 transmits the received user's work request to the virtual infrastructure manager 301 of the cloud computing system 30. In this case, system configuration information for configuring a distributed computing system and job execution information required for job execution may be included in the job request or transmitted to the virtual infrastructure manager 301 separately from the job request.

그 후 단계(S211)에서, 가상 인프라 관리자(301)는 전달 받은 시스템 구성 정보를 이용하여 클라우드 컴퓨팅 시스템(30) 내의 서버 자원, 저장장치 자원, 및 네트워크 자원에 가상 머신, 가상 저장장치, 및 가상 네트워크 자원을 생성하고 스케줄링하여 분산 컴퓨팅 시스템(50)을 생성한다. 생성된 분산 컴퓨팅 시스템(50)은 하이퍼바이저(302)를 통해 물리적인 자원 위에서 실행된다.Thereafter, in step S211, the virtual infrastructure manager 301 uses the received system configuration information to store the virtual machine, virtual storage device, and virtual server server, storage resource, and network resource in the cloud computing system 30. Generate and schedule network resources to generate distributed computing system 50. The generated distributed computing system 50 runs on the physical resources through the hypervisor 302.

다음으로 단계(S213)에서, 메인 분산 구성 관리자(304)가 시스템 구성 정보에 따른 사용자의 요구 사항에 맞게 분산 컴퓨팅 시스템(50)을 구성한다. 예컨대 사용자의 요구 사항에 따라 분산 컴퓨팅 시스템(50)에 맵리듀스 소프트웨어를 설치함으로써 가상 맵리듀스 클러스터 시스템을 구성할 수 있다. Next, in step S213, the main distributed configuration manager 304 configures the distributed computing system 50 to meet the requirements of the user according to the system configuration information. For example, the virtual map reduce cluster system may be configured by installing map reduce software in the distributed computing system 50 according to a user's requirement.

상기 단계(S213)에 의해 분산 컴퓨팅 시스템(50)에 사용자 요청 작업을 실행하기 위해 필요한 시스템이 갖추어지고, 그 후 단계(S215)에서 사용자의 요청 작업을 처리한다. In step S213, the distributed computing system 50 is equipped with a system for executing a user request job, and then, in step S215, the user's request job is processed.

본 발명의 일 실시예에서, 분산 컴퓨팅 시스템(50)은 사용자가 요청한 작업을 수행한 후 생성된 결과 데이터 및 파일들을 서비스 서버(20)의 데이터 저장소(204)로 전송한다. 데이터 저장소(204)에 수신된 결과 데이터 및 파일들은 사용자 입력 해석기(202)에서 응답 메시지로 변환되거나 생성되어 사용자 단말기(10)로 전송된다. 그리고 해당 사용자의 요청에 따라 구성된 분산 컴퓨팅 시스템(50) 내의 가상 머신들은 실행이 중단되어 소멸되거나 사용자의 다음 작업 실행 요청 때까지 유지될 수 있다. In one embodiment of the present invention, the distributed computing system 50 transmits the generated result data and files to the data store 204 of the service server 20 after performing a task requested by the user. The resulting data and files received in the data store 204 are converted or generated in response messages in the user input interpreter 202 and transmitted to the user terminal 10. In addition, the virtual machines in the distributed computing system 50 configured according to the user's request may be suspended and destroyed, or maintained until the user's next job execution request.

한편 본 발명의 일 실시예에 따르면, 사용자는 관리 모듈(208)을 통해 분산 컴퓨팅 시스템(50) 및 이 분산 컴퓨팅 시스템(50)에서 실행되는 작업의 실행 상황을 모니터링하고 관리할 수 있다. 구체적인 일 실시예에서, 사용자는 관리 모듈(208)을 통해, 분산 컴퓨팅 시스템(50)의 운영 상황 또는 자신의 작업 실행 상황을 모니터링 하기 위해 정보를 요청하거나 분산 컴퓨팅 시스템의 운영이나 자신의 작업을 관리하고자 소정 관리작업을 요청할 수 있고, 이러한 정보 요청 또는 관리작업 요청은 가상 인프라 관리자(303)로 전송된다. 그 후 상기 정보 요청 또는 관리작업 요청에 대한 결과가 관리 모듈(208)로 반환되고 사용자가 확인할 수 있다. Meanwhile, according to an embodiment of the present invention, the user may monitor and manage the execution status of the distributed computing system 50 and the tasks executed in the distributed computing system 50 through the management module 208. In one specific embodiment, the user requests information to monitor the operation of the distributed computing system 50 or the execution of his or her task or manage the operation of the distributed computing system or his task through the management module 208. A predetermined administrative task can be requested, and this information request or administrative task request is transmitted to the virtual infrastructure manager 303. The result of the information request or management task request is then returned to the management module 208 for viewing by the user.

도3은 본 발명의 일 실시예에 따라 사용자가 가상 사설 네트워크를 통해 병렬 처리 기반의 분산 컴퓨팅 시스템에 접속하는 방법을 설명하는 흐름도이다. 3 is a flowchart illustrating a method for a user connecting to a parallel processing based distributed computing system through a virtual private network according to an embodiment of the present invention.

우선 단계(S301)에서, 사용자로부터의 접근 요청을 가상 사설 네트워크 관리자(205)에 전송한다. 즉, 사용자가 분산 컴퓨팅 시스템(50)으로의 직접 접근을 요구할 경우, 사용자의 직접 접근을 위한 가상 사설 네트워크(Virtual Private Network; VPN)를 열기 위해 사용자의 접근 요구 사항을 서비스 서버(20)의 가상 사설 네트워크 관리자(205)에 요청한다. First, in step S301, an access request from a user is sent to the virtual private network manager 205. That is, when a user requests direct access to the distributed computing system 50, the access requirement of the user may be virtualized by the service server 20 to open a virtual private network (VPN) for the direct access of the user. Request to the private network manager 205.

그러면 단계(S303)에서, 가상 사설 네트워크 관리자(205)가 가상 사설 네트워크를 열기 위해 필요한 단일 사용자 인증(Single Sign On; SSO) 및 사용자가 가상 사설 네트워크를 이용할 수 있는지 여부에 대한 권한 확인 작업이 권한 관리자(203)에서 수행된다. Then, in step S303, the single private sign-on (SSO) required by the virtual private network manager 205 to open the virtual private network, and the authorization check operation on whether the user can use the virtual private network are authorized. It is performed at manager 203.

권한 관리자(203)는 인증 및 권한 확인 결과 사용자가 적법한 사용자인 경우, 단계(S305)에서 가상 사설 네트워크 관리자(205)는 사용자가 이용할 수 있는 가상 사설 네트워크를 구성해줄 것을 클라우드 컴퓨팅 시스템(30) 내에 있는 가상 사설 네트워크 관리자(304)에게 요청한다.If the authorization manager 203 is a legitimate user as a result of authentication and authorization check, in step S305, the virtual private network manager 205 configures the virtual private network available to the user in the cloud computing system 30. The virtual private network manager 304.

그러면 단계(S307)에서 가상 사설 네트워크 관리자(304)가 가상 인프라 관리자(301)에게 요청하여 현재 사용자의 분산 컴퓨팅 시스템(50)의 실행을 위해 구성된 가상 네트워크 정보를 받아 가상 사설 네트워크를 구성하고, 구성된 가상 사설 네트워크 정보가 서비스 서버(20)의 가상 사설 네트워크 관리자(205)에게 전달된다. 그 후 단계(S309)에서, 가상 사설 네트워크 관리자(205)는 가상 사설 네트워크 정보 및 사용자 접속을 위한 접근 정보를 메시지 처리 인터페이스(201)를 통해 사용자 단말기(10)로 전송함으로써, 사용자가 가상 사설 네트워크를 통해서 분산 컴퓨팅 시스템(50)에 접근할 수 있도록 한다.Then, in step S307, the virtual private network manager 304 requests the virtual infrastructure manager 301 to receive the virtual network information configured for the execution of the distributed computing system 50 of the current user, and configures the virtual private network. Virtual private network information is communicated to the virtual private network manager 205 of the service server 20. Then, in step S309, the virtual private network manager 205 transmits the virtual private network information and the access information for the user connection to the user terminal 10 through the message processing interface 201, whereby the user Through the distributed computing system 50 to be accessed.

도4는 본 발명의 일 실시예에 따라 분산 구성 관리자(40)가 각 사용자별로 병렬 처리 기반의 분산 컴퓨팅 시스템을 프로비저닝하는 것을 도식적으로 나타내는 블록도이다. 4 is a block diagram schematically illustrating a distributed configuration manager 40 provisioning a parallel processing based distributed computing system for each user according to an embodiment of the present invention.

도4는 도1에 도시한 클라우드 컴퓨팅 시스템(30)을 보다 간단히 도식화한 것으로, 설명의 편의를 위해 가상 인프라 관리자(303), 가상 사설 네트워크 관리자(304), 및 가상 인프라 관리자 API(305)를 생략하였다. 4 is a simplified diagram of the cloud computing system 30 shown in FIG. 1. For convenience of description, the virtual infrastructure manager 303, the virtual private network manager 304, and the virtual infrastructure manager API 305 are illustrated. Omitted.

도4를 참조하면, 분산 컴퓨팅 시스템(50)을 프로비저닝 할 때 메인 분산 구성 관리자(40)를 이용하여 분산 컴퓨팅 시스템(50) 내에 사용자 별로 가상 맵리듀스 클러스터 시스템을 생성할 수 있다. 즉, 사용자로부터 가상 클러스터의 구성 및 작업 요청이 들어오면, 메인 분산 구성 관리자(40)는 하나의 가상 머신 상에 또 다른 분산 구성 관리자(이하에서 "서브 분산 구성 관리자"라 함)를 설치하고, 이 서브 분산 구성 관리자가 해당 가상 클러스터 내에 있는 모든 가상 머신에 맵리듀스 소프트웨어를 구성 및 설치함으로써 해당 사용자의 요청에 따른 가상 클러스터를 형성할 수 있다. Referring to FIG. 4, when provisioning the distributed computing system 50, a virtual map reduce cluster system may be generated for each user in the distributed computing system 50 using the main distributed configuration manager 40. That is, when a user receives a configuration and work request of a virtual cluster, the main distributed configuration manager 40 installs another distributed configuration manager (hereinafter referred to as "sub-distributed configuration manager") on one virtual machine, This sub-distributed configuration manager can configure and install MapReduce software on all virtual machines in the virtual cluster to form a virtual cluster at the request of the user.

이에 따라, 도4에 도시한 것처럼 예컨대 3명의 사용자가 동시에 작업 요청을 할 경우 메인 분산 구성 관리자(40)는 각 사용자별로 구성되는 제1 내지 제3 맵리듀스 클러스터(50a, 50b, 50c)의 각각에 서브 분산 구성 관리자만을 생성하면 되고, 그러면 각 클러스터 내의 서브 분산 구성 관리자가 자신이 속한 클러스터((50a, 50b, 50c)를 형성하기 위한 나머지 프로비저닝 절차를 수행하고, 이에 따라 메인 분산 구성 관리자(40)의 부하가 줄어든다. 그러므로, 많은 사용자가 동시에 분산 컴퓨팅 시스템(50)의 구성을 요청할 경우 메인 분산 구성 관리자(40)에 과부하가 걸리거나 구성 관리 저장소의 구성 관리 데이터 접근이 지연되어 생길 수 있는 문제를 해결할 수 있고, 더 나아가 추가의 시스템 확장 요구에 따라 클라우드 컴퓨팅 시스템(30)의 자원을 확장 하더라도 서비스가 쉽게 확장 가능하다.Accordingly, as shown in FIG. 4, for example, when three users request work at the same time, the main distributed configuration manager 40 may configure each of the first to third map reduce clusters 50a, 50b, and 50c configured for each user. Only the sub-distributed configuration managers need to be created in the server, and the sub-distributed configuration managers in each cluster then perform the remaining provisioning procedures for forming their clusters ((50a, 50b, 50c), and thus the main distributed configuration manager (40). Therefore, if many users simultaneously request configuration of the distributed computing system 50, the problem may be caused by overloading the main distributed configuration manager 40 or delayed access to configuration management data in the configuration management repository. And further expand the resources of the cloud computing system 30 in accordance with additional system expansion requirements. Suga is easily scalable.

도5a 및 도5b는 본 발명의 일 실시예에 따라 병렬 처리 기반의 분산 컴퓨팅 시스템을 프로비저닝하는 방법을 설명하는 흐름도이고, 도6 내지 도9는 본 발명의 일 실시예에 따라 병렬 처리 기반의 분산 컴퓨팅 시스템을 프로비저닝하는 방법을 설명하기 위한 블록도이다. 5A and 5B are flowcharts illustrating a method of provisioning a parallel processing based distributed computing system according to an embodiment of the present invention, and FIGS. 6 to 9 are parallel processing based distributed according to an embodiment of the present invention. A block diagram illustrating a method of provisioning a computing system.

도6은 도1에 도시한 클라우드 컴퓨팅 시스템(30)성을 간단히 도식화한 것으로, 설명의 편의를 위해 하드웨어(301), 하이퍼바이저(302), 가상 사설 네트워크 관리자(304), 및 가상 인프라 관리자 API(305)를 생략하였다. 또한 본 발명의 일 실시예에 따른 설명을 위해 메시지 통신 처리기(60) 및 분산 코디네이터(70)를 추가로 도시하였다. FIG. 6 is a schematic diagram of the cloud computing system 30 shown in FIG. 1, and for convenience of description, the hardware 301, the hypervisor 302, the virtual private network manager 304, and the virtual infrastructure manager API. (305) is omitted. In addition, the message communication processor 60 and the distributed coordinator 70 are further illustrated for explanation in accordance with an embodiment of the present invention.

일 실시예에서 메시지 통신 처리기(60)는 메시지 큐(601)를 포함한다. 메시지 큐(601)는 FIFO(First-In-First-Out) 방식으로 동작하는 저장 장치가 될 수 있고, 가상 머신(51)으로부터 소정 요청을 수신하고 그에 따른 응답을 출력할 수 있다. In one embodiment, the message communication processor 60 includes a message queue 601. The message queue 601 may be a storage device operating in a first-in-first-out (FIFO) manner, and may receive a predetermined request from the virtual machine 51 and output a response accordingly.

분산 코디네이터(70)는 분산 컴퓨팅 시스템(50)에 관한 전체 시스템 자원에서 공유되고 사용되는 정보나 변수(예컨대, 분산 컴퓨팅 시스템의 각 가상 클러스터의 구성에 필요한 정보, 각 가상 클러스터 내의 마스터 가상머신 및 작업 노드 가상머신의 구성에 필요한 정보 등)를 저장하고 관리한다. 분산 컴퓨팅 시스템(50)에 다수의 가상 머신이 설치되는 경우, 각 가상 머신의 구성 정보나 IP 정보 등은 메인 분산 구성 관리자(40), 가상 인프라 관리자(303) 등 다수의 모듈이나 서버가 공유하며 사용하는 정보이다. 분산 코디네이터(70)는 이러한 정보에 대한 동시 접근을 제한하여 데이터 일관성을 확보할 수 있다. 즉 소정 명령을 실행할 때 메시지 큐(601)와 분산 코디네이터(70)를 거쳐서 실행되도록 함으로써, 정보를 분산시킬 필요 없이 하나의 분산 코디네이터(70) 내에서 관리하도록 하여 데이터 일관성을 얻고 변수 값에 대한 동기화를 확보할 수 있다. The distributed coordinator 70 may include information or variables (e.g., information necessary for configuring each virtual cluster of the distributed computing system, master virtual machines and operations within each virtual cluster) that are shared and used in the overall system resources related to the distributed computing system 50. It stores and manages information necessary for the configuration of node virtual machine. When a plurality of virtual machines are installed in the distributed computing system 50, configuration information or IP information of each virtual machine is shared by a plurality of modules or servers such as a main distributed configuration manager 40 and a virtual infrastructure manager 303. Information to use. The distributed coordinator 70 may limit simultaneous access to this information to ensure data consistency. That is, when executing a predetermined command is executed through the message queue 601 and the distributed coordinator 70, so that it is managed in one distributed coordinator 70 without having to distribute the information to obtain data consistency and synchronization for variable values Can be secured.

또한 분산 코디네이터(70)는 메시지 큐(601)를 통해 분산 컴퓨팅 시스템(50)의 상태(state) 정보를 저장 및 변경하는 역할을 더 포함할 수 있고, 이에 따라, 분산 컴퓨팅 시스템(50)으로부터 소정 요청을 받을 때마다 분산 컴퓨팅 시스템(50)의 상태 정보를 변경하는 기능을 수행한다. In addition, the distributed coordinator 70 may further include a role of storing and changing state information of the distributed computing system 50 through the message queue 601, and thus, may be predetermined from the distributed computing system 50. Each time a request is received, the function of changing the state information of the distributed computing system 50 is performed.

한편 실시 형태에 따라 메인 분산 구성 관리자(40), 분산 컴퓨팅 시스템(50), 메시지 통신 처리기(60), 및 분산 코디네이터(70) 등은 각각 별개의 서버에 설치되어 서로 네트워크를 통해 통신할 수 있다. 또한 메시지 통신 처리기(60)나 분산 코디네이터(70)의 각각은 하나 이상의 서버로 구현될 수도 있다. Meanwhile, according to the embodiment, the main distributed configuration manager 40, the distributed computing system 50, the message communication processor 60, and the distributed coordinator 70 may be installed in separate servers to communicate with each other through a network. . In addition, each of the message communication processor 60 and the distributed coordinator 70 may be implemented as one or more servers.

이제 분산 컴퓨팅 시스템(50)을 프로비저닝하는 일 실시예인 도5a를 참조하면, 우선 단계(S501)에서, 서비스 서버(20)로부터 사용자의 자원 요구 사항을 전달 받은 가상 인프라 관리자(303)가 사용자의 요구 사양을 갖춘 하나 이상의 가상 머신을 스케줄링하고 실행한다(도6의 화살표 참조). 도시한 일 실시예에서 가상 인프라 관리자(303)는 하나의 마스터 가상머신(51) 및 하나 이상의 작업 노드 가상머신(52a, 52b ,52c)을 실행할 수 있다. 이 때, 마스터 가상머신(51) 및 작업 노드 가상머신(52a, 52b ,52c)에는 운영체제(OS)만 설치된 상태이고, 마스터 가상머신(51)은 메시지 송수신기(513)를 더 포함하고 있는 것을 제외하고는 작업 노드 가상머신(52a, 52b ,52c)과 동일하다. Referring now to FIG. 5A, an embodiment of provisioning a distributed computing system 50, first, in step S501, a virtual infrastructure manager 303 that has received a user's resource requirements from a service server 20 receives a user's request. Schedule and run one or more virtual machines with specifications (see arrows in FIG. 6). In the illustrated embodiment, the virtual infrastructure manager 303 may execute one master virtual machine 51 and one or more work node virtual machines 52a, 52b, 52c. At this time, only the operating system (OS) is installed in the master virtual machine 51 and the work node virtual machines 52a, 52b, and 52c, except that the master virtual machine 51 further includes a message transceiver 513. Are the same as the working node virtual machines 52a, 52b, and 52c.

그 후, 마스터 가상머신(51)이 마스터 에이전트를 설치하라는 요청을 메인 분산 구성 관리자(40)에 전송해야 하는데, 이를 위해, 단계(S503)에서 마스터 가상머신(51)의 메시지 송수신기(513)가 메시지 통신 처리기(60)의 메시지 큐(601)에 마스터 에이전트의 설치 요청을 전송한다(도7 참조). Thereafter, the master virtual machine 51 should send a request to the main distributed configuration manager 40 to install the master agent. For this purpose, in step S503, the message transceiver 513 of the master virtual machine 51 The installation request of the master agent is transmitted to the message queue 601 of the message communication processor 60 (see FIG. 7).

그러면 단계(S505)에서 메시지 통신 처리기(60)가 분산 코디네이터(70)와 통신하여 마스터 에이전트 설치 명령을 획득하여 이를 메인 분산 구성 관리자(40)로 전달한다.Then, in step S505, the message communication processor 60 communicates with the distributed coordinator 70 to obtain a master agent installation command and deliver it to the main distributed configuration manager 40.

이 과정의 구체적인 일 실시예에 따르면, 우선, 메시지 큐(601)가 마스터 에이전트 설치 요청을 분산 코디네이터(70)에 전달하면 분산 코디네이터(70)는 이 설치 요청에 기초하여 분산 코디네이터에 있는 사용자의 작업 아이디에 해당하는 가상 맵리듀스 시스템의 상태를 예컨대 "가상머신_개시" 상태에서 "구성" 상태로 전환한다. 이에 따라 상태 변수값의 전환시 실행되는 이벤트 처리기에 의해 자동 구성을 위한 마스터 에이전트 설치 명령을 메시지 큐(601)에 전달하고, 메시지 큐(601)는 마스터 에이전트 설치 명령을 메인 분산 구성 관리자(40)의 메시지 송수신기(312)로 전달한다. According to one specific embodiment of this process, first, the message queue 601 forwards the master agent installation request to the distributed coordinator 70, the distributed coordinator 70 based on the installation request, the user's work in the distributed coordinator The state of the virtual map reduce system corresponding to the ID is changed from the "virtual machine_start" state to the "configuration" state, for example. Accordingly, an event handler executed upon switching of state variable values transmits a master agent installation command for automatic configuration to the message queue 601, and the message queue 601 sends the master agent installation command to the main distributed configuration manager 40. The message is transmitted to the transceiver 312.

한편, 본 발명의 대안적인 실시 형태에서 메시지 통신 처리기(60)가 존재하지 않을 수도 있다. 이 경우, 상기 단계(S503 및 S505)에 대한 대안적인 실시예로서 메시지 통신 처리기(60)를 거치지 않고 마스터 가상머신(51)과 분산 코디네이터(70) 및 메인 분산 구성 관리자(40) 간의 통신이 행해질 수 있다. 즉, 단계(S503)에서, 마스터 가상머신(51)이 마스터 에이전트의 설치 요청을 분산 코디네이터(70)로 바로 전송하고, 메인 분산 구성 관리자(40)가 마스터 에이전트 설치 명령을 분산 코디네이터(70)로부터 직접 수신할 수 있다.On the other hand, in an alternative embodiment of the present invention, the message communication processor 60 may not exist. In this case, as an alternative embodiment to the steps S503 and S505, communication between the master virtual machine 51, the distributed coordinator 70, and the main distributed configuration manager 40 may be performed without passing through the message communication processor 60. Can be. That is, in step S503, the master virtual machine 51 sends the master agent installation request directly to the distributed coordinator 70, and the main distributed configuration manager 40 sends the master agent installation command from the distributed coordinator 70. Can be received directly.

다시 도5a의 실시예에서, 단계(S507)에서, 메인 분산 구성 관리자(40)가 마스터 에이전트의 설치를 위한 구성 정보를 획득한다. 도시한 일 실시예에서, 메시지 송수신기(312)가 마스터 에이전트 설치 명령을 분산 구성 제어기(401)에 전달하고, 분산 구성 제어기(401)는 요청된 설치 명령에 해당하는 구성 정보를 구성 정보 저장소(402)에 요청하여 저장소(402)로부터 전달받음으로써 마스터 에이전트의 설치를 위한 구성 정보를 획득한다. Again in the embodiment of Figure 5A, in step S507, the main distributed configuration manager 40 obtains configuration information for installation of the master agent. In the illustrated embodiment, the message transceiver 312 forwards the master agent installation command to the distributed configuration controller 401, which distributes configuration information corresponding to the requested installation command to the configuration information store 402. ) To obtain configuration information for installation of the master agent by receiving from the repository 402.

다음으로 단계(S509)에서, 메인 분산 구성 관리자(40)가 마스터 가상머신(51)에 마스터 에이전트(511)를 설치한다. 도시한 실시예의 경우, 메인 분산 구성 관리자(40)의 분산 구성 제어기(401)가 마스터 가상머신(51)에 마스터 에이전트(511)를 설치하고 구성한다. 여기서 마스터 에이전트(511)는 예를 들어 가상머신에서 데몬 서비스 형태로 운영되면서 메인 분산 구성 관리자(40)의 제어에 따라 가상머신을 용도에 맞게 구성하는 모듈로서 구현될 수 있다. Next, in step S509, the main distributed configuration manager 40 installs the master agent 511 in the master virtual machine 51. In the illustrated embodiment, the distributed configuration controller 401 of the main distributed configuration manager 40 installs and configures the master agent 511 on the master virtual machine 51. Here, the master agent 511 may be implemented as a module that configures the virtual machine according to a purpose under the control of the main distributed configuration manager 40 while operating in the form of a daemon service in the virtual machine.

이제 단계(S511)에서 마스터 가상머신(51)이 서브 분산 구성 관리자의 설치 요청을 메인 분산 구성 관리자(40)에게 전송한다(도8 참조). 도시된 구체적 실시예의 경우 마스터 가상 머신(51)의 마스터 에이전트(511)가 메인 분산 구성 관리자(40)의 분산 구성 제어기(401)에게 상기 설치 요청을 전달할 수 있다. In step S511, the master virtual machine 51 transmits the installation request of the sub distributed configuration manager to the main distributed configuration manager 40 (see FIG. 8). In the illustrated embodiment, the master agent 511 of the master virtual machine 51 may deliver the installation request to the distributed configuration controller 401 of the main distributed configuration manager 40.

그 후 도5b의 단계(S513)에서, 메인 분산 구성 관리자(40)가 서브 분산 구성 관리자의 설치 정보를 획득한다. 예컨대 메인 분산 구성 관리자(40)의 분산 구성 제어기(311)가 서브 분산 구성 관리자의 설치를 위한 구성 정보를 구성 정보 저장소(402)에 요청하여 상기 구성 정보를 획득할 수 있다. 일 실시예에서, 이 단계(S513)에서, 분산 구성 제어기(401)가 맵리듀스 클러스터 시스템의 형성을 위한 맵리듀스 소프트웨어 설치 및 구성 정보도 구성 정보 저장소(402)로부터 획득할 수 있다. Thereafter, in step S513 of FIG. 5B, the main distributed configuration manager 40 obtains installation information of the sub distributed configuration manager. For example, the distributed configuration controller 311 of the main distributed configuration manager 40 may obtain configuration information by requesting the configuration information store 402 for configuration information for installation of the sub distributed configuration manager. In one embodiment, in this step S513, the distributed configuration controller 401 may also obtain mapreduce software installation and configuration information from the configuration information store 402 for formation of the map reduce cluster system.

다음으로 상기 단계(S513)에 획득한 구성 정보에 기초하여, 단계(S515)에서 메인 분산 구성 관리자(40)가 마스터 가상머신(51)에 서브 분산 구성 관리자(512)를 설치한다. 서브 분산 구성 관리자(512)는 가상 맵리듀스 시스템을 자율 구성할 수 있는 모듈로서, 바람직하게는 마스터 가상머신(51)에 설치되어 맵리듀스 클러스터 시스템을 설치 및 구성할 수 있다. Next, based on the configuration information obtained in step S513, the main distributed configuration manager 40 installs the sub distributed configuration manager 512 in the master virtual machine 51 in step S515. The sub-distributed configuration manager 512 is a module capable of autonomously configuring the virtual map reduce system, and is preferably installed in the master virtual machine 51 to install and configure the map reduce cluster system.

여기서 서브 분산 구성 관리자(512)는 메인 분산 구성 관리자(40)와 기본적으로 구성이 동일하다. 즉 메인 분산 구성 관리자(40)와 마찬가지로 분산 구성 제어기(401) 및 구성 정보 저장소(402)에 각각 대응하는 분산 구성 제어기(도시 생략) 및 구성 정보 저장소(도시 생략)을 포함할 수 있다. 다만 구성 정보 저장소의 경우, 메인 분산 구성 관리자(40)의 구성 정보 저장소(402)가 시스템 내의 모든 구성 정보를 다 저장하고 있음에 반해, 서브 분산 구성 관리자(512)의 구성 정보 저장소는 해당 마스터 가상머신(51)이 속한 가상 클러스터를 형성하는데 필요한 구성 정보만 저장하면 된다. 그리고 마스터 가상머신(51)이 메시지 송수신기(513)를 포함하고 있으므로, 서브 분산 구성 관리자(512)는 별도의 메시지 송수신기를 가질 필요는 없다. The sub distributed configuration manager 512 is basically the same as the main distributed configuration manager 40. That is, like the main distributed configuration manager 40, the distributed configuration controller 401 and the configuration information store 402 may include a distributed configuration controller (not shown) and a configuration information store (not shown), respectively. However, in the case of the configuration information store, the configuration information store 402 of the main distributed configuration manager 40 stores all the configuration information in the system, whereas the configuration information store of the sub-distributed configuration manager 512 is the master virtual server. Only configuration information necessary to form the virtual cluster to which the machine 51 belongs may be stored. Since the master virtual machine 51 includes the message transceiver 513, the sub distributed configuration manager 512 does not need to have a separate message transceiver.

서브 분산 구성 관리자(512)가 설치되면, 다음으로 단계(S517)에서 서브 분산 구성 관리자(512)가 각 작업 노드 가상머신(52a, 52b, 52c)에 작업 노드 에이전트(521)를 설치한다. 예를 들어, 마스터 가상머신(51)의 서브 분산 구성 관리자(512)가 가상 인프라 관리자(303)에서 받은 작업 노드 가상머신(52a, 52b, 52c)들의 정보를 이용하여 각각의 작업 노드 가상머신에 작업 노드 에이전트(521)를 설치할 수 있다. When the sub distributed configuration manager 512 is installed, the sub distributed configuration manager 512 installs the work node agent 521 in each work node virtual machine 52a, 52b, 52c in step S517. For example, the sub-distributed configuration manager 512 of the master virtual machine 51 uses the information of the work node virtual machines 52a, 52b, and 52c received from the virtual infrastructure manager 303 to each work node virtual machine. The work node agent 521 may be installed.

여기서 작업 노드 에이전트(521)는 마스터 에이전트(511)와 유사한 구성으로, 메인 분산 구성 관리자(40) 또는 서브 분산 구성 관리자(512)의 제어에 따라 작업 각각의 노드 가상머신(52a, 52b, 52c)을 용도에 맞게 구성하는 모듈로서 구현될 수 있다. Here, the work node agent 521 has a configuration similar to that of the master agent 511, and each node virtual machine 52a, 52b, 52c of the job under the control of the main distributed configuration manager 40 or the sub distributed configuration manager 512. It can be implemented as a module to configure the according to the purpose.

상기 단계(S517)까지의 수행에 의해 작업 노드 가상머신(52a, 52b, 52c)에 작업 노드 에이전트(521)가 설치되었다는 것만으로는 아직 모든 가상머신(51, 52a, 52b, 52c)이 완전히 맵리듀스 클러스터 시스템으로 통합된 상태가 아니다. 따라서 단계(S519)에서, 마스터 가상머신(51)이 맵리듀스 클러스터 시스템의 설치 요청을 메시지 통신 처리기(60)로 전송한다(도9 참조). The operation node agent 521 is installed in the work node virtual machines 52a, 52b, and 52c by the execution up to step S517, and all the virtual machines 51, 52a, 52b, and 52c are still fully mapped. It is not integrated into the Deuce cluster system. Therefore, in step S519, the master virtual machine 51 transmits the installation request of the MapReduce cluster system to the message communication processor 60 (see Fig. 9).

그러면 단계(S521)에서 메시지 통신 처리기(60)가 맵리듀스 클러스터 시스템의 설치 명령을 획득하여 이 명령을 마스터 가상머신(51)에 전달한다. 구체적 일 실시예에서, 메시지 통신 처리기(60)의 메시지 큐(601)가 마스터 가상머신(51)으로부터 맵리듀스 클러스터 시스템의 설치 요청을 받아 이를 분산 코디네이터(70)로 전달하면 분산 코디네이터(70)는 이 설치 요청에 기초하여 분산 코디네이터에 있는 맵리듀스 클러스터 시스템의 상태 변수값을 예컨대 "구성" 상태에서 "맵리듀스_구성" 상태로 전환한다. 이에 따라 상태 변수값의 전환시 실행되는 이벤트 처리기가 실행되고 맵리듀스 시스템의 설치 명령을 메시지 큐(601)에 전달한다. 메시지 큐(601)는 상기 설치 명령을 마스터 가상머신(51)의 메시지 송수신기(513)에 전달하고, 메시지 송수신기(513)는 이 설치 명령을 서브 분산 구성 관리자(512)로 전달한다. Then, in step S521, the message communication processor 60 obtains an installation command of the MapReduce cluster system and transfers the command to the master virtual machine 51. In a specific embodiment, when the message queue 601 of the message communication processor 60 receives the installation request of the MapReduce cluster system from the master virtual machine 51 and delivers it to the distributed coordinator 70, the distributed coordinator 70 Based on this installation request, the state variable value of the MapReduce cluster system in the distributed coordinator is changed from, for example, the "configuration" state to the "map reduce_configuration" state. Accordingly, the event handler executed when the state variable value is switched is executed, and the installation command of the map reduce system is transmitted to the message queue 601. The message queue 601 forwards the installation command to the message transceiver 513 of the master virtual machine 51, and the message transceiver 513 forwards this installation command to the sub distributed configuration manager 512.

한편, 상기 단계(S519 및 S521)에서도, 본 발명의 대안적인 실시 형태에 따라 메시지 통신 처리기(60)가 존재하지 않을 수 있다. 이 경우 상기 단계(S519)에서 마스터 가상머신(51)이 맵리듀스 클러스터의 설치 요청을 분산 코디네이터(70)로 직접 전송할 수 있고, 이에 대응하여 단계(S521)에서 분산 코디네이터(70)가 맵리듀스 클러스터의 설치 명령을 마스터 가상머신(51)에 직접 전송할 수 있다.On the other hand, even in the above steps S519 and S521, the message communication processor 60 may not exist according to an alternative embodiment of the present invention. In this case, in step S519, the master virtual machine 51 may directly transmit the installation request of the map reduce cluster to the distributed coordinator 70. In response thereto, the distributed coordinator 70 may perform the map reduce cluster in step S521. Can be directly sent to the master virtual machine (51).

다시 도5b의 실시예에서, 단계(S523)에서 서브 분산 구성 관리자(512)의 지시에 따라 각각의 작업 노드 가상머신에 있는 작업 노드 에이전트(521)가 각 작업 노드 가상머신(52a, 52b, 52c)에 맵리듀스 소프트웨어를 설치함으로써 해당 사용자의 요청에 따른 맵리듀스 가상 클러스터 시스템을 구성한다. 이에 따라, 맵리듀스 소프트웨어가 설치된 후에 분산 코디네이터(70)의 맵리듀스 클러스터 시스템의 상태가 예컨대 "맵리듀스_구성" 상태에서 "맵리듀스_개시" 상태로 변경되고 사용자의 작업 실행을 대기하는 상태로 전환할 수 있다. Again in the embodiment of FIG. 5B, in step S523, the work node agent 521 in each work node virtual machine, in accordance with the instruction of the sub-distributed configuration manager 512, is configured for each work node virtual machine 52a, 52b, 52c. By installing MapReduce software, the MapReduce virtual cluster system is configured according to the request of the user. Accordingly, after the MapReduce software is installed, the state of the MapReduce cluster system of the distributed coordinator 70 is changed from, for example, the "MapReduce_Configuration" state to the "MapReduce_Start" state and waits for the user to execute a job. You can switch.

도10은 본 발명의 일 실시예에 따라 병렬 처리 기반의 분산 컴퓨팅 시스템에서 사용자 데이터를 처리하는 방법을 설명하는 흐름도이고, 도11은 본 발명의 일 실시예에 따라 병렬 처리 기반의 분산 컴퓨팅 시스템에서 데이터를 처리하는 방법을 설명하기 위한 블록도이다. 10 is a flowchart illustrating a method of processing user data in a parallel processing based distributed computing system according to an embodiment of the present invention, and FIG. 11 is a parallel processing based distributed computing system according to an embodiment of the present invention. A block diagram for explaining a method of processing data.

도5a 및 도5b를 참조하여 설명한 단계를 거쳐 맵리듀스 가상 클러스터 시스템을 프로비저닝하면 상기 맵리듀스 시스템은 사용자의 작업 실행을 대기하는 상태가 된다. 그 후 도10의 단계(S1001)에서, 사용자의 맵리듀스 작업을 실행하기 위해 메시지 통신 처리기(60)의 메시지 큐(601)에 사용자 작업 실행 요청을 등록할 수 있다. When the MapReduce virtual cluster system is provisioned through the steps described with reference to FIGS. 5A and 5B, the MapReduce system is in a state of waiting for a user to execute a job. Thereafter, in step S1001 of FIG. 10, the user job execution request may be registered in the message queue 601 of the message communication processor 60 to execute the user's map reduce job.

다음으로 단계(S1003)에서, 메시지 통신 처리기(60)가 사용자 작업 파일 요청 명령을 획득하여 데이터 저장소(204)에 전달한다. 구체적인 일 실시예에서, 사용자 작업 실행 요청이 메시지 큐(601)에서 분산 코디네이터(70)로 전달되면, 분산 코디네이터(70)는 맵리듀스 시스템의 상태를 예컨대 "맵리듀스_개시" 상태에서 "작업_제출" 상태로 변경할 수 있고, 이에 따라 맵리듀스 시스템 상태 변경으로 실행된 이벤트 처리기에 의해 사용자 작업 파일들을 데이터 저장소(204)에 넣을 것을 요청하는 명령이 메시지 큐(314)에 등록된다. 그러면 메시지 큐(314)에 등록된 상기 요청 명령에 데이터 저장소(204)에 전달되고, 단계(S1005)에서 사용자 작업 파일이 마스터 가상머신(51)으로 전송된다. 일 실시예에서 상기 단계(S1005)는 마스터 가상머신(51)이 데이터 저장소(204)로부터 사용자 작업 파일을 끌어옴(pull)으로써 수행될 수 있다. Next, in step S1003, the message communication processor 60 obtains a user work file request command and passes it to the data store 204. In a specific embodiment, if a user job execution request is passed from the message queue 601 to the distributed coordinator 70, the distributed coordinator 70 may display the state of the map reduce system, for example, in the "map reduce_start" state. A command is registered in the message queue 314 requesting to put user work files into the data store 204 by the event handler executed with the MapReduce system state change. The request command registered in the message queue 314 is then transferred to the data store 204, and the user work file is transmitted to the master virtual machine 51 in step S1005. In an embodiment, step S1005 may be performed by the master virtual machine 51 pulling a user work file from the data store 204.

그 후 단계(S1007)에서 사용자 작업 파일이 맵리듀스 클러스터 내의 각 작업 노드 가상머신(52a, 52b, 52c)으로 전달되어 각 작업 노드 가상머신에서 맵리듀스 작업이 실행된다. 그리고 일 실시예에서, 사용자 작업이 실행되면 분산 코디네이터(70)의 맵리듀스 시스템 상태가 예컨대 "작업_제출" 상태에서 "작업_시작" 상태로 변경될 수 있다. Thereafter, in step S1007, the user work file is transferred to each work node virtual machine 52a, 52b, 52c in the map reduce cluster, and the map reduce job is executed in each work node virtual machine. And in one embodiment, when the user task is executed, the map reduce system state of the distributed coordinator 70 may be changed from the "task_submit" state to the "task_start" state, for example.

이상과 같이 본 발명의 일 실시예에 따르면, 클라우드 컴퓨팅 시스템 내에 운영되는 메인 분산 구성 관리자(40) 및 마스터 가상머신(51)에서 실행되는 서브 분산 구성 관리자(512)를 이용하여 맵리듀스 가상 클러스터의 맵리듀스 소프트웨어 구성 및 설치를 자동화하였다. 이러한 구성에 의해 다수의 사용자가 동시에 맵리듀스 시스템의 설치 및 구성을 요청하더라도 시스템 자원의 확장에 따라 서비스가 쉽게 확장가능 해지고, 메인 분산 구성 관리자(40)의 부하가 가상머신 상의 서브 분산 구성 관리자(512)에게로 분산될 수 있다.As described above, according to an embodiment of the present invention, the MapReduce virtual cluster using the main distributed configuration manager 40 and the sub distributed configuration manager 512 executed in the master virtual machine 51 operated in the cloud computing system. Automated MapReduce software configuration and installation. With this configuration, even if a plurality of users simultaneously request the installation and configuration of the MapReduce system, the service can be easily extended according to the expansion of system resources, and the load of the main distributed configuration manager 40 is increased by the sub distributed configuration manager (on the virtual machine). 512).

본 발명의 다른 일 실시예에 따르면, 메시지 큐(601)를 통한 맵리듀스 시스템의 가상머신과 분산 코디네이터(70) 및 메인 분산 구성 관리자(40) 사이의 비동기적 통신을 이용함으로써 사용자 작업 수행의 안정성과 응답성을 높였다.According to another embodiment of the present invention, the stability of user task performance by using asynchronous communication between the virtual machine of the MapReduce system and the distributed coordinator 70 and the main distributed configuration manager 40 through the message queue 601 And increased responsiveness.

또한 본 발명의 또 다른 일 실시예에 따르면, 분산 코디네이터(70)를 이용한 맵리듀스 시스템의 상태 전이와 상태 변화시 수행되는 이벤트 핸들러를 이용하여 이벤트 주도형으로 맵리듀스 시스템의 구성 및 실행이 자동화되도록 구현하였기 때문에 불필요한 지연 시간과 자원 낭비를 최소화할 수 있다. In addition, according to another embodiment of the present invention, the configuration and execution of the MapReduce system in an event-driven manner is automated by using an event handler that is performed at the state transition and state change of the MapReduce system using the distributed coordinator 70 Therefore, unnecessary delay time and waste of resources can be minimized.

이상과 같이 설명한 본 발명의 병렬 처리 기반의 가상 클러스터 컴퓨팅 시스템의 프로비저닝 장치 및 방법에 관한 기술은 하드웨어 또는 소프트웨어, 또는 이 둘의 적절한 조합으로 구현될 수 있다. 따라서, 예컨대 가상 클러스터 컴퓨팅 시스템을 프로비저닝하는 방법의 전부 또는 일부가 플로피 디스켓, CD-ROM, 하드 드라이브, 또는 임의의 기타 컴퓨터 판독가능 저장매체 등의 실체적인 매체에 구현된 프로그램 코드(즉, 명령어들)의 형태를 취할 수 있고, 이러한 프로그램 코드가 컴퓨터 등의 기계에 로드 되거나 또는 기계에 의해 실행될 때, 그 기계는 분산 컴퓨팅 시스템의 프로비저닝 장치를 구성하는 일부분이 될 수 있다. The technology related to the provisioning apparatus and method of the parallel processing-based virtual cluster computing system of the present invention described above may be implemented in hardware or software, or a suitable combination of the two. Thus, for example, program code (ie, instructions) embodied in a tangible medium such as a floppy diskette, CD-ROM, hard drive, or any other computer readable storage medium, all or part of a method of provisioning a virtual cluster computing system. ), And when such program code is loaded on or executed by a machine such as a computer, the machine may be part of the provisioning device of a distributed computing system.

상기와 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. While the present invention has been described with reference to the particular embodiments and drawings, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. This is possible.

10: 사용자 단말기 20: 서비스 서버
30: 클라우드 컴퓨팅 시스템 302: 하이퍼바이저
303: 가상 인프라 관리자 40: 메인 분산 구성 관리자
50: 분산 컴퓨팅 시스템 51: 마스터 가상머신
512: 서브 분산 구성 관리자 52a, 52b, 52c: 작업 노드 가상머신
60: 메시지 통신 처리기 70: 분산 코디네이터
10: user terminal 20: service server
30: cloud computing system 302: hypervisor
303: Virtual Infrastructure Manager 40: Main Distributed Configuration Manager
50: distributed computing system 51: master virtual machine
512: Sub-distributed configuration manager 52a, 52b, 52c: work node virtual machine
60: Message Communication Handler 70: Distributed Coordinator

Claims (22)

클라우드 컴퓨팅 시스템에 의해 병렬 처리 기반의 가상 클러스터 컴퓨팅 시스템을 프로비저닝하는 방법에 있어서,
상기 클라우드 컴퓨팅 시스템이, 상기 가상 클러스터 컴퓨팅 시스템의 사용자별 시스템 구성 정보에 따라서 작업 노드 가상머신들과 마스터 가상머신을 실행시키는 단계;
메인 분산 구성 관리자가 상기 마스터 가상머신 상에 서브 분산 구성 관리자를 설치하는 단계; 및
상기 서브 분산 구성 관리자가, 상기 작업 노드 가상머신들 상에 작업 노드 에이전트를 각각 설치하는 단계;를 포함하는 것을 특징으로 하는 프로비저닝 방법.
A method of provisioning a parallel processing based virtual cluster computing system by a cloud computing system,
Executing, by the cloud computing system, working node virtual machines and a master virtual machine according to user-specific system configuration information of the virtual cluster computing system;
Installing, by a main distributed configuration manager, a sub distributed configuration manager on the master virtual machine; And
And installing, by the sub distributed configuration manager, a work node agent on the work node virtual machines, respectively.
제 1 항에 있어서,
상기 메인 분산 구성 관리자가, 상기 마스터 가상머신 상에 마스터 에이전트를 설치하는 단계;를 더 포함하는 것을 특징으로 하는 프로비저닝 방법.
The method of claim 1,
Provisioning method further comprising the step of installing the master agent on the master virtual machine, the main distributed configuration manager.
제 2 항에 있어서, 상기 마스터 에이전트를 설치하는 단계가,
상기 마스터 가상머신이 마스터 에이전트의 설치 요청을 상기 메인 분산 구성 관리자로 전송하는 단계;
상기 메인 분산 구성 관리자가 마스터 에이전트의 설치를 위한 구성 정보를 획득하는 단계;를 포함하고,
상기 획득한 구성 정보에 기초하여 상기 메인 분산 구성 관리자가 상기 마스터 에이전트를 설치하는 것을 특징으로 하는 프로비저닝 방법.
The method of claim 2, wherein the step of installing the master agent,
Sending, by the master virtual machine, a request for installation of a master agent to the main distributed configuration manager;
Acquiring, by the main distributed configuration manager, configuration information for installation of a master agent;
And the main distributed configuration manager installs the master agent based on the obtained configuration information.
제 3 항에 있어서, 상기 마스터 에이전트의 설치 요청을 상기 메인 분산 구성 관리자로 전송하는 단계가,
상기 마스터 가상머신이 상기 마스터 에이전트의 설치 요청을 분산 코디네이터로 전송하는 단계; 및
상기 분산 코디네이터가 마스터 에이전트 설치 명령을 상기 메인 분산 구성 관리자로 전송하는 단계;를 포함하는 것을 특징으로 하는 프로비저닝 방법.
The method of claim 3, wherein the step of sending the installation request of the master agent to the main distributed configuration manager,
Sending, by the master virtual machine, a request for installation of the master agent to a distributed coordinator; And
The distributed coordinator sending a master agent installation command to the main distributed configuration manager.
제 2 항에 있어서, 상기 서브 분산 구성 관리자를 설치하는 단계가,
상기 마스터 에이전트가 상기 서브 분산 구성 관리자의 설치를 상기 메인 분산 구성 관리자에 요청하는 단계; 및
상기 메인 분산 구성 관리자가 서브 분산 구성 관리자의 설치를 위한 구성 정보를 획득하는 단계;를 포함하고,
상기 획득한 구성 정보에 기초하여 상기 메인 분산 구성 관리자가 상기 서브 분산 구성 관리자를 설치하는 것을 특징으로 프로비저닝 방법.
The method of claim 2, wherein installing the sub distributed configuration manager comprises:
The master agent requesting the main distributed configuration manager to install the sub distributed configuration manager; And
Acquiring, by the main distributed configuration manager, configuration information for installation of a sub distributed configuration manager;
And the main distributed configuration manager installs the sub distributed configuration manager based on the obtained configuration information.
제 1 항에 있어서,
상기 작업 노드 에이전트들이 각각의 작업 노드 가상머신 상에 병렬 처리 작업을 위한 소프트웨어를 설치하는 단계;를 더 포함하는 것을 특징으로 하는 프로비저닝 방법.
The method of claim 1,
And the work node agents installing software for parallel processing on each work node virtual machine.
제 6 항에 있어서, 상기 소프트웨어를 설치하는 단계가,
상기 마스터 가상머신이 가상 클러스터 시스템 설치 요청을 분산 코디네이터로 전송하는 단계;
상기 분산 코디네이터가 가상 클러스터 시스템 설치 명령을 상기 마스터 가상머신으로 전송하는 단계; 및
상기 마스터 가상머신에 전송된 상기 설치 명령에 기초하여, 상기 작업 노드 에이전트들이 각각의 작업 노드 가상머신 상에 상기 소프트웨어를 설치하는 단계;를 포함하는 것을 특징으로 하는 프로비저닝 방법.
7. The method of claim 6, wherein installing the software comprises:
Sending, by the master virtual machine, a virtual cluster system installation request to a distributed coordinator;
The distributed coordinator sending a virtual cluster system installation command to the master virtual machine; And
Based on the installation instructions sent to the master virtual machine, the work node agents installing the software on each work node virtual machine.
클라우드 컴퓨팅 시스템에 의해 병렬 처리 기반의 가상 클러스터 컴퓨팅 시스템을 프로비저닝하는 방법에 있어서,
상기 클라우드 컴퓨팅 시스템이, 제1 사용자의 가상 클러스터의 시스템 구성 정보에 따라서 제1 작업 노드 가상머신들과 제1 마스터 가상머신을 실행시키는 단계;
메인 분산 구성 관리자가 상기 제1 마스터 가상머신 상에 제1 서브 분산 구성 관리자를 설치하는 단계;
상기 클라우드 컴퓨팅 시스템이, 제2 사용자의 가상 클러스터의 시스템 구성 정보에 따라서 제2 작업 노드 가상머신들과 제2 마스터 가상머신을 실행시키는 단계;
상기 메인 분산 구성 관리자가 상기 제2 마스터 가상머신 상에 제2 서브 분산 구성 관리자를 설치하는 단계;를 포함하고,
상기 제1 및 제2 서브 분산 구성 관리자가 제1 작업 노드 가상머신들의 각각 및 제2 작업 노드 가상머신들의 각각에 작업 노드 에이전트를 설치하고, 상기 작업 노드 에이전트가 각 작업 노드 가상머신에 병렬 처리를 위한 소프트웨어를 설치하는 것을 특징으로 하는 프로비저닝 방법.
A method of provisioning a parallel processing based virtual cluster computing system by a cloud computing system,
Executing, by the cloud computing system, first work node virtual machines and first master virtual machine according to system configuration information of a virtual cluster of a first user;
Installing, by a main distributed configuration manager, a first sub distributed configuration manager on the first master virtual machine;
Executing, by the cloud computing system, second work node virtual machines and a second master virtual machine according to system configuration information of a virtual cluster of a second user;
Installing, by the main distributed configuration manager, a second sub distributed configuration manager on the second master virtual machine;
The first and second sub-distributed configuration managers install a work node agent on each of the first work node virtual machines and on each of the second work node virtual machines, and the work node agent performs parallel processing on each work node virtual machine. Provisioning method, characterized in that to install the software for.
제 8 항에 있어서,
상기 제1 서브 분산 구성 관리자를 설치하는 단계가, 상기 제1 마스터 가상머신 상에 제1 마스터 에이전트를 설치하는 단계를 포함하고,
상기 제2 서브 분산 구성 관리자를 설치하는 단계가, 상기 제2 마스터 가상머신 상에 제2 마스터 에이전트를 설치하는 단계를 포함하는 것을 특징으로 하는 프로비저닝 방법.
The method of claim 8,
Installing the first sub-distributed configuration manager comprises installing a first master agent on the first master virtual machine,
And installing the second sub distributed configuration manager comprises installing a second master agent on the second master virtual machine.
제 9 항에 있어서, 상기 제1 마스터 에이전트를 설치하는 단계가,
상기 제1 마스터 가상머신이 제1 마스터 에이전트 설치 요청을 분산 코디네이터로 전송하는 단계;
상기 분산 코디네이터가 제1 마스터 에이전트 설치 명령을 메인 분산 구성 관리자로 전송하는 단계; 및
상기 메인 분산 구성 관리자가 제1 마스터 에이전트를 설치하기 위한 구성 정보를 획득하는 단계;를 포함하고,
상기 획득한 구성 정보에 기초하여 상기 메인 분산 구성 관리자가 상기 제1 마스터 가상머신 상에 제1 마스터 에이전트를 설치하는 것을 특징으로 하는 프로비저닝 방법.
The method of claim 9, wherein the step of installing the first master agent,
Sending, by the first master virtual machine, a first master agent installation request to a distributed coordinator;
The distributed coordinator sending a first master agent installation command to a main distributed configuration manager; And
Acquiring, by the main distributed configuration manager, configuration information for installing a first master agent;
And the main distributed configuration manager installs a first master agent on the first master virtual machine based on the obtained configuration information.
제 10 항에 있어서, 상기 제1 서브 분산 구성 관리자를 설치하는 단계가,
제1 마스터 가상머신이 제1 서브 분산 구성 관리자의 설치 요청을 상기 메인 분산 구성 관리자에게 전송하는 단계; 및
상기 메인 분산 구성 관리자가 제1 서브 분산 구성 관리자의 설치를 위한 구성 정보를 획득하는 단계;를 포함하고,
상기 획득된 구성 정보에 기초하여 상기 메인 분산 구성 관리자가 상기 제1 마스터 가상머신 상에 제1 서브 분산 구성 관리자를 설치하는 것을 특징으로 하는 프로비저닝 방법.
11. The method of claim 10, wherein installing the first sub distributed configuration manager comprises:
Sending, by the first master virtual machine, the installation request of the first sub distributed configuration manager to the main distributed configuration manager; And
Acquiring, by the main distributed configuration manager, configuration information for installation of a first sub distributed configuration manager;
And the main distributed configuration manager installs a first sub distributed configuration manager on the first master virtual machine based on the obtained configuration information.
제 9 항에 있어서, 상기 제2 마스터 에이전트를 설치하는 단계가,
상기 제2 마스터 가상머신이 제2 마스터 에이전트 설치 요청을 분산 코디네이터로 전송하는 단계;
상기 분산 코디네이터가 제2 마스터 에이전트 설치 명령을 획득하여 메인 분산 구성 관리자로 전송하는 단계; 및
상기 메인 분산 구성 관리자가 제2 마스터 에이전트를 설치하기 위한 구성 정보를 획득하는 단계;를 포함하고,
상기 획득한 구성 정보에 기초하여 상기 메인 분산 구성 관리자가 상기 제2 마스터 가상머신 상에 제2 마스터 에이전트를 설치하는 것을 특징으로 하는 프로비저닝 방법.
The method of claim 9, wherein the step of installing the second master agent,
Sending, by the second master virtual machine, a second master agent installation request to a distributed coordinator;
Obtaining, by the distributed coordinator, a second master agent installation command, and transmitting it to a main distributed configuration manager; And
Acquiring, by the main distributed configuration manager, configuration information for installing a second master agent;
And the main distributed configuration manager installs a second master agent on the second master virtual machine based on the obtained configuration information.
제 12 항에 있어서, 상기 제2 서브 분산 구성 관리자를 설치하는 단계가,
제2 마스터 가상머신이 제2 서브 분산 구성 관리자의 설치 요청을 상기 메인 분산 구성 관리자에게 전송하는 단계; 및
상기 메인 분산 구성 관리자가 제2 서브 분산 구성 관리자의 설치를 위한 구성 정보를 획득하는 단계;를 포함하고,
상기 획득된 구성 정보에 기초하여 상기 메인 분산 구성 관리자가 상기 제2 마스터 가상머신 상에 제2 서브 분산 구성 관리자를 설치하는 것을 특징으로 하는 프로비저닝 방법.
13. The method of claim 12, wherein installing the second sub distributed configuration manager comprises:
Sending, by the second master virtual machine, the installation request of the second sub distributed configuration manager to the main distributed configuration manager; And
Acquiring, by the main distributed configuration manager, configuration information for installation of a second sub distributed configuration manager;
And the main distributed configuration manager installs a second sub distributed configuration manager on the second master virtual machine based on the obtained configuration information.
제 10 항 또는 제 12 항에 있어서, 상기 분산 코디네이터가 상기 제1 또는 제2 마스터 에이전트 설치 요청을 수신할 경우, 상기 분산 코디네이터에 있는 사용자별 가상 클러스터의 상태를 변경하는 것을 특징으로 하는 프로비저닝 방법. 13. The method of claim 10 or 12, wherein the distributed coordinator changes the state of a user-specific virtual cluster in the distributed coordinator when the distributed coordinator receives the first or second master agent installation request. 병렬 처리 기반의 가상 클러스터를 프로비저닝하는 장치에 있어서,
상기 가상 클러스터의 구성 정보에 따라서 마스터 가상머신 및 하나 이상의 작업 노드 가상머신을 실행시킬 수 있는 가상 인프라 관리자; 및
상기 가상 클러스터를 생성할 수 있는 제1 분산 구성 관리자;를 포함하고,
상기 제1 분산 구성 관리자가 상기 마스터 가상머신의 요청에 따라 상기 마스터 가상머신에 제2 분산 구성 관리자를 설치할 수 있는 것을 특징으로 하는 가상 클러스터를 프로비저닝하는 장치.
An apparatus for provisioning a virtual cluster based on parallelism,
A virtual infrastructure manager capable of executing a master virtual machine and one or more work node virtual machines according to configuration information of the virtual cluster; And
A first distributed configuration manager capable of creating the virtual cluster;
And the first distributed configuration manager can install a second distributed configuration manager in the master virtual machine according to a request of the master virtual machine.
제 15 항에 있어서, 상기 제2 분산 구성 관리자가 상기 하나 이상의 작업 노드 가상머신의 각각에 작업 노드 에이전트를 설치할 수 있고, 이 때 상기 각각의 작업 노드 에이전트는 각 작업 노드 가상머신에 병렬 처리를 위한 소프트웨어를 설치할 수 있는 것을 특징으로 하는 가상 클러스터를 프로비저닝하는 장치. 16. The system of claim 15, wherein the second distributed configuration manager may install a work node agent on each of the one or more work node virtual machines, wherein each work node agent is configured for parallel processing on each work node virtual machine. A device for provisioning a virtual cluster, wherein software can be installed. 제 16 항에 있어서, 상기 가상 클러스터를 프로비저닝하는 장치가,
상기 클러스터, 마스터 가상머신, 및 작업 노드 가상머신의 구성에 필요한 정보를 저장하고 관리하는 분산 코디네이터;를 더 포함하는 것을 특징으로 하는 가상 클러스터를 프로비저닝하는 장치.
The apparatus of claim 16, wherein the apparatus for provisioning the virtual cluster comprises:
And a distributed coordinator for storing and managing information necessary for configuring the cluster, the master virtual machine, and the working node virtual machine.
제 17 항에 있어서, 상기 분산 코디네이터가 상기 클러스터의 상태 정보를 저장 및 변경하는 기능을 더 포함하고,
상기 분산 코디네이터가 상기 마스터 가상머신의 요청을 수신할 때마다 상기 분산 코디네이터가 상기 클러스터의 상태 정보를 변경할 수 있는 것을 특징으로 하는 가상 클러스터를 프로비저닝하는 장치.
18. The system of claim 17, further comprising the distributed coordinator storing and changing state information of the cluster.
And whenever the distributed coordinator receives a request of the master virtual machine, the distributed coordinator may change state information of the cluster.
제 17 항에 있어서, 상기 제1 분산 구성 관리자, 및 상기 분산 코디네이터가 각기 물리적으로 상이한 서버 상에서 구현되는 것을 특징으로 하는 가상 클러스터를 프로비저닝하는 장치. 18. The apparatus of claim 17, wherein the first distributed configuration manager and the distributed coordinator are implemented on physically different servers. 병렬 처리 기반의 가상 클러스터를 프로비저닝하는 장치에 있어서,
제1 사용자의 가상 클러스터의 구성 정보에 따라서 제1 마스터 가상머신 및 하나 이상의 제1 작업 노드 가상머신을 실행시키고, 제2 사용자의 가상 클러스터의 구성 정보에 따라서 제2 마스터 가상머신 및 하나 이상의 제2 작업 노드 가상머신을 실행시킬 수 있는 가상 인프라 관리자; 및
상기 제1 및 제2 가상 클러스터를 각각 생성할 수 있는 메인 분산 구성 관리자;를 포함하고,
상기 메인 분산 구성 관리자가, 상기 제1 마스터 가상머신의 요청에 따라 상기 제1 마스터 가상머신에 제1 서브 분산 구성 관리자를 설치하고, 상기 제2 마스터 가상머신의 요청에 따라 상기 제2 마스터 가상머신에 제2 서브 분산 구성 관리자를 설치할 수 있는 것을 특징으로 하는 가상 클러스터를 프로비저닝하는 장치.
An apparatus for provisioning a virtual cluster based on parallelism,
Run the first master virtual machine and the one or more first work node virtual machines according to the configuration information of the first user's virtual cluster, and according to the configuration information of the second user's virtual cluster, the second master virtual machine and the one or more second A virtual infrastructure manager capable of executing a work node virtual machine; And
A main distributed configuration manager capable of creating the first and second virtual clusters, respectively;
The main distributed configuration manager installs a first sub distributed configuration manager on the first master virtual machine according to the request of the first master virtual machine, and requests the second master virtual machine according to the request of the second master virtual machine. And provisioning a second sub-distributed configuration manager in the virtual cluster.
제 20 항에 있어서,
상기 제1 서브 분산 구성 관리자가 상기 하나 이상의 제1 작업 노드 가상머신의 각각에 제1 작업 노드 에이전트를 설치할 수 있고, 상기 제1 작업 노드 에이전트는 상기 제1 사용자의 가상 클러스터의 구성 정보에 따라 병렬 처리를 위한 소프트웨어를 설치할 수 있고,
상기 제2 서브 분산 구성 관리자가 상기 하나 이상의 제2 작업 노드 가상머신의 각각에 제2 작업 노드 에이전트를 설치할 수 있고, 상기 제2 작업 노드 에이전트는 상기 제2 사용자의 가상 클러스터의 구성 정보에 따라 병렬 처리를 위한 소프트웨어를 설치할 수 있는 것을 특징으로 하는 가상 클러스터를 프로비저닝하는 장치.
21. The method of claim 20,
The first sub-distributed configuration manager may install a first work node agent in each of the one or more first work node virtual machines, and the first work node agent is parallel according to configuration information of the virtual cluster of the first user. Install software for processing,
The second sub-distributed configuration manager may install a second work node agent on each of the one or more second work node virtual machines, and the second work node agent may be parallel according to configuration information of the virtual cluster of the second user. A device for provisioning a virtual cluster, characterized in that it can install software for processing.
제 1 항 내지 제 7 항 중 어느 한 항에 기재된 병렬 처리 기반의 가상 클러스터 컴퓨팅 시스템을 프로비저닝하는 방법의 적어도 하나의 단계를 컴퓨터로 하여금 실행하도록 하는 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.A computer-readable recording medium having recorded thereon a program for causing a computer to execute at least one step of the method for provisioning a parallel processing based virtual cluster computing system according to any one of claims 1 to 7.
KR1020110126969A 2011-11-30 2011-11-30 Method and Apparatus for Provisioning Parallel Processing-Based Virtual Cluster Computing System KR101352699B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110126969A KR101352699B1 (en) 2011-11-30 2011-11-30 Method and Apparatus for Provisioning Parallel Processing-Based Virtual Cluster Computing System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110126969A KR101352699B1 (en) 2011-11-30 2011-11-30 Method and Apparatus for Provisioning Parallel Processing-Based Virtual Cluster Computing System

Publications (2)

Publication Number Publication Date
KR20130060746A KR20130060746A (en) 2013-06-10
KR101352699B1 true KR101352699B1 (en) 2014-01-17

Family

ID=48859119

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110126969A KR101352699B1 (en) 2011-11-30 2011-11-30 Method and Apparatus for Provisioning Parallel Processing-Based Virtual Cluster Computing System

Country Status (1)

Country Link
KR (1) KR101352699B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101563808B1 (en) 2014-03-21 2015-10-29 한국과학기술원 System and method for providing distributed virtual cloud using mobile grid
KR20170076391A (en) * 2015-12-24 2017-07-04 삼성에스디에스 주식회사 Method and System for performing automated test
WO2017126819A1 (en) * 2016-01-22 2017-07-27 건국대학교 산학협력단 Method and apparatus for managing virtual disk provisioning
KR101841847B1 (en) 2016-11-09 2018-05-04 건국대학교 산학협력단 Method and apparatus for managing provisioning virtual disk
KR101866086B1 (en) 2016-11-09 2018-07-04 건국대학교 산학협력단 Method and apparatus for producing virtual cluster based reuseable asset

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9910888B2 (en) 2014-10-01 2018-03-06 Red Hat, Inc. Map-reduce job virtualization
KR101632366B1 (en) 2015-08-27 2016-06-22 주식회사 디지캡 Cloud Monitoring System for Parallel Processing Holographic Content
KR102310607B1 (en) * 2021-06-17 2021-10-12 주식회사 인피닉 Distributed processing method for annotations, and computer program recorded on record-medium for executing method therefor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185076B1 (en) 2000-05-31 2007-02-27 International Business Machines Corporation Method, system and program products for managing a clustered computing environment
US20100114826A1 (en) 2008-10-24 2010-05-06 Microsoft Corporation Configuration management in distributed data systems
KR100956636B1 (en) 2007-12-07 2010-05-11 한국전자통신연구원 System and method for service level management in virtualized server environment
KR20110024508A (en) * 2009-09-02 2011-03-09 한양대학교 산학협력단 Virtualized service management system and method and virtualized service system and virtualized service providing method for providing high-performance cluster

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185076B1 (en) 2000-05-31 2007-02-27 International Business Machines Corporation Method, system and program products for managing a clustered computing environment
KR100956636B1 (en) 2007-12-07 2010-05-11 한국전자통신연구원 System and method for service level management in virtualized server environment
US20100114826A1 (en) 2008-10-24 2010-05-06 Microsoft Corporation Configuration management in distributed data systems
KR20110024508A (en) * 2009-09-02 2011-03-09 한양대학교 산학협력단 Virtualized service management system and method and virtualized service system and virtualized service providing method for providing high-performance cluster

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101563808B1 (en) 2014-03-21 2015-10-29 한국과학기술원 System and method for providing distributed virtual cloud using mobile grid
KR20170076391A (en) * 2015-12-24 2017-07-04 삼성에스디에스 주식회사 Method and System for performing automated test
KR102020798B1 (en) * 2015-12-24 2019-09-16 삼성에스디에스 주식회사 Method and System for performing automated test
WO2017126819A1 (en) * 2016-01-22 2017-07-27 건국대학교 산학협력단 Method and apparatus for managing virtual disk provisioning
KR101841847B1 (en) 2016-11-09 2018-05-04 건국대학교 산학협력단 Method and apparatus for managing provisioning virtual disk
KR101866086B1 (en) 2016-11-09 2018-07-04 건국대학교 산학협력단 Method and apparatus for producing virtual cluster based reuseable asset

Also Published As

Publication number Publication date
KR20130060746A (en) 2013-06-10

Similar Documents

Publication Publication Date Title
KR101352699B1 (en) Method and Apparatus for Provisioning Parallel Processing-Based Virtual Cluster Computing System
US10613788B2 (en) Data migration between cloud storage systems
EP2862065B1 (en) Intermediary virtual machine task management
US8988998B2 (en) Data processing environment integration control
US9104672B2 (en) Virtual security zones for data processing environments
US9053580B2 (en) Data processing environment integration control interface
KR101929048B1 (en) Apparatus and method for virtual desktop service based on in-memory
US9128773B2 (en) Data processing environment event correlation
US8566463B2 (en) Concurrent web based multi-task support for control management system
JP2017112607A (en) Dynamically defined virtual private network tunnel in hybrid cloud environments
US20120204187A1 (en) Hybrid Cloud Workload Management
US20120167081A1 (en) Application Service Performance in Cloud Computing
US20200034178A1 (en) Virtualization agnostic orchestration in a virtual computing system
EP3188008B1 (en) Virtual machine migration method and device
KR101694297B1 (en) DESKTOP VIRTUALIZATION MANAGER APPARATUS AND CLIENT APPARATUS FOR DaaS SYSTEM
KR20150011250A (en) Method and system for managing cloud center
KR20160109300A (en) Method and Apparatus for managing distributed cloud
KR20110083084A (en) Apparatus and method for operating server by using virtualization technology
CN111625496A (en) Method, device and equipment for deploying distributed file system in virtual machine environment
CN116848528A (en) Techniques for automatically configuring minimum cloud service access rights for container applications
EP3207665B1 (en) Policies for analytics frameworks in telecommunication clouds
KR20140143953A (en) Appratus for a virtual desktop service and method thereof
CN106406982A (en) Method of virtualization platform monitoring
Volkov et al. Simplifying the use of clouds for scientific computing with Everest
EP4009160A1 (en) Methods for application deployment across multiple computing domains and devices thereof

Legal Events

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

Payment date: 20170102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171213

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 7