KR20130134569A - 분석 작업 실행 이력을 이용한 가상 클러스터 구축 시스템 및 방법 - Google Patents

분석 작업 실행 이력을 이용한 가상 클러스터 구축 시스템 및 방법 Download PDF

Info

Publication number
KR20130134569A
KR20130134569A KR1020120058175A KR20120058175A KR20130134569A KR 20130134569 A KR20130134569 A KR 20130134569A KR 1020120058175 A KR1020120058175 A KR 1020120058175A KR 20120058175 A KR20120058175 A KR 20120058175A KR 20130134569 A KR20130134569 A KR 20130134569A
Authority
KR
South Korea
Prior art keywords
job
task
resource
virtual cluster
virtual
Prior art date
Application number
KR1020120058175A
Other languages
English (en)
Other versions
KR101374120B1 (ko
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 KR1020120058175A priority Critical patent/KR101374120B1/ko
Publication of KR20130134569A publication Critical patent/KR20130134569A/ko
Application granted granted Critical
Publication of KR101374120B1 publication Critical patent/KR101374120B1/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

분석 작업 실행 이력을 이용한 가상 클러스터 구축 시스템 및 방법이 제시된다. 본 발명의 일 실시예에 따른 클라우드 자원을 이용한 가상 클러스터 구축 시스템은, 사용자가 입력한 자원 요청 정보, 및 과거 작업 이력 정보에 기초하여 가상 클러스터 규모를 추정하는 자원 추정기를 포함하는 작업 스케줄러; 및 추정된 상기 가상 클러스터 규모에 따라 클라우드 자원 상에 가상 클러스터를 구축하는 가상 자원 관리자를 포함한다.

Description

분석 작업 실행 이력을 이용한 가상 클러스터 구축 시스템 및 방법{SYSTEM AND METHOD FOR COINSTRUCTING VIRTUAL CLUSTER USING THE EXECTUTION HISTORY OF ANALYSIS JOB}
본 발명은 가상 머신을 이용한 가상 클러스터 구축 시스템 및 방법에 관한 것으로서, 더욱 상세하게는 분석 작업 실행 이력을 이용하여 가상 클러스터 규모를 추정하고 이를 기초로 가상 클러스터를 구축하는 시스템 및 방법에 관한 것이다.
가상 클러스터(virtual cluster)란 대량의 자료를 효율적으로 처리하기 위하여 복수 개의 가상 머신(virtual machine)을 유기적으로 연결한 시스템을 의미한다. 최근 들어 하둡 분산 파일 시스템(HDFS: Hadoop Distributed File System) 등 다양한 가상 클러스터 구축 기술이 사용되고 있다.
그런데 가상 클러스터를 구축하기 위해서는 자원의 세부적인 사양(specification)까지 모두 지정해주어야 한다. 예를 들면, 가상 머신 CPU의 clock, RAM size, 네트워크 인터페이스, 마운트될 디스크 저장 장치의 용량을 비롯한 각 가상 머신의 세부 정보가 주어져야 하고, 사용할 가상 머신의 수를 지정해서 알려주어야 한다. 또한, 가상 클러스터로 통합될 소프트웨어의 종류와 OS의 종류 및 버전 등도 알려주어야 한다. 따라서, 사용자의 입장에서는 작업에 필요한 자원의 세부적인 사양을 지정하는데 어려움을 느낄 수 있을 뿐만 아니라 사용자의 잘못된 정보에 의해 클라우드 상에서 가상 자원의 불필요한 낭비를 초래할 수 있는 문제점이 있었다.
본 발명의 실시예들은 사용자는 최소한의 직관적인 정보만을 제공하여도 그에 맞는 최적의 가상 클러스터 규모를 추정하여 가상 클러스터를 구축하는 시스템 및 방법을 제공하는데 목적이 있다. 또한, 사용자의 주문에 따라 최적의 가상 클러스터 규모를 추정하여 시스템 제공자에게 있어서도 클라우드 가상자원의 불필요한 낭비를 최소화 할 수 있는 가상 클러스터 구축 시스템 및 방법을 제공하는데 목적이 있다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 클라우드 자원을 이용한 가상 클러스터 구축 시스템은, 사용자가 입력한 자원 요청 정보, 및 과거 작업 이력 정보에 기초하여 가상 클러스터 규모를 추정하는 자원 추정기를 포함하는 작업 스케줄러; 및 추정된 상기 가상 클러스터 규모에 따라 클라우드 자원 상에 가상 클러스터를 구축하는 가상 자원 관리자를 포함한다.
또한, 상기 자원 추정기는, 상기 자원 요청 정보를 이용하여 사용자가 요청한 작업의 작업 복잡도 유형을 분류하는 작업 복잡도 분석기; 상기 자원 요청 정보 및 상기 작업의 복잡도 유형을 이용하여 과거 작업 실행 이력 중에서 현재 요청된 작업과 유사한 작업 실행 이력을 선택하여 유사 작업 이력 정보를 생성하는 작업 이력 분석기; 및 상기 유사 작업 이력 정보를 이용하여 가상 클러스터 자원 규모를 추정하는 자원 규모 추정기를 포함한다.
한편 본 발명의 일 실시예에 따른 가상 클러스터 구축 방법은 작업 복잡도 분석기에서, 사용자가 제공한 작업 요청 정보를 이용하여 작업의 작업 복잡도 유형을 분류하는 단계; 작업 이력 분석기에서, 상기 작업 요청 정보 및 상기 작업 복잡도 유형을 이용하여 과거 작업 실행 이력 중에서 현재 요청된 작업과 유사한 작업 실행 이력을 선택하여 유사 작업 이력 정보를 생성하는 단계; 자원 규모 추정기에서, 상기 유사 작업 이력 정보를 이용하여 작업에 필요한 가상 클러스터 자원 규모를 추정하는 단계; 및 가상 자원 관리자에서, 추정된 상기 가상 클러스터 자원 규모를 갖는 가상 클러스터를 클라우드 자원 상에 구축하는 단계를 포함한다.
또한, 상기 작업 복잡도 유형을 분류하는 단계는 상기 자원 요청 정보로부터 작업 수행에 사용될 분석 프로그램 또는 스크립트의 소스코드를 판독하고, 상기 소스코드의 분석을 통해 작업 복잡도 유형을 분류하는 단계를 포함한다.
또한, 상기 유사 작업 이력 정보를 생성하는 단계는, 상기 사용자의 작업 형태 및 상기 복잡도 유형과 같은 작업 형태 및 복잡도 유형을 갖는 과거 이력들을 작업 실행 이력 데이터베이스에 질의하는 단계; 상기 질의 결과인 작업 이력 정보를 받아 각각의 작업 이력에 대해 사용자가 입력한 데이터의 양 및 종류, 작업 수행 시간과의 유사도를 계산하는 단계; 및 상기 작업 유사도 계산의 결과를 기초로 사용자가 요청한 작업과 유사한 작업 이력들을 필터링하여 유사 작업 이력 정보를 생성하는 유사 작업 필터링 단계를 포함한다.
또한, 상기 작업 이력과 상기 데이터 양 및 작업 수행 시간과의 유사도를 계산하는 기준은, 정규 분포(normal distribution)에서 사용자가 입력한 데이터 양과 작업 수행 시간을 평균으로 하고, 사용자가 입력한 작업 수행 서비스 수준에 해당하는 정규 분포의 신뢰 구간에 작업 이력이 속하는지 여부로 판단한다.
또한, 상기 가상 클러스터 자원 규모를 추정하는 단계는, 상기 유사 작업 이력 정보를 이용하여 가상 클러스터의 가상 머신 노드 수(NN;Number of Nodes), CPU 코어 수(NC; Number of Cores), CPU 클록(CC; CPU Clock), RAM 사이즈(RS; RAM Size)를 포함하는 가상 클러스터 자원 규모를 추정하는 단계를 포함한다.
본 발명에 따르면, 사용자는 가상 자원에 대한 지식이 없이 자신의 분석작업에 대한 최소한의 직관적인 정보만을 (작업의 형태, 데이터의 양, 데이터의 종류, 기대하는 작업 실행 시간, 서비스 수준 등) 입력하고 자신이 처리할 데이터 처리 과정에만 집중할 수 있다. 앞에서 언급한 직관적인 사용자 분석 작업 정보외의 자원 확보에 대한 구체적인 사항들인 가상 클러스터의 노드수, 노드당 CPU 코어수, CPU Clock과 RAM size, 저장 장치 크기 등의 정보는 별도로 입력하거나 고려하지 않고 본 발명의 방법을 통해 적절한 추정치를 산정하여 최적의 가상 클러스터를 구축할 수 있다. 이런 과정을 통해서 가상 클러스터를 이용한 대용량 데이터 처리 및 분석 과정을 단순화하고 사용자 친화적으로 편리하게 개선할 수 있다.
또한, 본 발명에 따르면, 기존의 작업 수행 시 기록되었던 가상 클러스터의 자원량과 작업 수행 정보를 기반으로 사용자가 요청한 시간 내에 작업을 완료할 수 있는 가상 클러스터의 규모를 산정하고, 추정된 자원 규모를 바탕으로 자원을 할당하여 분석 작업을 수행할 수 있다.
도 1은 본 발명의 일 실시예에 따라 클라우드 자원을 이용한 가상 클러스터 구축 시스템을 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따라 도 1의 작업 스케줄러의 상세 구성을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따라 도 2의 자원 추정기의 상세 구성을 도시한 블록도이다.
도 4는 본 발명의 일 실시예에 따라 도 3의 작업 복잡도 분석기의 상세 구성을 도시한 블록도이다.
도 5는 본 발명의 일 실시예에 따라 도 3의 작업 이력 분석기의 상세 구성을 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 가상 클러스터 자원 규모 추정을 이용한 가상 클러스터 구축 방법을 도시한 순서도이다.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1은 본 발명의 일 실시예에 따라 클라우드 자원을 이용한 가상 클러스터 구축 시스템을 도시한 블록도이다.
본 발명의 일 실시예에서, 가상 클러스터 구축 시스템(100)은 사용자가 요청한 분석 작업을 수행하기 위한 가상 클러스터 자원 규모를 추정하는 작업 스케줄러(102), 작업 스케줄러(102)로부터 추정된 가상 클러스터 자원 규모에 기초하여 가상 클러스터를 구축하는 가상 자원 관리자(104), 및 가상 클러스터를 구축하기 위한 분산 컴퓨팅 자원을 가상 머신(VM1, VM2,..)의 형태로 제공하는 클라우드 자원(106)을 포함한다.
작업 스케줄러(102)는 사용자의 분석 작업(analytic job)을 수행하기 위해서 필요한 분산 컴퓨팅 자원을 가상 머신으로 이루어진 가상 클러스터의 형태로 미리 확보하고, 확보된 가상 클러스터에서 분석 작업에 필요한 계산과 데이터 처리를 수행하도록 사용자의 분석 작업 실행을 조율(coordinate)하여 실행하는 자원-인지형 작업 스케줄러(resource-aware job scheduler)이다. 구체적으로, 작업 스케줄러(102)는 사용자로부터 작업 실행에 필요한 자원에 관한 자원 요청 정보, 예를 들어, 작업의 형태, 데이터의 양, 데이터의 종류, 작업 완료에 요구되는 시간, 작업 수행 서비스 수준, 및 작업 수행에 사용될 분석 프로그램 또는 스크립트의 소스코드 등을 제공받으면, 이를 기초로 가상 클러스터 구축을 위한 자원 규모, 예를 들어, 가상 머신 CPU의 클럭, RAM 사이즈, 네트워크 인터페이스, 및 저장 장치의 용량 등 을 포함한 각 가상 머신의 세부 정보 뿐만 아니라 사용할 가상 머신의 수를 추정하여 이를 가상 자원 관리(104)에게 전달한다. 또한, 가상 클러스터로 통합될 소프트웨어의 종류와 OS의 종류 및 버전 등도 가상 자원 관리자(104)에게 전달된다.
가상 자원 관리자(104)는 작업 스케줄러(102)로부터 전달받은 추정된 가상 클러스터 자원 규모에 따라 가상 클러스터 자원을 구축할 수 있는 물리적인 자원이 클라우드 자원(106)에 충분한지 여부를 확인한다. 클라우드 자원(106)에 물리적 자원이 충분할 경우, 가상 자원 관리자(104)는 작업 스케줄러(102)가 전달한 가상 클러스터 자원 규모에 맞는 가상 머신을 클라우드 자원(106)에서 선택하여 필요한 가상 클러스터를 구축한다. 가상 자원 관리자(104)에 전달된 가상 클러스터 자원 규모를 만족하는 가상 클러스터가 물리 노드에 설치되어 실행되면, 작업 스케줄러(102)는 가상 클러스터가 준비된 것을 확인하고, 사용자가 요청한 작업을 가상 클러스터에 전송하여 작업을 실행한다. 작업이 실행되어 결과 및 데이터가 생성되면 사용자가 데이터를 받을 수 있는 저장소로 데이터와 결과들을 옮겨 전송한 후, 가상 클러스터는 삭제된다.
클라우드 자원(106)은 물리 서버 내에 가상 머신을 생성하여 이를 자원으로 제공하기 위한 시스템으로서, 하나 이상의 물리적 서버로 구성된다. 가상 머신은 물리적 서버 일부 또는 전부를 이용하여 생성된다. 가상 클러스터는 대량의 자료를 효율적으로 처리하기 위하여 복수 개의 가상 머신을 유기적으로 연결하여 구축된다.
도 2는 본 발명의 일 실시예에 따라 도 1의 작업 스케줄러의 상세 구성을 도시한 블록도이다.
작업 스케줄러(102)는 작업 플래너(202), 작업 대기부(204) 및 작업 실행기(206)를 포함하며, 작업 플래너(202)는 사용자 작업 요청 해석기(212), 자원 추정기(214), 자원 요청 변환기(216) 및 자원 요청 작업 기술 생성기(218)를 포함한다.
사용자가 기본적인 자원 요청 정보를 포함하는 작업 요청 기술을 작업 스케줄러(102)에 제출하면, 작업 플래너(202)의 사용자 작업 요청 해석기(212)는 사용자로부터 수신한 작업 요청 기술(description)로부터 사용자의 자원 요청 정보를 추출하여 획득한다.
자원 추정기(214)는 사용자가 요청한 작업을 실행하기 위한 가상 클러스터를 구축하기 위해 사용자의 자원 요청 정보를 기초로 가상 클러스터 자원 규모를 추정한다. 여기서, 가상 클러스터 자원 규모를 추정하는 구체적인 방법에 대해서는 후술하도록 한다.
자원 요청 변환기(216)는 추정된 가상 클러스터 자원 규모를 전달 받아 작업 기술 생성기(218)로 보낸다. 한편, 이후 단계에서, 추정된 가상 클러스터 자원 규모에 맞는 가상 클러스터를 구축하기 위한 물리적 자원이 충분하지 않다고 판단되는 경우에는, 자원 요청 변환기(216)는 현재 할당 가능한 물리적 자원을 기초로 가상 클러스터 자원 규모를 수정할 수 있다.
작업 기술 생성기(218)는 전달받은 가상 클러스터 자원 규모에 관한 자원 정보를 가상 자원 관리자(104)에 전달하기 위해 가상 자원 관리자(104)가 이해할 수 있는 수준의 구체적인 형식으로 변형하여 자원 요청 작업 기술을 생성한다.
작업 대기부(204)는 자원 요청 작업 기술을 작업 실행기(206)로 전달하고, 요청된 자원이 할당될 수 있는 것이 가상 자원 관리자(104)를 통해 확인될 때까지 작업을 대기시킨다.
작업 실행기(206)는 자원 요청 작업 기술을 가상 자원 관리자(104)에 전달하여, 가상 자원 관리자(104)가 클라우드 자원 상에 가상 클러스터를 구축할 수 있도록 한다. 요구된 사항의 자원을 가지는 가상 클러스터가 준비되면, 작업 실행기(206)는 사용자가 실행할 작업을 가상 클러스터에 전송하여 작업을 실행한다.
도 3은 본 발명의 일 실시예에 따라 도 2의 자원 추정기의 상세 구성을 도시한 블록도이다.
작업 스케줄러(102)가 사용자로부터 제공받는 자원 요청 정보는 가상 자원의 세부 사항을 포함하는 요구사항이다. 그러나, 사용자는 자신의 작업을 실행하는데 필요한 자원 요청 정보를 가상 자원 관리자(104)가 요구하는 수준으로 세부적인 정보까지 모두 제공하지 않고, 다만 자신의 분석에 관한 기본적인 사항과 시간적인 제약 사항만을 제공한다. 예를 들어, 사용자에 의해 제공되는 자원 요청 정보는 어떠한 분석 프로그램(예를 들어, Hadoop, Pig, Hive, R 등)을 사용하는 작업인지를 나타내는 작업의 형태 (Type of a job), 데이터의 양 (The amount of data), 데이터가 어떠한 형태(예를 들어, 이미지, 텍스트, 음성, 동영상 등)인지를 나타내는 데이터의 종류 (Type of data), 작업 수행 시간 (Job Execution Time), 작업 수행 서비스 수준 (Service level of job processing), 작업 수행에 사용될 분석 프로그램 또는 스크립트의 소스 코드를 포함한다. 이러한 사용자의 자원 요청 정보는 사용자 작업 요청 해석기(212)에 의해 획득되어 자원 추정기(214)로 전달되며, 자원 추정기(214)는 이러한 사용자의 자원 요청 정보에 기초하여 가상 클러스터 자원 규모를 추정한다.
자원 추정기(214)는 작업 복잡도 분석기(302), 작업 이력 분석기(304), 작업 실행 이력 데이터베이스(306), 및 자원 규모 추정기(308)를 포함한다.
작업 복잡도 분석기(302)는 사용자 작업 요청 해석기(212)에 의해 획득된 사용자의 자원 요청 정보로부터 작업 수행에 사용될 분석 프로그램 또는 스크립트의 소스코드를 판독하고, 소스 코드 분석을 통해 분석 프로그램 또는 스크립트에 사용된 연산의 종류 및 연산 규모를 추정하여 분석 작업의 계산 복잡도(computational complexity)의 수준을 분류한다. 분석 작업의 계산 복잡도의 수준은 데이터의 양에 대해 계산량이 선형으로 증가하는지(linear), 다항식형으로 증가하는지(polynomial), 로그형으로 증가하는지(logarithmic), 지수적으로 증가하는지(exponential) 정도로 판단하며, 계산 복잡도의 형태를 분류한다.
작업 이력 분석기(304)는 사용자 작업 요청 해석기(212)로부터 사용자의 자원 요청 정보를 전달받고, 또한 작업 복잡도 분석기(302)로부터 분석 작업의 계산 복잡도 유형 결과를 수신한다. 작업 이력 분석기(304)는 사용자의 자원 요청 정보 및 분석 작업의 계산 복잡도 유형 결과를 이용해, 작업 실행 이력 데이터베이스(306)로부터 사용자가 입력한 작업 형태와 같은 작업 형태 및 작업 복잡도 유형을 가지는 작업들의 작업 이력 정보를 조회한 후, 사용자가 입력한 데이터의 양 및 종류, 작업 수행 시간과 비슷한 작업들을 선택하여 유사 작업 이력 정보를 생성한다. 여기서, 데이터 양과 작업 수행 시간의 비슷한 정도의 기준은, 정규 분포(normal distribution)에서 사용자가 입력한 데이터 양과 작업 수행 시간을 평균으로 하고, 사용자가 입력한 작업 수행 서비스 수준에 해당하는 정규 분포의 신뢰 구간에 들어오는 값들을 비슷하다고 정의한다. (작업 이력들의 데이터 양의 분산
Figure pat00001
와 작업 수행 시간의 분산
Figure pat00002
에 대해 99% 신뢰 구간에 대해서는
Figure pat00003
,
Figure pat00004
, 95% 신뢰 구간에 대해서는
Figure pat00005
,
Figure pat00006
, 67% 신뢰 구간에 대해서는
Figure pat00007
,
Figure pat00008
범위 안에 있는 값들을 비슷하다고 정의한다.)
자원 규모 추정기(308)는 작업 이력 분석기(304)로부터 유사 작업 이력 정보를 전달받아, 유사 작업 이력 정보에서 사용되었던 자원의 규모와 종류, 가상 머신의 사양과 구성 정보를 이용해 현재 사용자가 수행할 작업에 필요한 가상 클러스터 자원의 규모를 산정한다. 산정하는 방법은, 예를 들어, 사용할 가상 클러스터의 가상 머신 노드 수를 NN, 작업 실행 이력 데이터베이스(306)에서 수집한 각 작업 이력에서, 작업 실행에 성공한(ERi="성공") 작업에서 사용된 가상 클러스터의 가상 머신 노드 수를 NNi라고 했을 때, 다음의 수식 1에 의해 계산된다.
Figure pat00009
[수식 1]
즉, 가상 머신 노드수 NN은 NNi를 가중치 wi로 가중 평균한 값이다.
여기서, 가중치 wi는 다음의 수식 2와 같이 계산된다.
Figure pat00010
[수식 2]
여기서, 각 작업 실행간에는 서로 영향이 없고, 각 작업 실행간의 각 변수(AD 및 ET)는 확률적으로 독립이라고 가정하였다. 일반적으로, 데이터의 양에 해당하는 AD와 실행 시간인 ET는 양의 상관관계를 가지기 때문에 확률적으로 독립이라고 하기 어렵지만, 비슷한 데이터 양과 실행 시간을 가지는 작업 이력 데이터들에 대해서는 같은 정규 분포를 가지는 확률 변수의 값이라고 볼 수 있기 때문에 위와 같이 가중치를 근사할 수 있다. 또한, 각 가상 머신의 CPU core 수, CPU clock, 및 RAM size는 위의
Figure pat00011
Figure pat00012
값 중에서 가장 큰 가중치를 주는 i번째 작업 이력의 CPU core 수(NC) 및 CPU clock(CC)과 RAM size(RS)를 이용하며, 다음의 수식 3 내지 5로 정리된다.
Figure pat00013
[수식 3]
Figure pat00014
[수식 4]
Figure pat00015
[수식 5]
위와 같이 추정된 자원 추정치 NN(노드 수), CC(CPU Clock), RS(RAM Size)는 사용자가 요청한 작업 수행을 위한 가상 클러스터 생성시에 사용된다.
도 4는 본 발명의 일 실시예에 따라 도 3의 작업 복잡도 분석기의 상세 구성을 도시한 블록도이다.
작업 복잡도 분석기(302)는 소스 코드 분석기(402) 및 작업 복잡도 유형 분류기(404)를 포함한다.
소스 코드 분석기(402)는 루프 분석기(412), 연산 분석기(414) 및 함수 분석기(416)를 포함하며, 사용자 작업 요청 해석기(212)에서 획득된 사용자의 자원 요청 정보로부터 분석 프로그램 또는 스크립트의 소스코드를 작업 형태에 맞게 분석한다. 루프 분석기(412)는 소스코드 내의 루프 구조를 분석하고, 연산 분석기(414)는 연산의 종류 및 계산 방법을 분석하고, 함수 분석기(416)는 함수의 종류 및 재귀(recursiveness) 여부 등을 분석하여, 그 결과를 작업 복잡도 유형 분류기(404)에 보낸다.
작업 복잡도 유형 분류기(404)는 사용자의 작업에서 가장 계산량이 많은 부분에 대한 복잡도를 선형(linear), 다항식형(polynomial), 로그형(logarithmic), 지수형(exponential)으로 판별하여 작업 이력 분석기(304)로 전달한다.
도 5는 본 발명의 일 실시예에 따라 도 3의 작업 이력 분석기의 상세 구성을 도시한 블록도이다.
작업 이력 분석기(304)는 질의어 생성기(502), 작업 유사도 분석기(504), 및 유사 작업 필터(506)을 포함한다.
질의어 생성기(502)는 사용자 작업 요청 해석기(212)로부터 받은 사용자의 자원 요청 정보와 작업 복잡도 분석기(302)에서 받은 작업 복잡도 유형을 이용하여 현재 요청 받은 사용자 작업과 같은 작업 형태 및 작업 복잡도를 갖는 작업 이력들을 작업 실행 이력 데이터베이스(306)에 질의한다.
작업 유사도 분석기(504)는 사용자 작업과 같은 작업 형태 및 작업 복잡도를 갖는 작업 이력들을 질의한 결과인 작업 이력 정보를 받아 각각의 작업 이력 대해 사용자가 입력한 데이터의 양 및 종류, 작업 수행 시간과의 유사도를 계산한다. 이 때, 각각의 작업 이력 대해 현재 사용자의 작업 유사도를 계산하는 방법은 도 3의 작업 이력 분석기에 대한 설명에서 한 바와 같다.
유사 작업 필터(506)는 작업 유사도 계산 결과를 바탕으로 현재 사용자 작업과 유사한 작업 실행 이력들에 대한 정보인 유사 작업 이력 정보를 자원 규모 추정기(304)에 보내어 사용자 작업에 필요한 가상 클러스터 자원 규모를 추정하게 한다. 예를 들어, 유사 작업 필터(506)는 현재 사용자가 입력한 데이터의 종류와 동일하고, 데이터 양 및 작업 수행 시간과 유사한 데이터 양 및 작업 수행 시간에 작업 실행이 성공한 이력 정보들을 선택하여 유사 작업 이력 정보를 생성하고, 이를 자원 규모 추정기(304)로 전달한다.
도 6은 본 발명의 일 실시예에 따른 가상 클러스터 자원 규모 추정을 이용한 가상 클러스터 구축 방법을 도시한 순서도이다.
먼저, 사용자 작업 요청 해석기(212)가 사용자의 작업 요청을 해석하여 작업에 사용될 자원 요청에 대한 자원 요청 정보를 획득한다(단계 602).
작업 복잡도 분석기(302)는 작업 요청 정보를 이용하여 사용자가 실행할 작업의 작업 복잡도 유형을 분류한다(604). 예를 들어, 작업 복잡도 분석기(302)는 작업 요청 정보에서 작업에 사용될 분석 프로그램 또는 스크립트의 소스코드를 판독하고 이를 분석하여 작업의 복잡도를 다항식형(polynomial), 로그형(logarithmic), 지수형(exponential) 등의 복잡도형으로 분류한다.
작업 이력 분석기(304)는 자원 요청 해석기(212)로부터 수신한 자원 요청 정보 및 작업 복잡도 분석기(302)로부터 수신한 작업 복잡도 유형을 이용하여 과거 작업 실행 이력 중에서 현재 요청된 작업과 유사한 작업 실행 이력을 선택하여 유사 작업 이력 정보를 생성한다(단계 606). 예를 들어, 작업 이력 분석기(304)는 자원 요청 정보 중 실행될 작업 형태, 및 작업 복잡도 유형과 동일한 작업 형태 및 작업 복잡도 유형을 갖는 과거 작업 이력 정보를 작업 실행 이력 데이터베이스(306)에서 조회하여 전달받은 후, 과거 작업 이력 정보 중에서 사용자가 입력한 자원 요청 정보 중 데이터의 양 및 종류, 작업 수행 시간이 유사한 유사 작업 실행 이력을 선택하여 유사 작업 이력 정보를 생성한다.
다음으로, 자원 규모 추정기(308)는 유사 작업 이력 정보를 이용하여 가상 클러스터 자원 규모를 추정한다(단계 608). 즉, 자원 규모 추정기(308)는 유사 작업 이력 정보를 이용하여, 가상 클러스터 자원의 노드수(NN), 노드당 CPU core수(NC), CPU Clock(CC), RAM Size(RS), Storage의 양(SA)등의 값을 추정한다. 가상 클러스터 자원 규모의 구체적인 추정 방법은 앞서 설명한 바와 같다.
다음으로, 가상 자원 관리자(104)는 추정된 가상 클러스터 자원 규모를 구축할 물리적 자원이 클라우드 자원에 충분하지 여부를 판단한다(단계 610). 구체적으로, 가상 자원 관리자(104)는 자원 규모 추정기(308)로부터 추정된 가상 클러스터 자원 규모를 수신하며, 수신된 가상 클러스터 자원 규모를 구축할 수 있는 물리적 자원이 클라우드 자원(106)에 충분한지 여부를 판단한다.
클라우드 자원(106)에 물리적 자원이 충분한 것으로 판단될 경우, 가상 자원 관리자(104)는 클라우드 자원(106) 상에 추정된 가상 클러스터 자원 규모에 맞는 가상 클러스터를 구축하여 작업을 실행한다(단계 612).
만약, 클라우드 자원(106)에 물리적 자원이 충분하지 않은 것으로 판단될 경우, 가상 자원 관리자(104)는 사용자가 허용한 작업 수행 시간 내에 작업을 수행할 수 있을 정도로 현재 할당 가능한 물리적 자원을 고려하여, 추정된 가상 클러스터 자원 규모의 수정이 가능한지 여부를 판단한다(단계 614).
만약, 가상 클러스터 자원 규모의 수정이 가능하다고 판단되면, 자원 요청 변환기(216)는 추정된 가상 클러스터의 자원 규모를 수정하고(단계 616), 단계 610으로 진행한다. 반면, 추정된 가상 클러스터 자원 규모를 수정하더라도 사용자가 허용한 작업 시간 안에 작업을 끝낼 수 있을 정도로 물리적 자원이 할당될 수 없을 경우에는 가상 자원 관리자(104)는 작업을 중단한다(단계 618).
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다.
그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 가상 클러스터 구축 시스템
102: 작업 스케줄러
104: 가상 자원 관리자
106: 클라우드 자원
202: 작업 플래너
204: 작업 대기부
206: 작업 실행기
214: 자원 추정기
302: 작업 복잡도 분석기
304: 작업 이력 분석기
306: 작업 실행 이력 데이터베이스
308: 자원 규모 추정기

Claims (21)

  1. 클라우드 자원을 이용한 가상 클러스터 구축 시스템에 있어서,
    사용자가 입력한 자원 요청 정보, 및 과거 작업 이력 정보에 기초하여 가상 클러스터 규모를 추정하는 자원 추정기를 포함하는 작업 스케줄러; 및
    추정된 상기 가상 클러스터 규모에 따라 클라우드 자원 상에 가상 클러스터를 구축하는 가상 자원 관리자를 포함하는, 가상 클러스터 구축 시스템.
  2. 제 1 항에 있어서,
    상기 자원 추정기는,
    상기 자원 요청 정보를 이용하여 사용자가 요청한 작업의 작업 복잡도 유형을 분류하는 작업 복잡도 분석기;
    상기 자원 요청 정보 및 상기 작업의 복잡도 유형을 이용하여 과거 작업 실행 이력 중에서 현재 요청된 작업과 유사한 작업 실행 이력을 선택하여 유사 작업 이력 정보를 생성하는 작업 이력 분석기; 및
    상기 유사 작업 이력 정보를 이용하여 가상 클러스터 자원 규모를 추정하는 자원 규모 추정기를 포함하는, 가상 클러스터 구축 시스템.
  3. 제 2 항에 있어서,
    상기 작업 복잡도 분석기는, 상기 자원 요청 정보로부터 작업 수행에 사용될 분석 프로그램 또는 스크립트의 소스코드를 판독하여 상기 작업 복잡도 유형을 분류하는, 가상 클러스터 구축 시스템.
  4. 제 2 항에 있어서,
    상기 작업 이력 분석기는, 상기 자원 요청 정보에 포함된 상기 사용자의 작업 형태 및 상기 작업의 복잡도 유형과 같은 작업 형태 및 작업의 복잡도 유형을 갖는 작업 이력을 조회하여 과거 작업 이력 정보를 획득하고, 상기 과거 작업 이력 정보 중 상기 자원 요청 정보에 포함된 데이터 양 및 작업 수행 시간이 유사한 작업 이력을 선택하여 유사 작업 이력 정보를 생성하는, 가상 클러스터 구축 시스템.
  5. 제 4 항에 있어서,
    상기 데이터 양 및 상기 작업 수행 시간과 유사한 작업 이력을 선택하는 것은, 정규 분포(normal distribution)에서 사용자가 입력한 데이터 양과 작업 수행 시간을 평균으로 하고, 사용자가 입력한 작업 수행 서비스 수준에 해당하는 정규 분포의 신뢰 구간에 작업 이력이 속하는지 여부로 선택하는, 가상 클러스터 구축 시스템.
  6. 제 2 항에 있어서,
    상기 자원 규모 추정기는, 상기 유사 작업 이력 정보를 이용하여 가상 클러스터의 가상 머신 노드 수(NN;Number of Nodes), CPU 코어 수(NC; Number of Cores), CPU 클록(CC; CPU Clock), RAM 사이즈(RS; RAM Size)를 포함하는 가상 클러스터 자원 규모를 추정하는, 가상 클러스터 구축 시스템.
  7. 제 6 항에 있어서,
    상기 가상 머신 노드 수(NN)는 과거 작업 실행에 성공한 작업에서 각각 사용된 가상 클러스터의 가상 머신 노드 수(NNi)에 가중치(wi)를 가중한 평균한 값으로 추정되며, 다음의 수식 1 및 2와 같이,
    Figure pat00016
    [수식 1]
    (여기서, ERi는 과거 작업 각각의 수행 결과를 의미함)

    Figure pat00017
    [수식 2]
    (여기서, AD(Amount of Data)는 사용자가 입력한 데이터 양, ET(Execution Time)은 사용자가 입력한 작업 수행 시간, ADi는 과거 작업 각각의 데이터 양, ETi는 과거 작업 각각의 작업 수행 시간, σ는 표준 편차를 의미함)
    에 의해 추정되는, 가상 클러스터 구축 시스템.
  8. 제 7 항에 있어서,
    상기 CPU 코어수(NC)는 상기 가중치(wi)가 최대인 i 번째 작업 이력의 가상 머신의 CPU 코어수이며, 다음의 수식 3과 같이,
    Figure pat00018
    [수식 3]
    에 의해 추정되고,
    상기 CPU 클록(CC)은 상기 가중치(wi)가 최대인 i 번째 작업 이력의 가상 머신의 CPU 클록이며, 다음의 수식 4와 같이,
    Figure pat00019
    [수식 4]
    에 의해 추정되고,
    상기 RAM 사이즈(RS)는 상기 가중치(wi)가 최대인 i 번째 작업 이력의 가상 머신의 RAM 사이즈이며, 다음의 수식 5와 같이,
    Figure pat00020
    [수식 5]
    에 의해 추정되는, 가상 클러스터 구축 시스템.
  9. 제 3 항에 있어서,
    상기 작업 복잡도 분석기는,
    상기 소스코드 내의 루프 구조를 분석하는 루프 분석기, 상기 소스코드 내의 연산을 분석하는 연산 분석기, 및 상기 소스코드의 함수를 분석하는 함수 분석기를 이용하여 소스코드를 분석하는 소스코드 분석기; 및
    상기 소스코드의 결과에 따라 작업 복잡도 유형을 분류하는 작업 복잡도 유형 분류기를 포함하는, 가상 클러스터 구축 시스템.
  10. 제 4 항에 있어서,
    상기 작업 이력 분석기는,
    상기 사용자의 작업 형태 및 상기 작업 복잡도 분석기로부터 받은 작업 복잡도 유형과 같은 작업 형태 및 복잡도 유형을 갖는 과거 이력들을 작업 실행 이력 데이터베이스에 질의하는 질의어 생성기;
    상기 질의 결과인 작업 이력 정보를 받아 각각의 작업 이력에 대해 사용자가 입력한 데이터의 양 및 종류, 작업 수행 시간과의 유사도를 계산하는 작업 유사도 분석기; 및
    상기 작업 유사도 계산의 결과를 기초로 사용자가 요청한 작업과 유사한 작업 이력들에 대한 정보인 유사 작업 이력 정보를 생성하여 상기 자원 규모 추정기로 전달하는 유사 작업 필터를 포함하는, 가상 클러스터 구축 시스템.
  11. 제 1 항에 있어서,
    상기 작업 스케줄러는,
    상기 가상 자원 관리자의해 추정된 상기 가상 클러스터 자원 규모를 구축하기 위한 클라우드 자원 상에서 물리적 자원이 충분하지 않은 경우, 상기 가상 클러스터 자원 규모를 수정하는 자원 요청 변환기를 더 포함하는, 가상 클러스터 구축 시스템.
  12. 클라우드 자원을 이용한 가상 클러스터 구축 방법에 있어서,
    작업 복잡도 분석기에서, 사용자가 제공한 작업 요청 정보를 이용하여 작업의 작업 복잡도 유형을 분류하는 단계;
    작업 이력 분석기에서, 상기 작업 요청 정보 및 상기 작업 복잡도 유형을 이용하여 과거 작업 실행 이력 중에서 현재 요청된 작업과 유사한 작업 실행 이력을 선택하여 유사 작업 이력 정보를 생성하는 단계;
    자원 규모 추정기에서, 상기 유사 작업 이력 정보를 이용하여 작업에 필요한 가상 클러스터 자원 규모를 추정하는 단계; 및
    가상 자원 관리자에서, 추정된 상기 가상 클러스터 자원 규모를 갖는 가상 클러스터를 클라우드 자원 상에 구축하는 단계를 포함하는, 가상 클러스터 구축 방법.
  13. 제 14 항에 있어서,
    상기 작업 복잡도 유형을 분류하는 단계는 상기 자원 요청 정보로부터 작업 수행에 사용될 분석 프로그램 또는 스크립트의 소스코드를 판독하여 상기 작업 복잡도 유형을 분류하는 단계를 포함하는, 가상 클러스터 구축 방법.
  14. 제 12 항에 있어서,
    상기 유사 작업 이력 정보를 생성하는 단계는,
    상기 사용자의 작업 형태 및 상기 복잡도 유형과 같은 작업 형태 및 복잡도 유형을 갖는 과거 이력들을 작업 실행 이력 데이터베이스에 질의하는 단계;
    상기 질의 결과인 작업 이력 정보를 받아 각각의 작업 이력에 대해 사용자가 입력한 데이터의 양 및 종류, 작업 수행 시간과의 유사도를 계산하는 단계; 및
    상기 작업 유사도 계산의 결과를 기초로 사용자가 요청한 작업과 유사한 작업 이력들을 필터링하여 유사 작업 이력 정보를 생성하는 유사 작업 필터링 단계를 포함하는, 가상 클러스터 구축 방법.
  15. 제 14 항에 있어서,
    상기 작업 이력과 상기 데이터 양 및 작업 수행 시간과의 유사도를 계산하는 것은, 정규 분포(normal distribution)에서 사용자가 입력한 데이터 양과 작업 수행 시간을 평균으로 하고, 사용자가 입력한 작업 수행 서비스 수준에 해당하는 정규 분포의 신뢰 구간에 작업 이력이 속하는지 여부로 계산하는, 가상 클러스터 구축 방법.
  16. 제 12 항에 있어서,
    상기 가상 클러스터 자원 규모를 추정하는 단계는, 상기 유사 작업 이력 정보를 이용하여 가상 클러스터의 가상 머신 노드 수(NN;Number of Nodes), CPU 코어 수(NC; Number of Cores), CPU 클록(CC; CPU Clock), RAM 사이즈(RS; RAM Size)를 포함하는 가상 클러스터 자원 규모를 추정하는 단계를 포함하는, 가상 클러스터 구축 방법.
  17. 제 16 항에 있어서,
    상기 가상 머신 노드 수(NN)는 과거 작업 실행에 성공한 작업에서 각각 사용된 가상 클러스터의 가상 머신 노드 수(NNi)에 가중치(wi)를 가중한 평균한 값으로 추정되며, 다음의 수식 1 및 2와 같이,
    Figure pat00021
    [수식 1]
    (여기서, ERi는 과거 작업 각각의 수행 결과를 의미함)

    Figure pat00022
    [수식 2]
    (여기서, AD(Amount of Data)는 사용자가 입력한 데이터 양, ET(Execution Time)은 사용자가 입력한 작업 수행 시간, ADi는 과거 작업 각각의 데이터 양, ETi는 과거 작업 각각의 작업 수행 시간, σ는 표준 편차를 의미함)
    에 의해 추정되는, 가상 클러스터 구축 방법.
  18. 제 16 항에 있어서,
    상기 CPU 코어수(NC)는 상기 가중치(wi)가 최대인 i 번째 작업 이력의 가상 머신의 CPU 코어수이며, 다음의 수식 3과 같이,
    Figure pat00023
    [수식 3]
    에 의해 추정되고,
    상기 CPU 클록(CC)은 상기 가중치(wi)가 최대인 i 번째 작업 이력의 가상 머신의 CPU 클록이며, 다음의 수식 4와 같이,
    Figure pat00024
    [수식 4]
    에 의해 추정되고,
    상기 RAM 사이즈(RS)는 상기 가중치(wi)가 최대인 i 번째 작업 이력의 가상 머신의 RAM 사이즈이며, 다음의 수식 5와 같이,
    Figure pat00025
    [수식 5]
    에 의해 추정되는, 가상 클러스터 구축 방법.
  19. 제 13 항에 있어서,
    상기 소스코드는 상기 소스코드의 루프 구조를 분석하는 루프 분석기, 상기 소스코드 내의 연산을 분석하는 연산 분석기, 및 상기 소스코드의 함수를 분석하는 함수 분석기를 이용하여 분석되는, 가상 클러스터 구축 방법.
  20. 제 12 항에 있어서,
    상기 가상 클러스터를 클라우드 자원 상에 구축하는 단계는,
    추정된 상기 가상 클러스터 자원 규모를 구축할 물리적 자원이 클라우드 자원에 충분하지 여부를 판단하는 단계; 및
    클라우드 자원에 물리적 자원이 충분한 것으로 판단될 경우, 추정된 가상 클러스터 자원 규모에 맞는 가상 클러스터를 구축하여 작업을 실행하는 단계를 포함하는, 가상 클러스터 구축 방법.
  21. 제 20항에 있어서,
    상기 가상 클러스터를 클라우드 자원 상에 구축하는 단계는,
    클라우드 자원에 물리적 자원이 충분하지 않은 것으로 판단될 경우, 사용자가 허용한 작업 수행 시간 내에 작업을 수행할 수 있을 정도로 추정된 가상 클러스터 자원 규모의 수정이 가능한지 여부를 한지 여부를 판단하는 단계;
    상기 가상 클러스터 자원 규모의 수정이 가능한 경우, 상기 가상 클러스터 자원 규모의 수정을 요청하는 단계; 및
    상기 가상 클러스터 자원 규모의 수정이 불가능한 경우, 상기 가상 클러스터의 구축 작업을 중단하는 단계를 더 포함하는, 가상 클러스터 구축 방법.
KR1020120058175A 2012-05-31 2012-05-31 분석 작업 실행 이력을 이용한 가상 클러스터 구축 시스템 및 방법 KR101374120B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120058175A KR101374120B1 (ko) 2012-05-31 2012-05-31 분석 작업 실행 이력을 이용한 가상 클러스터 구축 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120058175A KR101374120B1 (ko) 2012-05-31 2012-05-31 분석 작업 실행 이력을 이용한 가상 클러스터 구축 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20130134569A true KR20130134569A (ko) 2013-12-10
KR101374120B1 KR101374120B1 (ko) 2014-03-13

Family

ID=49982183

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120058175A KR101374120B1 (ko) 2012-05-31 2012-05-31 분석 작업 실행 이력을 이용한 가상 클러스터 구축 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101374120B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150137766A (ko) * 2014-05-30 2015-12-09 삼성에스디에스 주식회사 가상머신 스택 생성 시스템 및 방법
KR101695238B1 (ko) * 2016-06-29 2017-01-11 한국과학기술정보연구원 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법
US10120727B2 (en) 2014-02-27 2018-11-06 Intel Corporation Techniques to allocate configurable computing resources
CN110868330A (zh) * 2018-08-28 2020-03-06 中国移动通信集团浙江有限公司 云平台可划分cpu资源的评估方法、装置及评估系统
CN110908803A (zh) * 2019-11-22 2020-03-24 神州数码融信软件有限公司 一种基于余弦相似度算法的作业分配方法
KR20200103181A (ko) * 2019-02-13 2020-09-02 한국전자통신연구원 클라우드 컴퓨팅 기반의 시뮬레이션 장치 및 방법
CN117555586A (zh) * 2024-01-11 2024-02-13 之江实验室 一种算法应用发布、管理及评分方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019031783A1 (en) 2017-08-09 2019-02-14 Samsung Electronics Co., Ltd. ON-DEMAND FUNCTION SUPPLY SYSTEM (FAAS), AND METHOD OF OPERATING THE SYSTEM
KR20190109795A (ko) 2018-03-19 2019-09-27 고려대학교 산학협력단 유휴 컴퓨팅 자원을 이용한 클러스터 구축 장치 및 방법, 상기 방법을 수행하기 위한 저장 매체

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100404906B1 (ko) * 2001-12-20 2003-11-07 한국전자통신연구원 클러스터 시스템의 고 가용성 구현장치 및 방법
KR20110058679A (ko) * 2009-11-24 2011-06-01 경희대학교 산학협력단 클라우드 컴퓨팅을 이용한 모바일 자원 서비스 시스템 및 그 방법

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10120727B2 (en) 2014-02-27 2018-11-06 Intel Corporation Techniques to allocate configurable computing resources
KR20150137766A (ko) * 2014-05-30 2015-12-09 삼성에스디에스 주식회사 가상머신 스택 생성 시스템 및 방법
KR101695238B1 (ko) * 2016-06-29 2017-01-11 한국과학기술정보연구원 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법
CN110868330A (zh) * 2018-08-28 2020-03-06 中国移动通信集团浙江有限公司 云平台可划分cpu资源的评估方法、装置及评估系统
CN110868330B (zh) * 2018-08-28 2021-09-07 中国移动通信集团浙江有限公司 云平台可划分cpu资源的评估方法、装置及评估系统
KR20200103181A (ko) * 2019-02-13 2020-09-02 한국전자통신연구원 클라우드 컴퓨팅 기반의 시뮬레이션 장치 및 방법
US11650855B2 (en) 2019-02-13 2023-05-16 Electronics And Telecommunications Research Institute Cloud computing-based simulation apparatus and method for operating the same
CN110908803A (zh) * 2019-11-22 2020-03-24 神州数码融信软件有限公司 一种基于余弦相似度算法的作业分配方法
CN110908803B (zh) * 2019-11-22 2022-07-05 神州数码融信软件有限公司 一种基于余弦相似度算法的作业分配方法
CN117555586A (zh) * 2024-01-11 2024-02-13 之江实验室 一种算法应用发布、管理及评分方法
CN117555586B (zh) * 2024-01-11 2024-03-22 之江实验室 一种算法应用发布、管理及评分方法

Also Published As

Publication number Publication date
KR101374120B1 (ko) 2014-03-13

Similar Documents

Publication Publication Date Title
KR101374120B1 (ko) 분석 작업 실행 이력을 이용한 가상 클러스터 구축 시스템 및 방법
CN108089921B (zh) 用于云端大数据运算架构的服务器及其运算资源最佳化方法
EP3407548B1 (en) Chatbot system
US8793377B2 (en) Identifying optimal virtual machine images in a networked computing environment
US11567807B2 (en) Allocation of shared computing resources using source code feature extraction and machine learning
US9594663B2 (en) Apparatus and method for collecting log information from a plurality of servers
US20120173708A1 (en) Identifying optimal platforms for workload placement in a networked computing environment
US20130268937A1 (en) Distributed processing system, scheduler node and scheduling method of distributed processing system, and program generation apparatus thereof
US8806483B2 (en) Determining starting values for virtual machine attributes in a networked computing environment
CN103795804A (zh) 存储资源调度方法及存储计算系统
US11340924B2 (en) Machine-learning based heap memory tuning
US11630685B2 (en) Hypervisor and container placement and cost optimization utilizing machine learning
WO2022103575A1 (en) Techniques for modifying cluster computing environments
US20120284708A1 (en) Configuring virtual machine images in a networked computing environment
JP2018005896A (ja) シミュレーションジョブを実行するためのシステム、コントローラ、方法、及びプログラム
US20180095791A1 (en) Time frame bounded execution of computational algorithms
CN113378007B (zh) 数据回溯方法及装置、计算机可读存储介质、电子设备
US10255127B2 (en) Optimized diagnostic data collection driven by a ticketing system
KR101324850B1 (ko) 모바일 클라우드를 위한 온톨로지 기반의 가상 머신 할당 장치 및 그 방법
KR101376226B1 (ko) 오픈 소스 통합 관리 방법 및 그 서버
CN104781788A (zh) 资源管理系统、资源管理方法和程序
US20230113287A1 (en) Techniques for determining cross-validation parameters for time series forecasting
US10747748B2 (en) Generating mobile data schema to support disconnected operations
US20180083846A1 (en) Service level management of a workload defined environment
KR102063834B1 (ko) 클라우드 인프라스트럭처를 활용한 협업 시스템 및 이에 적용되는 이벤트 기반 협업 흐름 제어 방법

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: 20200121

Year of fee payment: 7