KR20160087706A - 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법 - Google Patents

가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법 Download PDF

Info

Publication number
KR20160087706A
KR20160087706A KR1020150007012A KR20150007012A KR20160087706A KR 20160087706 A KR20160087706 A KR 20160087706A KR 1020150007012 A KR1020150007012 A KR 1020150007012A KR 20150007012 A KR20150007012 A KR 20150007012A KR 20160087706 A KR20160087706 A KR 20160087706A
Authority
KR
South Korea
Prior art keywords
task
machine
physical machine
virtual machine
virtual
Prior art date
Application number
KR1020150007012A
Other languages
English (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 KR1020150007012A priority Critical patent/KR20160087706A/ko
Priority to US14/993,785 priority patent/US20160203024A1/en
Publication of KR20160087706A publication Critical patent/KR20160087706A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity

Abstract

본 발명에 따른 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치는 선택된 하나 이상의 태스크를 실행할 수 있는 하나 이상의 가용 가상 머신을 하나 이상의 물리 머신에서 검색하고, 수신된 물리 머신 정보에 기초하여 가용 가상 머신 사이의 거리를 산출하는 자원 사용 감시부 및 산출된 가용 가상 머신 사이의 거리에 기초하여 검색된 하나 이상의 가상 머신에 선택된 하나 이상의 태스크를 할당하는 태스크 할당부를 포함한다.

Description

가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법{APPARATUS AND METHOD FOR RESOURCE ALLOCATION OF A DISTRIBUTED DATA PROCESSING SYSTEM CONSIDERING VIRTUALIZATION PLATFORM}
본 발명은 가상화 기반 플랫폼에서 실행되는 분산 데이터 처리 시스템의 자원 할당에 관한 기술로서, 보다 상세하게는 가상화 기반 플랫폼에서 실행되는 태스크 간의 데이터 전송 시간을 단축시키기 위한 분산 데이터 처리 시스템의 자원 할당 기술에 관한 것이다.
가상화 기술의 발달과 대용량 하드웨어 인프라 구축 기술이 구현되면서, 다양한 가상화 기반의 클라우드 컴퓨팅이 서비스되고 있다. 이를 통해, 컴퓨팅 자원을 직접 구매 및 관리하는 형태에서 클라우드 환경의 가상화를 바탕으로 필요로 하는 만큼의 컴퓨팅 자원을 공급받는 형태로 변화하게 되어, 저렴하고 유연한 자원 운영이 가능하게 되었다. 이로부터 클러스터 구축 환경이 가상화 클러스터 구축 환경으로 변화되었으나, 기존 물리 머신 기반 클러스터를 바탕으로 실행되던 분산 데이터 처리 시스템이 가상화 클러스터 환경에서 실행 시에 그 성능이 매우 저하되는 문제점이 있다.
대한민국 공개특허 제10-2014-0080795호는 가상 환경 내에서 실행되는 하둡 맵리듀스의 부하 분산 방법 및 시스템에 대해 개시하고 있다. 상기 특허는 태스크 수행 완료까지의 남은 시간을 평균값과 비교하여, 가상 머신의 CPU 점유율을 보정함으써 가상 머신 내 태스크의 수행 완료 시간을 동일하도록 제어한다. 하지만, 상기 특허는 가상 머신에 대한 자원 할당하고 있을 뿐, 가상 머신 내에서 실행할 태스크를 할당하기 위한 자원 할당 방법은 고려하고 있지 않다.
대한민국 공개특허 제10-2014-0080795호
본 발명이 해결하고자 하는 과제는 가상화 환경에서 실행되는 워크플로 기반 분산 데이터 처리 시스템에서 물리 머신 사이의 관계를 고려하여 태스크를 실행할 가상 머신 자원을 할당하는 장치 및 방법을 제공하는 것이다.
본 발명에 따른 가상화 플랫폼을 고려한 워크플로 기반 분산 데이터 처리 시스템의 자원 할당 장치는 선택된 하나 이상의 태스크를 실행할 수 있는 하나 이상의 가용 가상 머신을 하나 이상의 물리 머신 에서 검색하고, 수신된 물리 서버 정보에 기초하여 가용 가상 머신 사이의 거리를 산출하는 자원 사용 감시부 및 산출된 가용 가상 머신 사이의 거리에 기초하여 검색된 하나 이상의 가상 머신에 선택된 하나 이상의 태스크를 할당하는 태스크 할당부를 포함한다. 태스크 할당부는 선택된 하나 이상의 태스크의 입력 데이터가 저장된 물리 머신의 가상 머신에 우선적으로 태스크를 할당한다. 이 경우, 입력 데이터가 저장된 물리 머신의 가상 머신에 할당된 태스크는 물리 머신의 메모리를 통해 입력 데이터를 입력 받는다.
태스크 할당부는 태스크가 둘 이상일 경우, 산출된 가상 머신 사이의 거리에 기초하여 실행할 태스크의 입력을 생성하는 선행 태스크와 선행 태스크에서 생성된 입력에 의해 실행되는 후행 태스크를 동일한 물리 머신에 위치한 가용 가상 머신 에 할당한다. 이 경우, 동일한 물리 머신에 할당된 선행 태스크 및 후행 태스크는 물리 머신의 메모리를 통해 데이터를 교환한다.
자원 사용 감시부는 초기 실행 시 사용자로부터 물리 머신 IP를 포함하는 물리 머신 정보를 입력 받는다. 그리고, 자원 사용 감시부는 물리 머신 IP에 기초하여 가용 가상 머신 사이의 거리를 산출하여 서로 동일한 물리 머신에 위치한 가용 가상 머신을 확인한다.
본 발명에 따른 가상화 플랫폼을 고려한 워크플로 기반 분산 데이터 처리 시스템의 자원 할당 방법은 먼저, 선택된 하나 이상의 태스크를 실행할 수 있는 하나 이상의 가용 가상 머신을 하나 이상의 물리 머신에서 검색한다. 그리고, 수신된 물리 머신 정보에 기초하여 가용 가상 머신 사이의 거리를 산출하고, 산출된 가용 가상 머신 사이의 거리에 기초하여 검색된 하나 이상의 가상 머신에 선택된 하나 이상의 태스크를 할당한다. 태스크를 할당하는 단계는 선택된 하나 이상의 태스크의 입력 데이터가 저장된 위치와 동일한 물리 머신의 가상 머신에 우선적으로 태스크를 할당한다. 그리고, 입력 데이터가 저장된 위치와 동일한 물리 머신의 가상 머신에 할당된 태스크는 상기 물리 머신의 메모리를 통해 상기 입력 데이터를 입력 받는다.
태스크가 둘 이상일 경우, 태스크를 할당하는 단계는 산출된 가상 머신 사이의 거리에 기초하여 실행할 태스크의 입력을 발생시키는(생성하는) 선행 태스크와 선행 태스크에서 발생된(생성된) 입력에 의해 실행되는 후행 태스크를 동일한 물리 머신에 위치한 가용 가상 머신에 할당하여 물리 머신의 메모리를 통해 데이터를 교환하도록 할 수 있다.
본 발명에 따른 가상화 플랫폼을 고려한 워크플로 기반 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법은 가상 머신 사이의 거리를 산출하여 태스크를 할당하는 과정에 반영하여 선행 태스크와 후행 태스크를 동일한 물리 머신 내의 가상 머신에 할당하여, 물리 머신 내의 메모리를 통해 데이터를 교환할 수 있다. 이를 통해, 데이터를 교환하는 경우, 네트워크가 아닌 메모리를 통해 데이터를 교환하기 때문에, 데이터 전송 속도를 향상시켜 시간 지연을 줄일 수 있다.
도 1a는 본 발명에 따른 가상화 플랫폼을 고려한 워크플로 기반 분산 데이터 처리 시스템의 자원 할당 장치(110)의 일 실시예를 나타내는 구성도이다.
도 1b는 워크플로 기반 분산 데이터 처리 시스템(100)의 데이터 처리 워크 플로의 일례를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 가상화 플랫폼을 고려한 워크플로 기반 분산 데이터 처리 시스템의 자원 할당 장치(110)의 가상 머신 간 거리 산출을 위한 정보를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 워크플로 기반 분산 데이터 처리 시스템(300)의 다른 일례를 나타내는 구성도이다.
도 4는 본 발명의 일 실시예에 따른 워크플로 기반 분산 데이터 처리 시스템의 자원 할당 방법을 나타내는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 워크플로 기반 분산 데이터 처리 시스템의 자원 할당 방법의 다른 일례를 나타내는 흐름도이다.
이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세하게 설명한다. 본 명세서에서 사용되는 용어 및 단어들은 실시예에서의 기능을 고려하여 선택된 용어들로서, 그 용어의 의미는 발명의 의도 또는 관례 등에 따라 달라질 수 있다. 따라서 후술하는 실시예에서 사용된 용어는, 본 명세서에 구체적으로 정의된 경우에는 그 정의에 따르며, 구체적인 정의가 없는 경우는 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.
도 1a는 본 발명에 따른 워크플로 기반 분산 데이터 처리 시스템의 자원 할당 장치(110)의 일 실시예를 나타내는 구성도이다.
도 1a를 참조하면, 본 발명에 따른 워크플로 기반 분산 데이터 처리 시스템(100)의 자원 할당 장치(110)는 워크플로를 구성하는 태스크를 가상 머신에 할당한다. 워크플로 기반 분산 데이터 처리 시스템(100)은 맵리듀스(MapReduce)와 같은 배치 처리(Batch Processing), 스트림인사이트(StreamInsight)와 같은 실시간 스트림 데이터 처리(Complex Event Processing)를 포함한다. 데이터 처리를 위한 워크플로의 입력 소스는 처리해야 할 대상이 되는 데이터로 파일, 스트림 데이터를 보내는 특정 네트워크 주소 등이 될 수 있으며, 출력 소스 또한 파일 및 특정 네트워크 주소 등이 될 수 있다. 워크플로를 구성하는 태스크는 운영 체제에서 제공하는 명령어 기반 유틸리티 및 이를 포함한 쉘 스크립트, 실행 가능한 응용 소프트웨어(Application)를 나타낸다.
워크플로 기반 분산 데이터 처리 시스템(100)은 물리 머신(150,160)에 할당된 하나 이상의 가상 머신(151,152,161,162)을 기반으로 운영된다. 도 1의 실시예에서는 두 개의 물리 머신(150,160)과 각각의 물리 머신에 두 개의 가상 머신이 할당된 것으로 가정한다. 제1 물리 머신(150), 제2 물리 머신(160) 및 물리 머신에 할당된 가상 머신(151,152,161,62)은 네트워크(20)로 연결되어 상호 데이터 전송이 가능하다. 가상화 플랫폼에서 실행되는 상기 워크플로 기반 분산 데이터 처리 시스템(100)은 태스크를 할당하기 위한 자원 할당 장치(110)를 포함하는 마스터 노드(Master Node), 마스터 노드의 자원 할당 장치(110)로부터 할당된 태스크를 실행시키는 실행 모듈을 포함하는 슬레이브 노드(Slave Node)로 구성된다. 자원 할당 장치(110)를 포함하는 마스터 노드는 다수의 가상 머신 중에서 어느 하나의 가상 머신에 위치하여 실행된다. 이하, 설명의 편의를 위하여 자원 할당 장치(110)를 포함하는 마스터 노드를 자원 할당 장치(110)로 통일하여 기재한다.
도 1에서는 제1 가상 머신(151)에 위치하는 것으로 가정한다. 즉, 자원 할당 장치(110)가 위치한 제1 가상 머신(151)은 마스터 노드역할을 담당하며, 나머지 가상 머신은 마스터 노드의 결정에 따라 해당 가상 머신 상에서 태스크를 실행시키는 슬레이브 노드 역할을 담당한다. 슬레이브 노드는 가상 머신 당 하나가 실행되며, 가상 머신의 자원 사용 정보를 마스터 노드에 주기적으로 보고하고, 마스터 노드로부터 할당된 태스크를 실행시킨다. 워크 플로를 구성하는 태스크는 슬레이브 노드에 해당하는 가상 머신(152,161,162)에 할당되어 실행된다. 도 1b는 워크플로 기반 분산 데이터 처리 시스템(100)의 데이터 처리 워크 플로의 일례를 나타내는 도면이다.
도 1a 및 도 1b를 참조하면, 워크플로 기반 분산 데이터 처리 시스템(100)의 데이터 처리를 위한 워크플로는 입력 소스(11), 출력 소스(12) 및 하나 이상의 태스크(13,14,15)를 포함한다. 각각의 태스크(13,14,15)는 하나의 가상 머신에 할당된다. 그리고, 각각의 태스크(13,14,15)는 도 1b의 워크플로에 따라 화살표 순서대로 입력 소스(11)를 전달받아 제1 태스크(13)부터 순차적으로 수행된다. 입력 소스(11)는 처리해야 할 대상이 되는 데이터로 파일 및 스트림 데이터를 보내는 특정 네트워크 주소를 포함할 수 있으며, 출력 소스는 파일 및 특정 네트워크 주소를 포함할 수 있다. 워크플로를 구성하는 태스크는 운영 체제에서 제공하는 명령어 기반 유틸리티 및 이를 포함한 쉴 스크립트 및 실행 가능한 응용 소프트웨어(Application)를 포함할 수 있다.
워크플로 기반 분산 데이터 처리 시스템(100)의 자원 할당 장치(110)는 자원 사용 감시부(111) 및 태스크 할당부(112)를 포함한다. 태스크 할당부(112)는 마스터 노드 및 슬레이브 노드가 실행되는 물리 머신 정보를 초기 실행 시에 사용자로부터 입력 받는다. 물리 노드 정보는 물리 머신 IP 및 랙 ID(Rack ID)를 포함할 수 있다.
자원 사용 감시부(111)는 워크플로 기반 분산 데이터 처리 시스템(100)을 구성하는 하나 이상의 물리 머신(150,160)에 할당된 하나 이상의 가상 머신(151,152,161,162)의 상태를 감시하여, 각각의 가상 머신의 가용 유무 및 가용 자원에 대한 정보를 포함하는 가상 머신 정보를 확인한다. 가상 머신 정보는 가상 머신의 상태에 대한 정보뿐만 아니라, 가상 머신 간에 데이터 전송에 필요한 가상 머신 IP 및 각각의 가상 머신을 구분하기 위한 가상 머신 ID를 포함할 수 있다. 각각의 가상 머신을 구분하기 위한 가상 머신 ID는 가상 머신 IP로 대체가 가능하다.
워크플로 기반 분산 데이터 처리 시스템(100)의 자원 할당 장치(110)의 태스크 할당부(112)는 워크플로를 수행하기 위하여 슬레이브 노드 역할을 수행하는 가상 머신(자원 할당 장치가 위치하지 않은 가상 머신)의 자원 사용 정보, 워크플로의 데이터 흐름 및 가상 머신 간의 거리를 고려하여 하나 이상의 가상 머신(152,161,162) 각각에 태스크를 할당한다. 가상 머신 간의 거리는 각각의 가상 머신이 위치한 물리 머신의 IP 주소 또는 Rack ID를 통해 산출될 수 있다. 도 1b의 워크플로는 입력 소스(11)가 제1 태스크(13), 제2 태스크(14) 및 제3 태스크(15)의 순서로 진행되어 출력 소스(12)가 출력된다. 이를 위해, 태스크 할당부(112)는 자원 할당 시에, 가용 자원을 보유한 가상 머신이 1개 이상인 경우, 실행할 태스크의 입력 소스(입력 데이터, 11)를 저장한 가상 머신과 동일한 물리 머신에 위치한 가상 머신에 우선적으로 태스크를 할당한다.
만약, 스트림 데이터 처리와 같이 파일이 아닌 네트워크 기반 메시지 통신으로 태스크 사이의 데이터 전송이 이루어지는 경우, 실행할 태스크의 입력을 발생시키는(생성하는) 선행 태스크가 실행중인 가상 머신과 동일한 물리 머신 상의 또 다른 가상 머신에 후행 태스크가 실행되도록 우선적으로 할당한다. 도 1b에서 제2 태스크(14)는 제3 태스크(15)의 선행 태스크가 되며, 제3 태스크(15)는 제2 태스크(14)의 후행 태스크가 된다. 이처럼, 본 발명에 따른 가상화 플랫폼을 고려한워크플로 기반 분산 데이터 처리 시스템의 자원 할당 장치(110)는 선행 태스크가 실행되는 가상 머신과 후행 태스크가 실행되는 가상 머신을 동일한 물리 머신에 할당할 수 있다. 이와 같은 과정을 통해 각각의 태스크가 처리할 입력 데이터가 가상 단말 사이에서 순차적으로 전송되는데 있어서, 서로 다른 물리 머신(물리 노드) 사이의 네트워크 전송 없이, 물리 머신 내의 메모리(153,163)를 바탕으로 입력 데이터를 교환할 수 있도록 함으로써 태스크 사이의 데이터 전송 속도를 비약적으로 향상시켜 데이터 처리 성능을 상승시킬 수 있다.
도 1 a 및 도 1b의 실시예를 들어, 가상화 플랫폼의 자원 할당 장치(110)의 할당 과정을 설명하면 다음과 같다. 먼저, 입력 소스(11)는 분산 데이터 처리 시스템의 자원 할당 장치(110)가 할당된 마스터 노드인 제1 가상 머신(151)에 저장되어 있으며, 제1 태스크(13)가 할당된 가상 머신으로 전달된다고 가정한다. 이 경우, 태스크 할당부(112)는 입력 소스(입력 데이터)가 저장된 제1 가상 머신(151)과 동일한 제1 물리 머신(150)에 위치한 제2 가상 머신(152)에 제1 태스크(13)를 할당한다. 제1 가상 머신(151)의 입력 소스(13)는 제1 물리 머신(150)의 메모리(153)를 통해 제2 가상 머신(152)으로 전송된다. 그리고, 태스크 할당부(112)는 제2가상 머신(152)에 가용한 자원이 남아 있다면, 제2 태스크(14)를 제2 가상 머신(152)에 할당할 수 있다. 하지만, 도 1a의 실시예에서는 제2 가상 머신(152)에 더 이상의 가용한 자원이 없기 때문에, 태스크 할당부(112)는 다른 물리 머신(제2 물리 머신, 160)의 어느 하나의 가상 머신(제3 가상 머신, 161)에 제2 태스크(14)를 할당한다. 그리고, 태스크 할당부(112)는 제2 태스크(14)가 할당된 제3 가상 머신(161)과 동일한 제2 물리 머신(160)에 위치한 제3 가상 머신(162)에 제3 태스크(15)를 할당한다.
가상화 플랫폼 을 고려한 분산 데이터 처리 시스템의 자원 할당 장치(110)는 상술한 바와 같이 제2 가상 머신(152) 내지 제4 가상 머신(162)에 제1 태스크(13) 내지 제3 태스크(15)를 할당할 수 있다. 이 경우, 제1 태스크(13)가 할당된 제2 가상 머신(152)과 제2 태스크(14)가 할당된 제3 가상 머신(161) 서로 다른 물리 머신 사이의 네트워크(20)를 이용하여 입력 데이터를 전달한다. 하지만, 제1 태스크(13)가 할당된 제2 가상 머신(152)과 입력 소스(11)가 저장된 제1 가상 머신(151)은 동일한 제1 물리 머신(150)에 위치하기 때문에, 네트워크(20)를 이용할 필요 없이 제1 물리 머신(150)의 메모리(153)를 바탕으로 입력 소스(11, 입력 데이터)를 교환할 수 있다. 또한, 제2 태스크(14)가 할당된 제3 가상 머신(161)과 제3 태스크(15)가 할당된 제4 가상 머신(162)은 동일한 제2 물리 머신(160)에 위치하기 때문에, 네트워크(20)를 이용할 필요 없이 제2 물리 머신(160)의 메모리(163)를 바탕으로 제2 태스크(14) 및 제3 태스크(15)는 입력 데이터를 교환할 수 있다. 이와 같이, 메모리(153,163)를 이용하여 서로 다른 태스크 사이의 데이터를 교환함으로써, 네트워크(20)를 통해 데이터를 교환하는 것에 비해 데이터 전송 속도를 향상시킬 수 있다.
도 1 a 및 도 1b의 실시예에서는 하나의 가상 머신에 하나의 태스크만이 할당되어 있으나, 이는 설명의 편의를 위한 하나의 실시예일뿐, 하나의 가상 머신에 하나의 태스크만이 할당되는 것으로 한정되는 것은 아니다. 자원 할당 장치(110)는 선행 태스크가 할당된 가상 머신과의 거리가 가장 가까운 가상 단말에 후행 태스크를 할당할 때, 가장 먼저, 선행 태스크가 할당된 가상 머신의 가용 자원이 후행 태스크를 실행할 수 있는지 여부를 판단하여 하나의 가상 머신에 둘 이상의 태스크를 할당할 수 있다. 즉, 거리가 가장 가까운 가상 머신은 동일한 가상 머신 그리고 동일한 물리 머신의 순서가 될 수 있다.
도 2는 본 발명의 일 실시예에 따른 가상화 플랫폼의 자원 할당 장치(110)의 가상 머신 간 거리 산출을 위한 정보를 나타내는 도면이다.
도 2를 참조하면, 가상화 플랫폼을 고려한 워크플로 기반 분산 데이터 처리 시스템의 자원 할당 장치(110)는 가상 머신 사이의 거리를 고려하여 워크플로에 따른 태스크를 할당한다. 가상화 플랫폼을 고려한 워크플로 기반 분산 데이터 처리 시스템의 자원 할당 장치(110)는 가상 머신 사이의 거리를 산출하기 위하여 물리 머신 IP와 랙 ID 정보를 활용한다. 가상화 플랫폼을 고려한 워크플로 기반 분산 데이터 처리 시스템의 자원 할당 장치(110)는 마스터 노드 및 슬레이브 노드가 실행되는 물리 머신 정보를 초기 실행 시에 사용자로부터 입력 받는다. 물리 머신 정보는 물리 머신 IP 및 랙 ID(Rack ID)를 포함할 수 있다. 그리고, 가상화 플랫폼을 고려한 워크플로 기반 분산 데이터 자원 할당 장치(110)는 각 물리 머신에 연결하여 하이퍼바이저(Hypervisor)를 통해 해당 물리 머신에서 실행중인 가상 머신에 대한 정보를 수집한다. 가상 머신에 대한 정보는 가상 머신 간에 데이터 전송에 필요한 가상 머신 IP 또는 각각의 가상 머신을 구분하기 위한 가상 머신 ID를 포함할 수 있다. 물론, 가상 머신에 대한 정보도 사용자로부터 입력으로 받는 것도 가능하다.
가상 머신의 실행은 가상 머신의 프로비저닝(Provisioning) 또는 배치 정책에 따라 어느 물리 머신에서도 실행될 수 있음을 가정하기 때문에, 물리 머신 간의 거리 산출 방법과 동일하게 가상 머신이 가지는 가상 머신 IP 등의 정보를 바탕으로 가상 머신 간의 거리를 산출하는 것은 무의미하다. 또한, 가상 머신은 자신이 실행되고 있는 물리 머신에 대한 정보를 가지고 있지 않다. 따라서, 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치(110)는 각각의 물리 머신에 대한 물리 머신 IP에 기초하여 가상 머신 사이의 거리를 산출하여 동일 물리 머신에 위치한 가상 머신을 확인할 수 있다. 랙 ID 또한 물리 머신 IP와 유사하게 활용될 수 있다. 도 2의 일례에서, 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치(110)는 가상 머신 A, B, D 및 E의 물리 머신 IP가 129.175.53.100로 서로 동일하기 때문에, 동일한 물리 머신에 위치한 것으로 판단할 수 있다. 또한, 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치(110)는 가상 머신 C 및 F의 물리 머신 IP가 127.175.53.101 및 127.175.53.102로 서로 다르기 때문에, 서로 다른 물리 머신에 위치한 것으로 판단할 수 있다. 한편, 랙 ID를 통해 가상 머신 A, B, D 및 E의 가상 머신은 가상 머신 F보다는 가상 머신 C와 가까운 거리에 위치한 것으로 판단할 수 있다. 이는 가상 머신 A, B, D, E 및 C는 동일한 랙 ID를 가지나 가상 머신 F는 다른 랙 ID를 가지기 때문이다. 따라서, 자원 할당 장치(110)는 물리 머신 IP뿐만 아니라 랙 ID를 고려하여 거리를 산출할 수 있다.
도 3은 본 발명의 일 실시예에 따른 워크플로 기반 분산 데이터 처리 시스템(300)의 다른 일례를 나타내는 구성도이다.
도 3을 참조하면, 도 3의 워크플로 기반 분산 데이터 처리 시스템(300)은 3개의 물리 머신(310,320,330)을 포함한다. 그리고, 제1 물리 머신(310)은 두 개의 가용한 가상 머신(311,312), 제2 물리 머신(320) 또한 두 개의 가용한 가상 머신(321,322)을 가지며, 제3 물리 머신(330)은 네 개의 가용한 가상 머신(331,332,333,334)을 가진다.
제1 물리 머신(310)의 제1 가상 머신(311)에 할당된 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치(350)는 물리 머신 IP에 대한 정보를 포함하는 물리 머신 정보를 초기 실행 시에 사용자로부터 입력 받는다. 그리고, 가상화 플랫폼으로 고려한 분산 데이터 처리 시스템의 자원 할당 장치(350)는 네트워크(20)를 통해 제1 물리 머신(310) 내지 제3 물리 머신(330)에 할당된 가상 머신의 현재 상태와 가상 머신 ID에 대한 정보를 포함하는 가상 머신 정보를 수집한다.
가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치(350)는 수집된 가상 머신 정보에 기초하여 현재 가용한 가상 머신을 확인한다. 그리고, 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치(350)는 물리 머신 정보에 기초하여 확인된 가상 머신 사이의 거리를 산출한다. 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치(110)는 물리 머신 정보의 물리 머신 IP를 통해, 또는 물리 머신 IP 및 랙 ID 모두를 통해 산출된 가상 머신 사이의 거리에 기초하여 동일한 물리 머신 내에 위치한 가상 머신을 확인한다.
가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치(350)는 실행할 태스크를 선택하고, 선택된 태스크 실행에 필요한 자원을 보유한 가상 머신(가용 가상 머신)이 존재하는지를 가상 머신 정보에 기초하여 확인한다. 그리고, 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치(350)는 선택된 태스크의 입력 데이터와 가상 머신 정보에 기초하여 가상 머신 사이의 거리를 산출하고, 가상 머신에 태스크를 할당한다. 도 3의 일례에서 워크플로는 제1 태스크(51) 내지 제5 태스크(55)를 포함하는 다섯 개의 태스크로 구성되고, 입력 소스(입력 데이터가 제1 가상 머신(311)에 저장되어 있다고 할 때, 가상화 플랫폼의 자원 할당 장치(350)는 입력 소스(입력 데이터)가 저장된 제1 가상 머신(311)과 동일한 제1 물리 머신(310)의 제2 가상 머신(312)에 제1 태스크(51)를 할당한다. 그리고, 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치(350)는 제3 물리 머신(330)의 제5 가상 머신(331) 내지 제8 가상 머신(334)에 제2 태스크(52) 내지 제5 태스크(55)를 순차적으로 할당한다. 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치(350)가 제2 물리 머신(320)의 가상 단말(321,322)을 배제하고, 동일한 물리 머신(330)에 위치한 제5 가상 머신(331) 내지 제8 가상 머신(334)에 태스크를 할당함으로써, 제2 태스크(52) 내지 제5 태스크(55)는 워크플로 데이터를 전달하는 과정에서 네트워크(20)를 이용하지 않고, 제3 물리 머신(330)의 메모리(333)에서 워크플로 데이터를 교환한다. 따라서, 제2 태스크(52) 내지 제5 태스크(55) 사이의 데이터 전송 속도는 네트워크(20)를 이용할 때보다 빨라질 수 있다.
도 4는 본 발명의 일 실시예에 따른 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 방법을 나타내는 흐름도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 방법은 사용자로부터 물리 머신 및 가상 머신 정보를 수신한다(S401). 가상화 플랫폼을 고려한 분산 데이터 처리 시스템내 마스터 노드에 포함된 자원 할당 장치는 슬레이브 노드가 실행되는 가상 머신 및 물리 머신정보를 초기 실행 시에 사용자로부터 입력 받는다. 물리 머신 정보는 물리 머신 IP 및 랙 ID(Rack ID)를 포함할 수 있다. 그리고, 가상 머신 정보는 가상 머신 IP 및 각각의 가상 머신을 구분하기 위한 가상 머신 ID를 포함할 수 있다. 각각의 가상 가상 머신을 구분하기 위한 가상 머신 ID는 가상 머신 IP로 대체가 가능하다.
물리 머신 정보 및 가상 머신 정보에 기초하여 가상 머신 사이의 거리를 산출한다(S402). 가상화 플랫폼의 자원 할당 장치는 물리 머신 정보에 포함된 물리 머신 IP와 가상 머신 정보에 기초하여 각각의 가상 머신 사이의 거리를 산출하여 동일한 물리 머신에 위치한 가상 머신을 확인할 수 있다.
다음으로, 워크플로 기반 분산 데이터 처리 시스템을 구성하는 슬레이브 노드를 통해 해당 가상 머신의 자원 상태 정보를 수집한다(S403). 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치는 각각의 가상 머신의 가용 유무 및 가용 자원에 대한 정보를 수집한다. 그리고, 가상 머신의 자원 상태 정보 및 산출된 가상 머신 사이의 거리에 기초하여 가상 머신(슬레이브 노드)에 태스크를 할당한다(S404). 워크플로 기반 분산 데이터 처리 시스템의 데이터 처리를 위한 워크플로는 하나 이상의 태스크를 포함한다. 워크플로를 구성하는 하나 이상의 태스크는 입력 소스를 전달받아 순차적으로 실행되어 출력 소스를 출력한다. 입력 소스는 처리해야 할 대상이 되는 데이터로 파일 및 스트림 데이터를 보내는 특정 네트워크 주소를 포함할 수 있으며, 출력 소스는 파일 및 특정 네트워크 주소를 포함할 수 있다. 워크플로를 구성하는 태스크는 운영 체제에서 제공하는 명령어 기반 유틸리티 및 이를 포함한 쉴 스크립트 및 실행 가능한 응용 소프트웨어(Application)를 포함할 수 있다.
가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치는 워크플로를 수행하기 위하여 워크플로의 데이터 흐름, 가상 머신의 자원 상태 정보 및 가상 머신 간의 거리를 고려하여 하나 이상의 가상 머신 각각에 태스크를 할당한다. 가상화 플랫폼의 자원 할당 장치는 자원 할당 시에, 가용 자원을 보유한 가상 머신이 1개 이상인 경우, 실행할 태스크의 입력 소스(입력 데이터)를 저장한 가상 머신과 동일한 물리 머신에 위치한 가상 머신에 우선적으로 태스크를 할당한다. 만약, 스트림 데이터 처리와 같이 파일이 아닌 네트워크 기반 메시지 통신으로 태스크 사이의 데이터 전송이 이루어지는 경우, 실행할 태스크의 입력을 발생시키는 선행 태스크가 실행중인 가상 머신이 위치한 물리 머신 상에 또 다른 가상 머신이 존재하는 경우, 해당 가상 머신에 선행 태스크로부터 수신된 입력에 기초하여 실행되는 후행 태스크를 우선적으로 할당한다. 이처럼, 본 발명에 따른 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치는 선행 태스크가 실행되는 가상 머신과 후행 태스크가 실행되는 가상 머신을 동일한 물리 머신에 할당할 수 있다. 이와 같은 과정을 통해 각각의 태스크가 처리할 입력 데이터가 가상 단말 사이에서 순차적으로 전송되는데 있어서, 서로 다른 물리 머신 사이의 네트워크 전송 없이, 물리 머신 내의 메모리를 바탕으로 입력 데이터를 교환할 수 있도록 함으로써 태스크 사이의 데이터 전송 속도를 비약적으로 향상시켜 데이터 처리 성능을 상승시킬 수 있다.
도 5는 본 발명의 일 실시예에 따른 가상화 플랫폼의 자원 할당 방법의 다른 일례를 나타내는 흐름도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 방법은 먼저 실행할 태스크를 선택한다(S501). 워크플로 기반 분산 데이터 처리 시스템의 데이터 처리를 위한 워크플로는 하나 이상의 태스크를 포함한다. 워크플로를 구성하는 하나 이상의 태스크는 입력 소스를 전달받아 순차적으로 실행되어 출력 소스를 출력한다. 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치는 워크플로를 구성하는 태스크를 선택한다. 그리고, 워크플로 기반 분산 데이터 처리 시스템의 자원 사용을 감시하여 선택된 태스크를 실행하는데 필요한 자원을 보유한 가상 머신(슬레이브 노드)을 검색하여, 가용한 가상 머신이 존재하는지 여부를 판단한다(S502). 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치는 가상 머신들(슬레이브 노드)의 자원 활용 정보를 감시를 통해 선택된 태스크를 실행할 수 있는 자원을 보유한 가상 머신(슬레이브 노드)이 존재하는지 여부를 확인할 수 있다. 만약, 워크플로 기반 분산 데이터 처리 시스템 내에 가용 가상 머신(슬레이브 노드)이 존재하지 않는다면, 작업을 종료하거나 자원을 반환한 가상 머신(슬레이브 노드)이 발생할 때까지 소정의 시간을 대기한다(S503).
S502 단계에서 가용 가상 머신(슬레이브 노드) 존재가 확인되면, 가용 가상 머신(슬레이브 노드)이 1개 존재하는지 그 이상 존재하는지를 판단한다(S504). 만약, 가용 가상 머신(슬레이브 노드)이 1개만 존재한다면, 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치는 가용 가상 머신(슬레이브 노드)에 태스크를 할당한다(S508). 만약, 가용 가상 머신(슬레이브)이 1개를 초과하여 존재한다면, 가상 머신(슬레이브 노드) 사이의 거리를 산출한다(S505). 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치는 물리 머신 정보에 포함된 물리 머신 IP 및 가상 머신 정보에 포함된 가상 머신 ID에 기초하여 가용 가상 머신(슬레이브 노드)이 위치한 물리 머신의 IP 주소 및 랙 ID를 확인하여 가상 머신 사이의 거리를 산출할 수 있다. 그리고, 선택 태스크의 입력 데이터 위치를 바탕으로 가상 머신의 거리를 산출한다(S506). 태스크로 구성된 워크플로는 입력 소스 또는 입력 데이터를 첫 번째 태스크에서 실행하여 각각의 태스크를 순차적으로 실행하여 출력 소스 또는 출력 데이터를 산출한다. 따라서, 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치는 선택된 태스크의 입력 데이터가 저장된 위치와 가장 가까운 거리에 위치한 가상 머신(슬레이브 노드)을 산출한다.
그리고, 거리 산출 결과에 따라 가상 머신(슬레이브 노드)에 태스크를 할당한다(S507). 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치는 먼저 입력 데이터가 저장된 위치와 가상 머신(슬레이브 노드)의 거리에 기초하여 입력 데이터와 동일한 물리 머신에 가용한 가상 머신(슬레이브 노드)에 우선적으로 태스크를 할당한다. 그리고 만약, 스트림 데이터 처리와 같이 파일이 아닌 네트워크 기반 메시지 통신으로 태스크 사이의 데이터 전송이 이루어지는 경우, 실행할 태스크의 입력을 발생시키는 선행 태스크가 실행중인 가상 머신(슬레이브 노드)과 선행 태스크로부터 수신된 입력에 기초하여 실행되는 후행 태스크가 실행되는 가상 머신(슬레이브 노드)을 동일한 물리 머신에 우선적으로 할당한다. 거리 산출 결과에 따라 가상 머신(슬레이브 노드)에 태스크를 할당하는 과정은 상술한 도 1a 및 도 3에 개시된 내용을 참조하여 수행될 수 있다.
상술한 내용을 포함하는 본 발명은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체 또는 정보저장매체에 저장되고, 컴퓨터에 의하여 판독되고 실행함으로써 본 발명의 방법을 구현할 수 있다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상 바람직한 실시예를 들어 본 발명을 상세하게 설명하였으나, 본 발명은 전술한 실시예에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당분야에서 통상의 지식을 가진자에 의하여 여러 가지 변형이 가능하다.
11: 입력 소스 12: 출력 소스
13: 제1 태스크 14: 제2 태스크
15: 제3 태스크 20: 네트워크
100: 워크플로 기반 분산 데이터 처리 시스템
110: 자원 할당 장치
150: 제1 물리 머신 151: 제1 가상 머신
152: 제2 가상 머신 153: 제1 물리 머신 메모리
160: 제2 물리 머신 161: 제3 가상 머신
162: 제4 가상 머신 163: 제2 물리 머신 메모리

Claims (15)

  1. 선택된 하나 이상의 태스크를 실행할 수 있는 하나 이상의 가용한 가상 머신을 하나 이상의 물리 머신에서 검색하고, 검색된 물리 머신으로부터 수신된 물리 머신 정보에 기초하여 상기 검색된 가용한 가상 머신 사이의 거리를 산출하는 자원 사용 감시부; 및
    상기 검색된 하나 이상의 가상 머신 중에서 상기 산출된 가상 머신 사이의 거리에 기초하여 선택된 어느 하나 이상의 가상 머신에 상기 선택된 하나 이상의 태스크를 할당하는 태스크 할당부;
    를 포함하는 것을 특징으로 하는 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치.
  2. 제1항에 있어서,
    상기 태스크 할당부는 상기 산출된 가상 머신 사이의 거리에 기초하여, 상기 하나 이상의 가용한 가상 머신 중에서 상기 선택된 하나 이상의 태스크의 입력 데이터가 저장된 물리 머신의 가상 머신에 우선적으로 태스크를 할당하는 것을 특징으로 하는 가상화 플랫폼의 자원 할당 장치.
  3. 제2항에 있어서,
    상기 입력 데이터가 저장된 물리 머신의 가상 머신에 할당된 태스크는 상기 물리 머신의 메모리를 통해 상기 입력 데이터를 입력 받는 것을 특징으로 하는 가상화 플랫폼을 고려한 분산 데이터 처리 시스템 자원 할당 장치.
  4. 제1항에 있어서,
    상기 태스크 할당부는 상기 태스크가 둘 이상일 경우, 상기 산출된 가상 머신 사이의 거리에 기초하여 실행할 태스크의 입력을 생성하는 선행 태스크와 상기 선행 태스크에서 생성된 입력에 의해 실행되는 후행 태스크를 동일한 물리 머신에 위치한 가상 머신에 할당하는 것을 특징으로 하는 가상화 플랫폼을 고려한 분산 데이터 처리 시스템 자원 할당 장치.
  5. 제4항에 있어서,
    동일한 물리 머신에 할당된 상기 선행 태스크 및 상기 후행 태스크는 물리 머신의 메모리를 통해 데이터를 교환하는 것을 특징으로 하는 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치.
  6. 제1항에 있어서,
    상기 자원 사용 감시부는 초기 실행 시 사용자로부터 물리 머신 IP를 포함하는 물리 머신 정보를 입력 받는 것을 특징으로 하는 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치.
  7. 제1항에 있어서,
    상기 자원 사용 감시부는 물리 머신 IP에 기초하여 상기 가용 가상 머신 사이의 거리를 산출하여 상기 하나 이상의 가상 가상 머신 중에서 서로 동일한 물리 머신에 위치한 가용 가상 머신을 확인하는 것을 특징으로 하는 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치.
  8. 제1항에 있어서,
    상기 자원 사용 감시부는 상기 하나 이상의 가상 머신의 자원 상태에 대한 정보를 수집하고, 상기 태스크 할당부는 상기 산출된 가상 머신 사이의 거리 및 상기 수집된 가상 머신의 자원 상태에 기초하여 후행 태스크를 선행 태스크와 가장 가까운 거리의 가용한 가상 머신에 할당하는 것을 특징으로 하는 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치.
  9. 선택된 하나 이상의 태스크를 실행할 수 있는 하나 이상의 가용 가상 머신을 하나 이상의 물리 머신에서 검색하는 단계;
    수신된 물리 머신 정보에 기초하여 가상 머신 사이의 거리를 산출하는 단계; 및
    상기 산출된 가용 가상 머신 사이의 거리에 기초하여 상기 검색된 하나 이상의 가상 머신 중에서 어느 하나 이상의 가상 머신에 상기 선택된 하나 이상의 태스크를 할당하는 단계;
    를 포함하는 것을 특징으로 하는 가상화 플랫폼의 자원 할당 방법.
  10. 제9항에 있어서,
    상기 태스크를 할당하는 단계는 상기 하나 이상의 가용 가상 머신 중에서 상기 선택된 하나 이상의 태스크의 입력 데이터가 저장된 물리 머신의 가상 머신에 우선적으로 태스크를 할당하는 것을 특징으로 하는 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 방법.
  11. 제10항에 있어서,
    상기 입력 데이터가 저장된 물리 머신의 가상 머신에 할당된 태스크는 상기 물리 머신의 메모리를 통해 상기 입력 데이터를 입력 받는 것을 특징으로 하는 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 방법.
  12. 제9항에 있어서,
    상기 태스크를 할당하는 단계는 상기 태스크가 둘 이상일 경우, 상기 산출된 가상 머신 사이의 거리에 기초하여 실행할 태스크의 입력을 생성하는 선행 태스크와 상기 선행 태스크에서 생성된 입력에 의해 실행되는 후행 태스크를 동일한 물리 머신에 위치한 가용 가상 머신에 할당하는 것을 특징으로 하는 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 방법.
  13. 제12항에 있어서,
    동일한 물리 머신에 할당된 상기 선행 태스크 및 상기 후행 태스크는 물리 머신의 메모리를 통해 데이터를 교환하는 것을 특징으로 하는 가상화 플랫폼의 분산 데이터 처리 시스템의 자원 할당 방법.
  14. 제9항에 있어서,
    초기 실행 시 사용자로부터 물리 머신 IP를 포함하는 물리 머신 정보를 입력 받는 단계;
    를 더 포함하는 것을 특징으로 하는 가상화 플랫폼의 자원 할당 방법.
  15. 제9항에 있어서,
    상기 가용 가상 머신 사이의 거리를 산출하는 단계는 물리 머신 IP에 기초하여 상기 가용 가상 머신 사이의 거리를 산출하여 서로 동일한 물리 머신에 위치한 가용 가상 머신을 확인하는 것을 특징으로 하는 가상화 플랫폼의 자원 할당 방법.
KR1020150007012A 2015-01-14 2015-01-14 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법 KR20160087706A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150007012A KR20160087706A (ko) 2015-01-14 2015-01-14 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법
US14/993,785 US20160203024A1 (en) 2015-01-14 2016-01-12 Apparatus and method for allocating resources of distributed data processing system in consideration of virtualization platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150007012A KR20160087706A (ko) 2015-01-14 2015-01-14 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법

Publications (1)

Publication Number Publication Date
KR20160087706A true KR20160087706A (ko) 2016-07-22

Family

ID=56367655

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150007012A KR20160087706A (ko) 2015-01-14 2015-01-14 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법

Country Status (2)

Country Link
US (1) US20160203024A1 (ko)
KR (1) KR20160087706A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101959181B1 (ko) 2018-12-21 2019-03-15 유충열 프린트 오더링을 위한 데이터 차원 배분 시스템
KR101996786B1 (ko) 2019-04-18 2019-07-04 유용호 데이터 다중 병렬 처리를 통한 원격 프린트 콘트롤 시스템
KR20200133484A (ko) * 2019-05-20 2020-11-30 주식회사 에이젠글로벌 분산 병렬 기반 인공지능 예측 모델 관제 장치 및 방법
KR20210030827A (ko) * 2019-09-10 2021-03-18 주식회사 피앤씨솔루션 분산처리 기반의 hmd용 머신러닝 시스템
CN114860460A (zh) * 2022-07-05 2022-08-05 深圳市遇贤微电子有限公司 一种数据库加速的方法、装置、计算机设备

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170083313A1 (en) * 2015-09-22 2017-03-23 Qualcomm Incorporated CONFIGURING COARSE-GRAINED RECONFIGURABLE ARRAYS (CGRAs) FOR DATAFLOW INSTRUCTION BLOCK EXECUTION IN BLOCK-BASED DATAFLOW INSTRUCTION SET ARCHITECTURES (ISAs)
US11144293B2 (en) 2016-02-05 2021-10-12 Sas Institute Inc. Automated message-based job flow resource management in container-supported many task computing
US11169788B2 (en) * 2016-02-05 2021-11-09 Sas Institute Inc. Per task routine distributed resolver
US20180115600A1 (en) * 2016-10-26 2018-04-26 American Express Travel Related Services Company, Inc. System and method for health monitoring and task agility within network environments
CN106790413B (zh) * 2016-12-01 2019-12-31 广州高能计算机科技有限公司 一种基于负载平衡的并序化云服务系统及构建方法
KR20180086791A (ko) 2017-01-23 2018-08-01 한국전자통신연구원 빅 데이터 처리 지원을 위한 클라우드 시스템 및 그 운영 방법
US10542104B2 (en) * 2017-03-01 2020-01-21 Red Hat, Inc. Node proximity detection for high-availability applications
US11334391B2 (en) * 2017-04-17 2022-05-17 Red Hat, Inc. Self-programmable and self-tunable resource scheduler for jobs in cloud computing
WO2019207790A1 (ja) * 2018-04-27 2019-10-31 三菱電機株式会社 データ処理装置、タスク制御方法及びプログラム
DE102018207175A1 (de) * 2018-05-08 2019-11-14 Robert Bosch Gmbh Verfahren und Vorrichtung zum Aktivieren von Tasks in einem Betriebssystem
JP7013326B2 (ja) * 2018-05-29 2022-01-31 株式会社日立製作所 情報処理システム、情報処理装置、および情報処理システムの制御方法
US11240160B2 (en) * 2018-12-28 2022-02-01 Alibaba Group Holding Limited Method, apparatus, and computer-readable storage medium for network control
KR20220062632A (ko) * 2020-04-07 2022-05-17 텐센트 아메리카 엘엘씨 클라우드 서비스를 위한 태스크 근접성

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140080795A (ko) 2012-12-18 2014-07-01 서강대학교산학협력단 가상화 환경 내 하둡 맵리듀스의 부하 분산 방법 및 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972983B2 (en) * 2012-04-26 2015-03-03 International Business Machines Corporation Efficient execution of jobs in a shared pool of resources
US8972986B2 (en) * 2012-05-25 2015-03-03 International Business Machines Corporation Locality-aware resource allocation for cloud computing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140080795A (ko) 2012-12-18 2014-07-01 서강대학교산학협력단 가상화 환경 내 하둡 맵리듀스의 부하 분산 방법 및 시스템

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101959181B1 (ko) 2018-12-21 2019-03-15 유충열 프린트 오더링을 위한 데이터 차원 배분 시스템
KR101996786B1 (ko) 2019-04-18 2019-07-04 유용호 데이터 다중 병렬 처리를 통한 원격 프린트 콘트롤 시스템
KR20200133484A (ko) * 2019-05-20 2020-11-30 주식회사 에이젠글로벌 분산 병렬 기반 인공지능 예측 모델 관제 장치 및 방법
KR20210070253A (ko) * 2019-05-20 2021-06-14 주식회사 에이젠글로벌 분산 병렬 기반 인공지능 예측 모델 관제 장치 및 방법
KR20210030827A (ko) * 2019-09-10 2021-03-18 주식회사 피앤씨솔루션 분산처리 기반의 hmd용 머신러닝 시스템
CN114860460A (zh) * 2022-07-05 2022-08-05 深圳市遇贤微电子有限公司 一种数据库加速的方法、装置、计算机设备
CN114860460B (zh) * 2022-07-05 2022-10-11 深圳市遇贤微电子有限公司 一种数据库加速的方法、装置、计算机设备

Also Published As

Publication number Publication date
US20160203024A1 (en) 2016-07-14

Similar Documents

Publication Publication Date Title
KR20160087706A (ko) 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법
US11934883B2 (en) Computer cluster arrangement for processing a computation task and method for operation thereof
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
US8863138B2 (en) Application service performance in cloud computing
EP3281359B1 (en) Application driven and adaptive unified resource management for data centers with multi-resource schedulable unit (mrsu)
US11734172B2 (en) Data transmission method and apparatus using resources in a resource pool of a same NUMA node
CN108028806A (zh) 网络功能虚拟化nfv网络中分配虚拟资源的方法和装置
Miranda et al. Dynamic communication-aware scheduling with uncertainty of workflow applications in clouds
JP6973292B2 (ja) Vm優先度制御システムおよびvm優先度制御方法
JP2015165362A (ja) 性能を測定する情報処理装置、性能測定方法及びそのためのプログラム
JP6478618B2 (ja) トランザクション制御システム、トランザクション制御方法及びプログラム
KR20220081833A (ko) 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치 및 관리 방법
KR20220064785A (ko) 컨테이너 프로파일 생성 장치 및 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid