KR101695013B1 - Method for allocating and managing of adaptive resource - Google Patents

Method for allocating and managing of adaptive resource Download PDF

Info

Publication number
KR101695013B1
KR101695013B1 KR1020120146892A KR20120146892A KR101695013B1 KR 101695013 B1 KR101695013 B1 KR 101695013B1 KR 1020120146892 A KR1020120146892 A KR 1020120146892A KR 20120146892 A KR20120146892 A KR 20120146892A KR 101695013 B1 KR101695013 B1 KR 101695013B1
Authority
KR
South Korea
Prior art keywords
resource
task
allocation
adaptive
capacity
Prior art date
Application number
KR1020120146892A
Other languages
Korean (ko)
Other versions
KR20140077769A (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 KR1020120146892A priority Critical patent/KR101695013B1/en
Publication of KR20140077769A publication Critical patent/KR20140077769A/en
Application granted granted Critical
Publication of KR101695013B1 publication Critical patent/KR101695013B1/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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17318Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • 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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Abstract

적응형 자원 할당 및 관리 방법이 개시된다. 자원 및 작업 관리 장치가 자원 연관성 정보에 기초한 자원 할당 요청을 받고, 상기 자원 및 작업 관리 장치가 상기 할당 요청에 상응하는 자원에서 작업을 수행하고, 상기 작업 수행에 따른 자원 사용 프로파일링 데이터를 생성하고, 상기 자원 연관성 정보와 상기 프로파일링 데이터에 기초하여 자원 사용 효율성 분석하고, 상기 작업 재수행 필요시에 상기 자원 사용 효율성 분석에 기초하여 상기 작업에 대한 자원 할당 요청을 변경하여 전체 시스템의 자원 활용 효율성을 증대한다.An adaptive resource allocation and management method is disclosed. The resource and task management apparatus receives a resource allocation request based on the resource association information, the resource and task management apparatus performs an operation on a resource corresponding to the allocation request, generates resource usage profiling data on the basis of the task execution And analyzing a resource use efficiency based on the resource association information and the profiling data and changing a resource allocation request for the job based on the resource use efficiency analysis when the job re- .

Description

적응형 자원 할당 및 관리 방법{METHOD FOR ALLOCATING AND MANAGING OF ADAPTIVE RESOURCE}[0001] METHOD FOR ALLOCATING AND MANAGING OF ADAPTIVE RESOURCE [0002]

본 발명은 클러스터 시스템 환경에서 자원 할당 및 관리 방법에 관한 것으로, 더욱 상세하게는 자원 사용 효율성을 고려한 최적의 시스템 성능을 보장하는 적응형 자원 할당 및 관리 방법에 관한 것이다. The present invention relates to a resource allocation and management method in a cluster system environment, and more particularly, to an adaptive resource allocation and management method that ensures optimal system performance considering resource utilization efficiency.

HPC(high performance computing)분야에서 주류를 이루는 분산/병렬 컴퓨팅 환경은 클러스터 시스템이다. 하드웨어 기술의 발달로 클러스터를 구성하는 노드들의 자원 구성이 이기종으로 다양화 되고 각 자원이 지원하는 용량도 대용량화 되고 있다. The distributed / parallel computing environment, which is the mainstream in high performance computing (HPC), is a cluster system. With the development of hardware technology, the resource composition of the nodes constituting the cluster is diversified into different kinds, and the capacity that each resource supports is also becoming larger.

도 1은 이기종 매니 코어(many core) 기반 고성능 컴퓨팅 클러스터 자원 관리 시스템의 구성도이다.1 is a block diagram of a high performance computing cluster resource management system based on a multi core.

대부분의 고성능 컴퓨팅 클러스터 시스템에서는 전용의 자원 관리 시스템이 제공된다. 자원 관리 시스템 관점에서의 클러스터 시스템(100)의 하드웨어는 이기종 연산장치에 기반한 계산 성능 가속노드로 구성되는 자원 에이전트 노드(Resource Agent Nodes)(140), 이종 자원의 효과적인 시스템 관리 및 서비스를 위한 자원 관리자 노드(Resource Manager node)(130), 그리고 고속 네크워크에 기반한 시스템 네트워크(160)로 연결된 형상을 가진다. 일반 네트워크(120)로 연결된 클라이언트 노드(110)는 이기종 고성능 컴퓨팅 클러스트 시스템에 접속하여 반복적인 파이프라인 형태의 작업 수행을 요청한다. 클라이언트 노드(110)은 작업을 수행할 자원 할당을 요청하고, 요청된 자원을 포함하는 노드들이 할당되면 대상 작업을 할당된 노드상에서 수행시킨다. Most high-performance computing cluster systems provide dedicated resource management systems. The hardware of the cluster system 100 from the viewpoint of the resource management system includes a resource agent node 140 composed of a calculation performance acceleration node based on a heterogeneous computing device, a resource manager 140 for effective system management and service of a heterogeneous resource, A node (resource manager node) 130, and a system network 160 based on a high-speed network. The client node 110 connected to the general network 120 accesses the heterogeneous high performance computing cluster system and requests the execution of the pipeline type task repeatedly. The client node 110 requests a resource allocation to perform an operation, and when a node including a requested resource is allocated, a target operation is performed on the assigned node.

그런데, 유전체 분석과 같은 다양한 자원 요구 특성을 갖는 파이프 라인 형태로 구성되는 작업들을 수행하는 환경에서는 각 단계 별 응용의 정확한 자원 특성 및 자원 사용 요구량을 사용자가 정확하게 예측하여 실행하는 것이 어려우며, 이러한 분석 작업은 동일한 형태의 수행으로 입력 데이터만 다른 반복적인 수행으로 이루어진다. However, it is difficult for the user to precisely predict and execute the accurate resource characteristics and the resource use requirement of each application in an environment in which pipelined tasks having various resource requirements such as genome analysis are performed. Is performed by the same type of execution and iterative execution of only the input data.

이와 같이 입력 데이터만 다른 반복적인 수행에서 일부 자원 연관성과 정책 및 작업 특성을 기반으로 이종 자원의 할당을 수행하면, 특정 병목 자원에 의해 성능 저하가 발생하거나 필요 이상의 자원이 할당되어 동작하는 경우 시스템 전체 성능 및 효율성 저하를 초래한다. If heterogeneous resource allocation is performed based on some resource associativity and policy and operation characteristics in repetitive execution of input data only, performance degradation occurs due to a specific bottleneck resource, Performance and efficiency.

또한, 일부 프로파일링을 통한 자원 사용 현황을 반영하여 반복적인 수행에서 자원 할당의 효율성을 높이고 있으나, 기회 비용 관점의 전체 수행 대비 병목 자원에 대한 자원 사용 효율성을 고려한 자원 분배 및 할당이 이루어지지 않아서 여전히 자원 사용의 효율성이 떨어지고, 시스템 성능 감소 현상이 나타나게 된다.In addition, although the efficiency of resource allocation is improved in repetitive execution by reflecting the resource use status through some profiling, resource allocation and allocation considering resource utilization efficiency for the bottleneck resource is not performed, The efficiency of resource use is degraded, and system performance is reduced.

상술한 바와 같은 단점을 극복하기 위한 본 발명의 목적은 이기종 자원을 할당 받아 동작하는 반복적으로 수행되는 파이프라인 형태의 작업 수행 중에 발생하는 자원 사용 프로파일링 정보와 자원 연관성 정보를 이용하여 자원 사용 효율성을 분석하고, 자원 사용 효율성 개념을 기반으로 병목 자원에 의한 작업 성능 저하나 과잉 할당에 의한 시스템 자원 활용율 저하가 되는 상황을 인지하여 작업의 성능 최적화를 위한 연관 자원의 자원 요구량을 산출하고 이를 기반으로 작업의 자원 할당 요청을 변경하여 작업의 성능 향상 및 시스템 자원 활용 효율성을 증가시켜 전체적인 시스템의 성능을 향상시키는 적응형 자원 할당 및 관리 방법을 제공하는 것이다.In order to overcome the above-described drawbacks, an object of the present invention is to provide a method and apparatus for efficiently using resource utilization efficiency using resource utilization profiling information and resource association information generated during a repeatedly performed pipeline- Based on the concept of resource use efficiency, it recognizes the situation where the bottleneck resource degrades the system resource utilization rate by reducing or over-allocating the work resource, and calculates the resource requirement amount of the related resource for optimizing the performance of the task. The present invention provides a method of allocating and managing an adaptive resource that improves the performance of an overall system by improving the performance of a task and the efficiency of utilization of system resources.

상술한 본 발명의 목적을 달성하기 위한 본 발명에 따른 적응형 자원 할당 및 관리 방법은 자원 및 작업 관리 장치가 자원 연관성 정보에 기초한 자원 할당 요청을 받고, 상기 자원 및 작업 관리 장치가 상기 할당 요청에 상응하는 자원에서 작업을 수행하고, 상기 작업 수행에 따른 자원 사용 프로파일링 데이터를 생성하고, 상기 자원 연관성 정보와 상기 프로파일링 데이터에 기초하여 자원 사용 효율성 분석하고, 상기 작업 재수행 필요시에 상기 자원 사용 효율성 분석에 기초하여 상기 작업에 대한 자원 할당 요청을 변경한다.According to another aspect of the present invention, there is provided an adaptive resource allocation and management method, wherein a resource and task management apparatus receives a resource allocation request based on resource association information, Performing a job on a corresponding resource, generating resource usage profiling data according to the job execution, analyzing resource use efficiency based on the resource association information and the profiling data, And changes the resource allocation request for the job based on the utilization efficiency analysis.

상술한 바와 같은 적응형 자원 할당 및 관리 방법에 따르면 파이프라인 형태의 다양한 자원을 복합적으로 사용하는 반복적인 작업 수행 환경에서 자원 사용 효율성을 고려한 프로파일링 분석과 자원 연관성 기반의 적응형 자원 할당 및 관리 방법을 통해 파이프라인 형태의 작업을 수행하는 일반 사용자가 수행되는 대상 시스템에 대한 자원 할당에 대한 복잡한 요청 없이, 반복적인 작업 수행을 통해 최적의 자원 사용 환경을 제공받을 수 있는 성능 최적화 및 활용 편의성을 증대시킬 수 있다. According to the above-described adaptive resource allocation and management method, a profiling analysis considering resource use efficiency and an adaptive resource allocation and management method based on resource association in an iterative work execution environment using a variety of pipeline type resources , It is possible to optimize performance and optimize the utilization efficiency that can provide optimal resource utilization environment through iterative work execution without complicated request for resource allocation to the target system performed by the general user performing the pipeline type work .

도 1은 이기종 매니 코어(many core) 기반 고성능 컴퓨팅 클러스터 자원 관리 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 적응형 자원 할당 및 관리 방법에서 자원 및 작업 관리 장치의 소프트웨어 구조도이다.
도 3은 본 발명의 일 실시예에 따른 적응형 자원 할당 및 관리 방법에서 자원 할당 및 할당 자원 기반 작업 수행 시 흐름을 나타내는 순서도이다.
1 is a block diagram of a high performance computing cluster resource management system based on a multi core.
FIG. 2 is a software configuration diagram of a resource and task management apparatus in an adaptive resource allocation and management method according to an embodiment of the present invention.
3 is a flowchart illustrating a flow of resource allocation and resource-based task execution in the adaptive resource allocation and management method according to an exemplary embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It is to be understood, however, that the invention is not to be limited to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

본 발명은 이기종 자원을 할당 받아 동작하는 반복적으로 수행되는 파이프라인 형태의 작업 수행 중에 발생하는 자원 사용 프로파일링 정보와 자원 연관성 정보를 이용하여 자원 사용 효율성을 분석하고, 자원 사용 효율성 개념을 기반으로 작업의 자원 할당 요청을 변경하여 작업의 성능 향상 및 시스템 자원 활용 효율성을 증가시키는 방법을 제안한다.
The present invention analyzes resource utilization efficiency using resource usage profiling information and resource association information that occur during a repeatedly performed pipeline type work that is performed by allocating heterogeneous resources, We propose a method to improve the performance of the work and increase the system resource utilization efficiency.

도 2는 본 발명의 일 실시예에 따른 적응형 자원 할당 및 관리 방법에서 자원 및 작업 관리 장치의 소프트웨어 구조도이다.FIG. 2 is a software configuration diagram of a resource and task management apparatus in an adaptive resource allocation and management method according to an embodiment of the present invention.

자원 및 작업 관리 장치는 작업 스케줄러(Job Scheduler)(231), 자원 관리자(Resource Manager)(232), 프로파일링 도구(Profiling tools)(233), 자원 할당기(Resource allocator)(234), 프로파일링 분석기(Profiling analyzer)(235), 그리고 자원 효율성 계산기(Resource efficiency calculator)(236)로 구성된다.The resource and job management apparatus includes a job scheduler 231, a resource manager 232, a profiling tools 233, a resource allocator 234, A profiling analyzer 235, and a resource efficiency calculator 236.

상기 작업 스케줄러(231), 자원 관리자(232), 프로파일링 도구(233), 자원 할당기(234), 프로파일링 분석기(235), 자원 효율성 계산기(236)은 기능을 설명하기 위하여 구분하였으나 실제 구현에 있어서는 하나 또는 몇 개의 장치로 구현될 수 있으며, 특정한 수로 한정되지 않으며 상기 기능은 프로그램의 형태로 구현될 수 있다.Although the task scheduler 231, the resource manager 232, the profiling tool 233, the resource allocator 234, the profiling analyzer 235, and the resource efficiency calculator 236 are classified to illustrate the functions, It is to be understood that the present invention is not limited to the specific number, and the functions may be implemented in the form of a program.

예를 들어 수행 요청된 작업(210)은 여러 작업(job)으로 나누어진 수행 순서를 가지고 있다. 상기 수행 요청된 작업은 파이프라인(220) 형태로 작업을 요청하게 된다.For example, the job 210 requested for execution has a sequence of operations divided into a plurality of jobs. The requested operation is requested in the form of a pipeline 220.

작업 스케줄러(231)는 사용자로부터 수행 요청된 작업(210)에 대해 자원 관리자(232)에 자원 할당을 요청하고, 할당된 자원을 이용하여 작업을 수행시키고 관리하는 역할을 수행한다.The task scheduler 231 requests the resource manager 232 to allocate resources to the task 210 requested to be performed by the user, and performs and manages tasks using the allocated resources.

작업 스케줄러(231)로부터 자원 할당 요청을 받은 자원 관리자(232)는 사용자가 입력한 인자를 해석하여 하부 블록의 실행에 필요한 정보를 전달하는 역할을 수행한다. 또한, 자원 관리자(232)는 작업이 적절히 수행되도록 자원을 제어하며 자원 할당기(234)를 통해 자원 할당을 수행하고 작업 스케줄러(231)에 자원 할당 결과를 전달하는 역할을 수행한다.The resource manager 232 receiving the resource allocation request from the job scheduler 231 analyzes the factors inputted by the user and delivers information necessary for execution of the lower block. In addition, the resource manager 232 controls resources to perform tasks appropriately, performs resource allocation through the resource allocator 234, and transmits a resource allocation result to the task scheduler 231.

자원 할당기(234)는 자원 관리자(232)로부터 전달 받은 해당 작업 정보를 바탕으로 최적의 노드와 자원을 할당한다. 자원 할당기(234)는 자원 할당 요청이 완료되면 자원 할당 인스턴스를 생성하고 할당된 노드 및 자원 정보를 반영하여 저장한다. The resource allocator 234 allocates optimal nodes and resources based on the corresponding task information received from the resource manager 232. When the resource allocation request is completed, the resource allocator 234 generates a resource allocation instance and reflects and stores the allocated node and resource information.

프로파일링 도구(233)는 작업 스케줄러(231)가 수행하는 수행 작업에 대한 자원 별 자원 사용 정보를 모니터링하고 저장, 관리한다.The profiling tool 233 monitors, stores, and manages resource usage information for each task performed by the task scheduler 231.

프로파일링 분석기(235)는 프로파일링 도구(233)가 작업 수행에 의해 실제 사용된 자원 사용 정보를 모니터링하여 저장한 프로파일링 데이터를 분석한다. 프로파일링 분석기(235)는 프로파일링 데이터 분석을 통해 병목 자원의 존재 여부나 자원의 사용 효율 저하가 발생했는지 판단할 수 있다. 또한, 병목 자원이 존재하면 병목 자원의 전체 수행 시간 대비 비율을 산정하고 주기성을 판단하는 역할을 수행한다.The profiling analyzer 235 analyzes the profiling data that the profiling tool 233 monitors and stores the actually used resource usage information by performing the job. The profiling analyzer 235 can determine whether bottleneck resources are present or degraded in resource utilization efficiency through profiling data analysis. Also, if the bottleneck resource exists, it calculates the ratio of the bottleneck resource to the total execution time and determines the periodicity.

자원 효율성 계산기(236)는 프로파일링 분석기(235)의 분석 결과를 기반으로 대상 작업에 대한 연관 자원 기반의 효율적인 자원 용량을 산출하며, 산출된 자원 할당에 대한 정보는 작업 스케줄러(231)의 대상 작업에 대한 재수행에 사용된다.
The resource efficiency calculator 236 calculates an efficient resource capacity based on an associated resource for the target task based on the analysis result of the profiling analyzer 235 and the information on the calculated resource allocation is used as a target task of the task scheduler 231 Is used for re-execution.

자원 및 작업 관리 장치는 기 수행된 작업의 투입 자원에 대한 자원 사용에 의한 효율성 뿐만아니라, 병목 자원에 대한 자원 할당 확대 여부를 판단하기 위해 추가 투입 자원 대비 자원 활용의 달성 가능 정도를 예측하여 자원 사용 효율성을 산출할 수 있다.The resource and task management device predicts the degree of achievability of resource utilization relative to the additional input resource to determine whether the resource allocation is extended to the bottleneck resource, Efficiency can be calculated.

예를 들어, 입출력 자원의 병목으로 인해 작업의 입출력 대기 시간이 늘어나면 프로파일링 기반 자원 관리에서는 모자라는 입출력을 해결할 수 있는 입출력 대역폭을 해당 작업에 할당하여 작업의 효율성 및 시스템의 성능 향상을 시도한다. 그러나, 이런 접근법에서는 입출력 대기로 인한 수행 지연 시간이 전체 작업의 수행 시간에서 차지하는 비율에 대한 고려가 이루어지지 않기 때문에, 해당 작업에 대한 효율 및 수행 시간은 개선될 수 있지만 시스템 전체의 수행 작업 관점에서 보면 해당 입출력이 전체 작업 수행 시간에서 차지하는 비율이 작은 경우, 나머지 시간 동안 다른 작업에 투입될 수 있는 입출력 대역폭이 특정 작업에 한정되어 시스템 전체의 자원 활용 효율성이나 성능 측면에서는 나빠지는 경우가 발생할 수도 있다.For example, if input / output latency increases due to a bottleneck of I / O resources, profiling based resource management tries to improve efficiency and system performance by allocating I / O bandwidth that can handle inadequate I / . However, in this approach, the efficiency and execution time for the task can be improved because the execution latency due to I / O wait is not considered in the execution time of the whole task. However, If the input / output ratio of the input / output is small, the input / output bandwidth that can be input to other tasks during the remaining time is limited to a specific task, which may result in deterioration in resource utilization efficiency or performance of the entire system .

본 발명의 자원 사용 효율성은 이런 측면을 고려한 병목 자원의 추가 투입 여부와 추가 투입되는 자원의 할당량을 산출하는 개념이다. 병목을 유발시키는 자원 구간에 해당하는 수행 시간이 전체 작업 수행 시간에서 차지하는 비율과 해당 병목이 100% 성능을 기준으로 일정 비율으로 예를 들어 10%의 비율로 병목이 발생하는 수행 시간의 비율을 계산하여 자원 사용 효율성을 산출할 수 있다.The resource utilization efficiency of the present invention is a concept of calculating whether additional bottleneck resources are added and resources allocated for additional resources in consideration of this aspect. The ratio of the execution time corresponding to the resource section causing the bottleneck to the total execution time of the bottleneck and the ratio of the execution time in which the bottleneck occurs at a certain ratio, for example, 10% So that resource utilization efficiency can be calculated.

예를 들어, 프로파일링 결과 해당 작업(job)에서 자원 B에 의해 병목을 유발하는 수행 시간의 비율이 전체 작업 수행 대비 40% 일 경우, 자원 B의 병목이 최대인 구간, 즉 프로파일링 결과 자원 B의 할당량을 넘어서는 최대 요구량을 100%로하였을 때 자원 B의 최대 요구량의 시간 비율이 5%, 자원 B에 병목 최대 요구량 대비 70%에 해당하는 구간의 시간 비율이 35%면, 해당 작업에 병목 자원 B의 최대 요구량의 70%에 해당하는 자원을 추가 투입하면, 해당 자원에 의해 병목이 발생하는 수행 시간의 구간이 전체 수행 시간 대비 5%정도로 단축될 수 있다. 위의 예를 보면, 병목 자원에 해당하는 자원에 대한 추가 자원을 단순하게 투입하는 것보다 전체 시스템에서 수행되는 작업들의 관점에서 병목 수행 시간과 추가 투입 자원의 비율을 동시에 고려하여 추가 투입 자원의 할당량을 결정하는 것이 전체적인 자원의 효율성과 시스템 성능 향상을 가져올 수 있다.
For example, if the ratio of the execution time that causes the bottleneck by the resource B in the corresponding job as the result of profiling is 40% with respect to the total execution of the task, the interval in which the bottleneck of the resource B is the maximum, that is, The ratio of the time required for the resource B to the maximum required amount is 5%, and the time ratio of the resource B to the resource required for the bottleneck maximum requested amount is 35%, when the maximum required amount exceeds the allocation amount of 100% If additional resources corresponding to 70% of the maximum demand of B are added, the execution time interval in which the bottleneck occurs due to the resource can be shortened to about 5% of the total execution time. In the above example, rather than simply putting additional resources for the resource corresponding to the bottleneck resource, consider the bottleneck execution time and the ratio of the additional input resource simultaneously from the viewpoint of the operations performed in the whole system, Can lead to overall resource efficiency and system performance improvement.

도 3은 본 발명의 일 실시예에 따른 적응형 자원 할당 및 관리 방법에서 자원 할당 및 할당 자원 기반 작업 수행 시 흐름을 나타내는 순서도이다.3 is a flowchart illustrating a flow of resource allocation and resource-based task execution in the adaptive resource allocation and management method according to an exemplary embodiment of the present invention.

자원 및 작업 관리 장치는 사용자로부터 수행 작업 및 요구되는 자원의 정보를 입력으로 받으면, 작업 스케줄러(231)로 수행 요청을 전달한다. 작업 수행을 위한 자원 할당 요청을 위해 작업 스케줄러(231)는 자원에 대한 작업 특성, 할당 정책 또는 각 할당 자원의 용량 등을 포함하는 자원 연관성 데이터(310)를 파라미터로 자원 관리자(232)에 자원 할당을 요청한다(S101). When the resource and task management apparatus receives information on a task to be performed and resources to be requested from the user, the task manager transmits a task execution request to the task scheduler 231. The task scheduler 231 assigns resources to the resource manager 232 as resource parameters, including resource characteristics data 310 including task characteristics, allocation policies, and capacity of each allocated resource, (S101).

자원 관리자(232)는 자원 연관성 데이터(310)를 기반으로 자원 할당기(234)를 호출하여 자원 할당을 수행한다. The resource manager 232 calls the resource allocator 234 based on the resource association data 310 to perform resource allocation.

자원 할당기(234)는 자원 연관성에 의한 자원 할당을 통해 연관성 높은 노드를 할당하여 성능을 최적화하고, 부하가 가장 적은 노드 할당으로 전체 시스템의 사용률 및 로드 밸런싱을 높이는 자원 할당이 가능하게 한다.The resource allocator 234 optimizes performance by allocating high-relevancy nodes through resource allocation based on resource associativity, and enables resource allocation to increase utilization and load balancing of the entire system with node allocation with the smallest load.

자원 관리자(232)에서 자원 할당에 대한 요청이 완료되면 작업 스케줄러(231)는 할당된 자원을 통해 대상 작업을 수행시킨다(S102). When the request for resource allocation is completed in the resource manager 232, the task scheduler 231 performs the target task through the allocated resources (S102).

대상 작업에 대한 수행이 시작되면 프로파일링 도구(235)에 의해 자원 사용 프로파일링이 실행되어 수행 작업에 대한 할당 자원 별 사용 현황에 대한 정보가 자원 사용 프로파일링 데이터(320)로 자원 및 작업 관리 장치의 저장소에 기록된다(S103). When the execution of the target task is started, the profiling tool 235 executes the resource use profiling, and information on the usage status of each task by the allocated resource for the task is stored in the resource use profiling data 320, (S103).

작업 수행이 정상적으로 종료되면 자원 사용 프로파일링 데이터(320)와 자원 연관성 데이터(310)를 기초로 작업에 대한 자원 사용 효율성 분석을 수행한다(S104). When the task execution normally ends, the resource use efficiency analysis for the task is performed based on the resource use profiling data 320 and the resource association data 310 (S104).

자원 사용 효율성 분석 단계에서는 병목 자원의 유무나 자원 과잉 할당 여부를 먼저 판단한다.In the resource utilization efficiency analysis step, the presence or absence of the bottleneck resource or resource over allocation is first determined.

자원 과잉 할당은 프로파일링 결과 실제 할당된 자원 보다 사용한 자원의 양이 작은 경우를 의미할 수 있다.Resource over allocation may mean that the amount of resources used is less than the actual allocated resources as a result of profiling.

자원 과잉 할당의 경우 프로파일링 결과 해당 자원의 최고 사용율과 전체 수행 시간 대비 수행 시간 비율에서 다음 작업 수행에서의 자원 할당 용량을 결정한다. 다음 작업 수행에서의 자원 할당 용량을 결정하기 위하여 최고 사용율에서 일정한 비율 간격으로 자원 사용에 대한 수행 시간 비율을 산출한다. 산출된 수행 시간 비율에서 전체 수행 시간 대비 미리 설정한 수행 시간 비율 예를 들어 10%를 넘는 경우의 자원 사용율을 다음 작업 수행에서의 자원 할당 용량으로 결정한다.In the case of resource over allocation, the resource allocation capacity in the next task execution is determined by the profiling result in the ratio of the highest utilization rate of the corresponding resource and the execution time ratio with respect to the total execution time. In order to determine the resource allocation capacity in the next task execution, the execution time ratio for resource use is calculated at a constant rate interval at the highest utilization ratio. For example, if the calculated execution time ratio exceeds 10%, the resource allocation ratio in the next task execution is determined as the ratio of the total execution time to the preset execution time.

예를 들어 프로파일링 결과 자원 A는 할당된 자원을 다 사용하지 않는 자원 과잉 할당의 경우로 판단되면, 자원 A의 최고 사용율을 산출한다. 예를 들어 자원 A의 최고 사용율이 할당량 대비 50%일 경우라면, 자원 사용율 간격을 20%로 하여 해당 자원 사용율을 수행하는 시간 비율을 산출한다. 예를 들어 자원 A의 사용율이 50%이고, 이때 전체 수행 시간 대비 자원 사용율 50%의 수행 시간이 5%, 자원 A의 사용율이 30%일 때, 전체 수행 시간 대비 자원 사용율 30%의 수행시간이 15%, 자원 A의 사용율이 10%일 때, 전체 수행 시간 대비 자원 사용율 10%의 수행시간이 5%라면, 전체 수행 시간 대비 수행 시간의 비율이 10%를 넘는 자원 사용율 30%를 다음 작업 수행에서의 자원 A의 할당량으로 결정한다.For example, when profiling results in resource A being judged to be a resource over allocation that does not consume the allocated resource, the highest utilization rate of resource A is calculated. For example, if the highest utilization rate of the resource A is 50% of the quota, the resource utilization rate interval is set to 20%, and the time ratio of performing the resource utilization rate is calculated. For example, when the utilization rate of resource A is 50% and the execution time of resource utilization 50% is 5% and the utilization rate of resource A is 30% as compared with the total execution time, the execution time of resource utilization 30% 15%, resource A utilization rate is 10%, if the execution time of resource utilization rate 10% is 5% compared with the total execution time, the resource utilization rate 30% which exceeds 10% As the resource A's quota.

이 때 전체 수행 시간 대비 자원 A 수행 시간 비율 기준 10%는 하나의 예로서 한정되지 않고, 상황에 따라 다른 값으로 설정할 수 있다.In this case, 10% of the resource A execution time ratio with respect to the total execution time is not limited to one example but can be set to a different value depending on the situation.

병목 자원은 프로파일링 결과 자원의 요구량이 실제 할당된 자원을 넘어서는 경우를 의미할 수 있다.The bottleneck resource may refer to the case where the demand of the profiling resource exceeds the actual allocated resource.

병목 자원의 경우도 자원 과잉 할당의 경우와 비슷하게 프로파일링 결과 자원 최대 요구량과 전체 수행 시간의 비율을 바탕으로 다음 작업에서의 자원 할당량을 결정할 수 있다.In the case of the bottleneck resource, the resource allocation amount in the next task can be determined based on the ratio of the maximum resource requirement to the total execution time, similar to the case of the resource over allocation.

병목 자원의 경우는 병목 자원 실제 할당량을 넘어서는 최대 요구량을 100%로 설정하고, 10%범위 별 병목 자원율의 평균을 산출하여 다음 수행에서의 추가 투입 자원의 용량을 결정할 수 있다.For the bottleneck resource, the maximum required amount exceeding the bottleneck resource actual allocation amount is set to 100%, and the average of the bottleneck resource ratio per 10% range is calculated to determine the capacity of the additional input resource in the next execution.

여기서 병목 자원율의 평균을 산출 할 때 사용하는 단위 계산 값 10%는 특정한 값으로 한정되지 않으며, 상황에 따라서 다른 값을 사용할 수 있다.Here, the unit calculation value 10% used in calculating the average of the bottleneck resource rate is not limited to a specific value, and other values can be used depending on the situation.

여기서 실제 할당량을 넘어서는 최대 요구량을 100%로 설정한다는 것은 해당 작업에서 자원 C의 할당량이 100으로 가정하였을 때, 프로파일링 결과 자원 C의 최대 요구량이 150이었을 때, 할당량 100을 넘어서는 자원 요구량 50을 병목 자원의 값으로 정의하고, 이 때 자원 요구량 50을 병목자원율 100%로 정의할 수 있다.Here, the maximum required amount exceeding the actual quota is set to 100%. Assuming that the allocation amount of the resource C in the task is 100, when the maximum required amount of the resource C is 150, the resource requirement 50 exceeding the allocation amount 100 is set as the bottleneck And the resource requirement 50 can be defined as the bottleneck resource rate 100%.

병목 자원의 다음 작업 수행에서의 추가 투입 자원의 용량을 결정하는 예는 다음과 같다.An example of determining the capacity of additional input resources in the next task of the bottleneck resource is as follows.

프로파일링 결과 자원 C가 할당량보다 많은 자원 요구가 있고, 이로 인해서 전체 수행 시간 대비 많은 수행 시간을 가진다면 병목 자원으로 판단할 수 있다.As a result of the profiling, if resource C has a resource requirement larger than the quota, and thus has a large execution time compared to the total execution time, it can be judged as a bottleneck resource.

프로파일링 결과 자원 C의 전체 작업 수행 시간 대비 병목 자원 수행 시간이 50%이고, 병목 자원율 10%일 경우 전체 작업 수행 시간 대비 병목 자원 수행 시간이 30%, 병목 자원율 20%일 경우 전체 작업 수행 시간 대비 병목 자원 수행 시간이 3%, 병목 자원율 30%일 경우 전체 작업 수행 시간 대비 병목 자원 수행 시간이 5%, 병목 자원율 40%일 경우 전체 작업 수행 시간 대비 병목 자원 수행 시간이 0%, 병목 자원율 50%일 경우 전체 작업 수행 시간 대비 병목 자원 수행 시간이 2%, 병목 자원율 60%일 경우 전체 작업 수행 시간 대비 병목 자원 수행 시간이 3%, 병목 자원율 70%일 경우 전체 작업 수행 시간 대비 병목 자원 수행 시간이 2%, 병목 자원율 80%일 경우 전체 작업 수행 시간 대비 병목 자원 수행 시간이 1%, 병목 자원율 90%일 경우 전체 작업 수행 시간 대비 병목 자원 수행 시간이 2%, 병목 자원율 100%일 경우 전체 작업 수행 시간 대비 병목 자원 수행 시간이 2%라면 다음과 같이 평균 값을 구하여 다음 작업 수행에서의 추가 투입 자원의 용량으로 결정할 수 있다. If the bottleneck resource rate is 10% and the execution time of the bottleneck resource is 20% compared with the total execution time of the resource C, the total operation is performed when the bottleneck resource rate is 10% If the bottleneck resource execution time is 3% and the bottleneck resource ratio is 30%, the bottleneck resource execution time is 0% when the bottleneck resource execution time is 5% and the bottleneck resource ratio is 40% When the bottleneck resource rate is 50%, when the execution time of the bottleneck resource is 2% and the bottleneck resource rate is 60% of the total execution time, when the bottleneck resource execution time is 3% and the bottleneck resource rate is 70% If the bottleneck resource execution time is 2% and the bottleneck resource ratio is 80%, the total bottleneck resource execution time is 1% and the bottleneck resource ratio is 90% If the execution time is 2% and the bottleneck resource rate is 100%, if the execution time of the bottleneck resource is 2% compared to the total execution time, the average value can be determined as follows and the capacity of the additional input resource in the next task execution can be determined.

(10 × 30 ÷ 50 + 20 × 3 ÷ 50 + 30 × 5 ÷ 50 + 50 × 2 ÷ 50 + 60 × 3 ÷ 50 + 70 × 2 ÷ 50 + 80 × 1 ÷ 50 + 90 × 2 ÷ 50 + 100 × 2 ÷ 50) = 27.8(10 × 30 ÷ 50 + 20 × 3 ÷ 50 + 30 × 5 ÷ 50 + 50 × 2 ÷ 50 + 60 × 3 ÷ 50 + 70 × 2 ÷ 50 + 80 × 1 ÷ 50 + 90 × 2 ÷ 50 + 100 × 2 ÷ 50) = 27.8

즉, 자원 C의 할당량을 넘어서는 최대 요구량의 27.8%를 다음 작업 수행에서 추가로 투입한다면 대략 전체 수행 시간 대비 33%의 병목 자원 구간을 해소할 수 있다.That is, if additional work of 27.8% of the maximum required amount exceeding the allocation amount of resource C is performed in the next task execution, the bottleneck resource section of 33% of the total execution time can be eliminated.

이러한 과정으로 모든 할당 자원에 대한 자원 효율성 분석 과정이 완료되면, 자원 사용 효율성 분석 데이터(330)가 작성된다.When the resource efficiency analysis process for all the allocated resources is completed in this process, the resource use efficiency analysis data 330 is created.

자원 및 작업 관리 장치는 반복 수행되는 작업에서 요구되는 자원 할당 요구량 계산 시에 자원 연관성 정보를 활용하여 필요한 자원 별 할당 용량을 결정한다(S105). The resource and task management apparatus determines the allocated capacity for each resource by using the resource association information at the time of calculating the resource allocation requirement amount required for the task to be repeatedly performed (S105).

자원 사용 효율성 정보는 다음 수행 시의 자원 사용 효율성 측정을 위한 데이터로 저장되고 관리된다.The resource use efficiency information is stored and managed as data for measuring the resource use efficiency at the next execution.

여기서, 자원 연관성 정보는 시스템을 구성하는 물리적인 자원간의 연관성 정보로서, 예를 들어 범용 프로세서(CPU)는 내부에 여러 개의 소켓으로 구성되고 소켓은 여러 개의 코어로 구성될 때 소켓마다 메모리가(RAM) 연결되어 있는데, 동일 시스템이라도 현재 소켓이 아니라 다른 소켓에 연결된 메모리를 사용하게 되면 자신의 소켓 메모리를 사용하는 경우보다는 성능 저하가 발생할 수 있다. 따라서 동일한 용량의 자원들을 할당하는 경우에도 자원의 물리적인 위치나 관계의 의해 성능에 영향을 미칠 수 있는 자원간의 정보를 자원 연관성 정보라고 할 수 있다.Here, the resource association information is information related to the physical resources constituting the system. For example, when a general-purpose processor (CPU) is composed of a plurality of sockets and a socket is composed of a plurality of cores, ). Even if the same system uses the memory connected to another socket rather than the current socket, performance may be deteriorated rather than using the socket memory of the same system. Therefore, even when allocating resources of the same capacity, information between resources that can affect the performance by the physical location or the relation of resources can be referred to as resource association information.

작업에 대한 재수행에 대한 요청을 판단하여(S106), 재수행이 요청되면 자원 사용 효율성 정보를 기반으로 작업에 대한 자원 할당 요청을 변경하고(S107), 할당된 자원에 작업을 수행하는 단계(S102)로 이동하여 작업 수행을 반복한다.(S106). If the re-execution is requested, the resource allocation request for the task is changed based on the resource use efficiency information (S107), and the task is performed on the allocated resource S102) and repeats the task execution.

또한, 작업에 대한 재수행 요청을 판단하여(S106), 작업의 재수행 요청이 없으면 해당 작업에 대한 수행은 종료한다.
In addition, a re-execution request for a job is determined (S106). If there is no re-execution request for the job, the execution for the job is terminated.

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The methods according to the present invention can be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer readable medium may be those specially designed and constructed for the present invention or may be available to those skilled in the computer software. Examples of computer readable media include hardware devices that are specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate with at least one software module to perform the operations of the present invention, and vice versa.

이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. It will be possible.

100 : 클러스터 시스템 110 : 클라이언트 노드
120 : 일반 네트워크 130 : 자원 관리자 노드
140 : 자원 에이전트 노드 150 : 노드
160 : 시스템 네트워크
210 : 작업 220 : 파이프라인
231 : 작업 스케줄러 232 : 자원 관리자
233 : 프로파일링 도구 234 : 자원 할당기
235 : 프로파일링 분석기 236 : 자원 효율성 계산기
100: Cluster system 110: Client node
120: General network 130: Resource manager node
140: resource agent node 150: node
160: System Network
210: Operation 220: Pipeline
231: Task Scheduler 232: Resource Manager
233: Profiling tool 234: Resource allocator
235: Profiling Analyzer 236: Resource Efficiency Calculator

Claims (13)

자원 및 작업 관리 장치가 자원 연관성 정보에 기초한 자원 할당 요청을 수신하는 단계;
상기 자원 및 작업 관리 장치가 상기 할당 요청에 상응하는 자원을 할당하여 작업을 수행하고, 상기 작업 수행에 따른 자원 사용 프로파일링 데이터를 생성하는 단계;
상기 자원 연관성 정보와 상기 프로파일링 데이터에 기초하여 자원 사용 효율성을 분석하는 단계를 포함하고,
상기 자원 사용 효율성을 분석하는 단계는,
할당된 자원의 병목이나 과잉 여부를 판단하고, 상기 할당된 자원을 사용하여 상기 작업을 수행한 시간이 시스템 전체 작업 수행 시간에서 차지하는 비율을 고려하여 효율성을 분석하는 적응형 자원 할당 및 관리 방법.
The resource and work management apparatus receiving a resource allocation request based on the resource association information;
Allocating a resource corresponding to the allocation request to the resource and task management apparatus, and generating resource usage profiling data according to the task execution;
Analyzing resource utilization efficiency based on the resource association information and the profiling data,
Analyzing the resource use efficiency,
And analyzing efficiency by determining a bottleneck or an excess of allocated resources and taking into account the ratio of the time occupied by the task using the allocated resources to the total task execution time of the system.
청구항 1에 있어서,
상기 자원 연관성 정보는,
자원 및 작업 관리 장치가 관리하는 시스템을 구성하는 물리적인 자원간의 연관성 정보인 것을 특징으로 하는,
적응형 자원 할당 및 관리 방법.
The method according to claim 1,
Wherein the resource-
And information related to physical resources constituting a system managed by the resource and task management apparatus.
Adaptive resource allocation and management.
삭제delete 청구항 1에 있어서,
상기 자원 사용 효율성을 분석하는 단계는,
자원 사용 효율성 분석 결과를 바탕으로 자원 사용 효율성 분석 데이터를 작성하는 단계를 포함하는,
적응형 자원 할당 및 관리 방법.
The method according to claim 1,
Analyzing the resource use efficiency,
And creating the resource use efficiency analysis data based on the resource use efficiency analysis result.
Adaptive resource allocation and management.
청구항 4에 있어서,
상기 자원 사용 효율성을 분석하는 단계 이후에,
상기 작업의 재수행 필요시, 상기 자원 연관성 정보 및 상기 자원 사용 효율성 분석 데이터를 활용하여 필요한 자원 별 할당 용량을 결정하는 단계를 더 포함하는 것을 특징으로 하는,
적응형 자원 할당 및 관리 방법.
The method of claim 4,
After analyzing the resource utilization efficiency,
Further comprising the step of determining an allocated capacity for each resource by utilizing the resource associativity information and the resource use efficiency analysis data when re-performing the operation is required,
Adaptive resource allocation and management.
청구항 5에 있어서,
상기 자원 별 할당 용량을 결정하는 단계는,
과잉 할당인 경우, 시스템 전체 수행 시간 대비 자원 사용율에 상응하는 수행 시간이, 미리 설정한 비율을 넘는 경우의 자원 사용율을 선정하여 그에 상응하는 자원 용량을 할당 용량으로 결정하고,
병목 상태인 경우, 평균 병목 자원율에 상응하는 자원 용량을 할당 용량으로 결정하되,
상기 자원 사용율은 최고 사용율을 일정한 비율 간격으로 구분한 것을 특징으로 하는,
적응형 자원 할당 및 관리 방법.
The method of claim 5,
Wherein the step of determining the resource-
The resource utilization rate when the execution time corresponding to the resource utilization rate with respect to the total system execution time exceeds the preset ratio is selected and the resource capacity corresponding to the execution time is determined as the allocation capacity,
In case of a bottleneck condition, the resource capacity corresponding to the average bottleneck resource ratio is determined as the allocated capacity,
Wherein the resource utilization rate is determined by dividing a maximum utilization rate by a constant rate interval.
Adaptive resource allocation and management.
청구항 5에 있어서,
상기 자원 별 할당 용량을 결정하는 단계 이후에,
상기 결정된 할당 용량을 바탕으로, 상기 작업 재수행에 따른 자원 할당 요청을 변경하는 단계를 더 포함하는 것을 특징으로 하는,
적응형 자원 할당 및 관리 방법.
The method of claim 5,
After the step of determining the resource-specific allocated capacity,
Further comprising changing a resource allocation request according to the task re-execution based on the determined allocated capacity.
Adaptive resource allocation and management.
적응형 자원 할당 및 관리 장치에 있어서,
사용자로부터 수행 요청된 작업에 대해 자원 관리자에 자원 할당을 요청하고, 할당된 자원을 이용하여 작업을 수행 및 관리하는 작업 스케줄러;
상기 작업 스케줄러로부터 자원 할당 요청을 받고, 자원을 제어하며, 자원 할당 결과를 작업 스케줄러에 전송하는 자원 관리자;
작업 스케줄러가 수행하는 수행 작업에 대한 자원 별 자원 사용 정보를 모니터링, 저장 및 관리하는 프로파일링 도구;
작업 정보를 바탕으로 최적의 노드와 자원을 할당하고, 자원 할당 인스턴스에 이를 반영하여 저장하는 자원 할당기;
상기 프로파일링 도구가 저장한 프로파일링 데이터를 분석하는 프로파일링 분석기; 및
프로파일링 데이터 분석 결과를 기반으로 대상 작업에 대한 자원 용량을 산출하는 자원 효율성 계산기를 포함하는,
적응형 자원 할당 및 관리 장치.
An adaptive resource allocation and management device comprising:
A task scheduler for requesting a resource manager to allocate a resource for a task requested to be performed by the user and performing and managing the task using the allocated resource;
A resource manager for receiving a resource allocation request from the task scheduler, controlling resources, and transmitting a resource allocation result to a task scheduler;
A profiling tool that monitors, stores, and manages resource-specific resource usage information for the activities performed by the job scheduler;
A resource allocator for allocating optimal nodes and resources based on the task information, and storing the resources and the resources in the resource allocation instance;
A profiling analyzer for analyzing profiling data stored by the profiling tool; And
And a resource efficiency calculator for calculating a resource capacity for a target task based on the profiling data analysis result,
Adaptive resource allocation and management device.
청구항 8에 있어서,
상기 프로파일링 분석기는,
할당된 자원의 병목이나 과잉 여부를 판단하고, 할당된 자원을 사용하여 작업을 수행한 시간이 시스템 전체 작업 수행 시간에서 차지하는 비율을 고려하여 효율성을 분석하는 것을 특징으로 하는,
적응형 자원 할당 및 관리 장치.
The method of claim 8,
Wherein the profiling analyzer comprises:
And the efficiency is analyzed in consideration of the ratio of the time occupied by the allocated resource to the total execution time of the system,
Adaptive resource allocation and management device.
청구항 9에 있어서,
상기 프로파일링 분석기는,
자원 사용 효율성 분석 결과를 바탕으로 자원 사용 효율성 분석 데이터를 작성하는 것을 특징으로 하는,
적응형 자원 할당 및 관리 장치.
The method of claim 9,
Wherein the profiling analyzer comprises:
Wherein the resource utilization efficiency analysis data is generated based on the resource utilization efficiency analysis result.
Adaptive resource allocation and management device.
청구항 10에 있어서,
상기 자원 효율성 계산기는,
작업 스케줄러에 의해 수행 작업 재수행 필요시, 자원 연관성 정보 및 상기 자원 사용 효율성 분석 데이터를 활용하여 필요한 자원 별 할당 용량을 결정하는 것을 특징으로 하는,
적응형 자원 할당 및 관리 장치.
The method of claim 10,
Wherein the resource efficiency calculator comprises:
Wherein when the task scheduler re-executes the task to be performed, the allocated capacity for each resource is determined by utilizing the resource associativity information and the resource use efficiency analysis data.
Adaptive resource allocation and management device.
청구항 11에 있어서,
상기 자원 효율성 계산기는,
과잉 할당인 경우, 시스템 전체 수행 시간 대비 자원 사용율에 상응하는 수행 시간이, 미리 설정한 비율을 넘는 경우의 자원 사용율을 선정하여 그에 상응하는 자원 용량을 할당 용량으로 결정하고,
병목 상태인 경우, 평균 병목 자원율에 상응하는 자원 용량을 할당 용량으로 결정하되,
상기 자원 사용율은 최고 사용율을 일정한 비율 간격으로 구분한 것을 특징으로 하는,
적응형 자원 할당 및 관리 장치.
The method of claim 11,
Wherein the resource efficiency calculator comprises:
The resource utilization rate when the execution time corresponding to the resource utilization rate with respect to the total system execution time exceeds the preset ratio is selected and the resource capacity corresponding to the execution time is determined as the allocation capacity,
In case of a bottleneck condition, the resource capacity corresponding to the average bottleneck resource ratio is determined as the allocated capacity,
Wherein the resource utilization rate is determined by dividing a maximum utilization rate by a constant rate interval.
Adaptive resource allocation and management device.
청구항 11에 있어서,
상기 결정된 할당 용량은 상기 작업 스케줄러의 대상 작업에 대한 재수행시에 사용되는 것을 특징으로 하는,
적응형 자원 할당 및 관리 장치.
The method of claim 11,
Wherein the determined allocated capacity is used at a re-execution of the job of the task scheduler.
Adaptive resource allocation and management device.
KR1020120146892A 2012-12-14 2012-12-14 Method for allocating and managing of adaptive resource KR101695013B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120146892A KR101695013B1 (en) 2012-12-14 2012-12-14 Method for allocating and managing of adaptive resource

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120146892A KR101695013B1 (en) 2012-12-14 2012-12-14 Method for allocating and managing of adaptive resource

Publications (2)

Publication Number Publication Date
KR20140077769A KR20140077769A (en) 2014-06-24
KR101695013B1 true KR101695013B1 (en) 2017-01-10

Family

ID=51129619

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120146892A KR101695013B1 (en) 2012-12-14 2012-12-14 Method for allocating and managing of adaptive resource

Country Status (1)

Country Link
KR (1) KR101695013B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200103181A (en) * 2019-02-13 2020-09-02 한국전자통신연구원 Apparatus and method for cloud compution based simulation
WO2023153752A1 (en) * 2022-02-08 2023-08-17 삼성전자 주식회사 Electronic device for allocating memory resource to task and method for operating electronic device

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101815529B1 (en) 2016-07-29 2018-01-30 (주)신테카바이오 Human Haplotyping System And Method
KR102212108B1 (en) * 2016-09-28 2021-02-04 한국전자기술연구원 Storage Orchestration Learning Optimization Target Volume Selection Method
KR102496115B1 (en) 2019-11-28 2023-02-06 한국전자통신연구원 Apparatus and Method of Altruistic Scheduling based on Reinforcement Learning
KR102300118B1 (en) * 2019-12-30 2021-09-07 숙명여자대학교산학협력단 Job placement method for gpu application based on machine learning and device for method
KR20220101789A (en) * 2021-01-12 2022-07-19 삼성전자주식회사 Electronic device and operation method thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171668B2 (en) * 2001-12-17 2007-01-30 International Business Machines Corporation Automatic data interpretation and implementation using performance capacity management framework over many servers
RU2453901C2 (en) * 2006-06-19 2012-06-20 Дискипер Корпорейшн Hard-wired method to plan tasks (versions), system to plan tasks and machine-readable medium
US8111260B2 (en) * 2006-06-28 2012-02-07 Microsoft Corporation Fast reconfiguration of graphics pipeline state
KR101079828B1 (en) * 2010-03-30 2011-11-03 (주)한양정보통신 Grid computing system and Method of prividing grid computing system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200103181A (en) * 2019-02-13 2020-09-02 한국전자통신연구원 Apparatus and method for cloud compution based simulation
KR102456023B1 (en) 2019-02-13 2022-10-19 한국전자통신연구원 Apparatus and method for cloud compution based simulation
US11650855B2 (en) 2019-02-13 2023-05-16 Electronics And Telecommunications Research Institute Cloud computing-based simulation apparatus and method for operating the same
WO2023153752A1 (en) * 2022-02-08 2023-08-17 삼성전자 주식회사 Electronic device for allocating memory resource to task and method for operating electronic device

Also Published As

Publication number Publication date
KR20140077769A (en) 2014-06-24

Similar Documents

Publication Publication Date Title
KR101695013B1 (en) Method for allocating and managing of adaptive resource
US10733026B2 (en) Automated workflow selection
US9069610B2 (en) Compute cluster with balanced resources
Piao et al. A network-aware virtual machine placement and migration approach in cloud computing
US20190324819A1 (en) Distributed-system task assignment method and apparatus
CN107851039B (en) System and method for resource management
Sampaio et al. PIASA: A power and interference aware resource management strategy for heterogeneous workloads in cloud data centers
KR101471749B1 (en) Virtual machine allcoation of cloud service for fuzzy logic driven virtual machine resource evaluation apparatus and method
WO2011009652A2 (en) A method and system for job scheduling in distributed data processing system with identification of optimal network topology
KR20130088513A (en) Task distribution method on multicore system and apparatus thereof
JP5616523B2 (en) Information processing system
Iorgulescu et al. Don't cry over spilled records: Memory elasticity of data-parallel applications and its application to cluster scheduling
KR101770191B1 (en) Resource allocation and apparatus
JP2015069577A (en) Information processing system, management device control program and control method of information processing system
US8819239B2 (en) Distributed resource management systems and methods for resource management thereof
Sfakianakis et al. Skynet: Performance-driven resource management for dynamic workloads
Roytman et al. Algorithm design for performance aware VM consolidation
Syed HAMM: A hybrid algorithm of Min-Min and Max-Min task scheduling algorithms in cloud computing
Marphatia et al. Optimization of FCFS based resource provisioning algorithm for cloud computing
JP4121525B2 (en) Method and computer system for controlling resource utilization
Zhao et al. Insight and reduction of MapReduce stragglers in heterogeneous environment
Xhafa et al. Immediate mode scheduling of independent jobs in computational grids
JP6191361B2 (en) Information processing system, information processing system control method, and control program
KR20150089665A (en) Appratus for workflow job scheduling
Yang et al. AutoAdmin: automatic and dynamic resource reservation admission control in Hadoop YARN clusters

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

Year of fee payment: 4