KR102014246B1 - Mesos process apparatus for unified management of resource and method for the same - Google Patents
Mesos process apparatus for unified management of resource and method for the same Download PDFInfo
- Publication number
- KR102014246B1 KR102014246B1 KR1020170159396A KR20170159396A KR102014246B1 KR 102014246 B1 KR102014246 B1 KR 102014246B1 KR 1020170159396 A KR1020170159396 A KR 1020170159396A KR 20170159396 A KR20170159396 A KR 20170159396A KR 102014246 B1 KR102014246 B1 KR 102014246B1
- Authority
- KR
- South Korea
- Prior art keywords
- resource
- unit
- mesos
- resources
- allocated
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
리소스 통합관리를 위한 메소스 처리 장치는 적어도 하나의 CPU 엘리먼트, 적어도 하나의 GPU 엘리먼트와 적어도 하나의 메모리 엘리먼트를 리소스로서 포함하는 컴퓨팅 리소스 유닛, 상기 컴퓨팅 리소스 유닛에 관한 리소스 할당 요청에 따라 리소스 스케쥴링을 수행하여 태스크 정보를 생성하는 메소스 프레임워크 유닛(MESOS Framework Unit), 상기 컴퓨팅 리소스 유닛에 있는 리소스의 할당을 요청하고, 상기 할당 요청된 리소스 중 적어도 일부(이하, 할당 리소스)가 성공적으로 할당되어 해당 태스크 정보가 수신되면 상기 할당 리소스 전용의 도커 수행기를 통해 해당 태스크를 수행하는 메소스 슬레이브 유닛(MESOS Slave Unit) 및 상기 메소스 슬레이브 유닛으로부터 상기 리소스의 할당을 요청받으면 주어진 리소스 정책에 따라 상기 리소스의 할당을 결정하여 상기 메소스 프레임 워크 유닛에 통보하여 태스크들 간에 리소스 공유를 제어하는 메소스 마스터 유닛(MESOS Master Unit)을 포함한다.The resource processing apparatus for integrated resource management may include at least one CPU element, a computing resource unit including at least one GPU element and at least one memory element as resources, and resource scheduling according to a resource allocation request for the computing resource unit. A request for allocation of resources in the computing resource unit, and at least some of the requested resources (hereinafter, allocated resources) have been successfully allocated. When a corresponding task information is received, a request is made to allocate a resource from a Mesos slave unit that performs the task through a docker executor dedicated to the allocated resource and the meso slave unit. To determine the allocation of It includes methoxy source master unit (MESOS Master Unit) that controls the resources shared among the tasks to notify the mail source framework unit.
Description
본 발명은 리소스 관리 기술에 관한 것으로, 보다 상세하게는, GPU(graphic processing unit)를 포함하는 다양한 리소스들을 효율적으로 공유할 수 있는 리소스 통합관리를 위한 메소스 처리 장치 및 방법에 관한 것이다.The present invention relates to a resource management technology, and more particularly, to a method and an apparatus and method for resource integrated management capable of efficiently sharing various resources including a graphic processing unit (GPU).
메소스(Mesos) 기술은 데이터 센터 내의 자원에 관한 공유 및 격리를 관리하는 기술로서, 클러스터링 환경에서 동적으로 자원을 할당하고 격리해 주는 매커니즘을 기반으로 동작할 수 있다. 메소스 기술은 응용 프로그램에 맞는 최적의 자원을 할당하는 방식으로 공유된 기존 자원을 할당하여 응용 프로그램 간의 자원 간섭을 막아줌으로써 각 응용프로그램들의 독립적인 실행을 지원할 수 있다. 메소스 기술은 동적 클러스터 환경에서 다양한 작업들의 실행을 최적화할 수 있도록 다양한 방면으로 개발되고 있다.Mesos technology manages the sharing and isolation of resources within a data center and can operate based on a mechanism for dynamically allocating and isolating resources in a clustered environment. Mesos technology can support independent execution of each application by allocating existing shared resources by allocating the optimal resources for the application to prevent resource interference between the applications. Mesos technology is being developed in various ways to optimize the execution of various tasks in a dynamic cluster environment.
한국등록특허 제10-1781063호(2017.09.18)는 동적 자원 관리를 위한 2단계 자원 관리 방법 및 장치에 관한 것으로, 클러스터 시스템에서 실행하고자 하는 작업을 입력 받고, 상기 입력된 작업에 대응되는 제1 유휴작업을 생성하여 상기 생성된 제1 유휴작업에 대응되는 제1 가상 머신을 생성하고, 생성된 제1 가상 머신에서 상기 입력된 작업을 실행하고, 상기 입력된 작업이 실행되는 중, 상기 제1 가상 머신의 가상 노드의 자원 사용을 감시하여 상기 가상 노드가 과부하 또는 저부하 상태인 경우, 상기 가상 노드의 조정을 수행함으로써, 작업이 실행될 때 자원의 사용 상태에 따라서 동적으로 자원을 조정할 수 있도록 하여 시스템의 자원 활용 효율을 높이고, 자원 부족으로 인한 서비스의 성능 저하를 방지할 수 있다.Korean Patent No. 10-1781063 (2017.09.18) relates to a two-stage resource management method and apparatus for dynamic resource management, and receives a task to be executed in a cluster system, and receives a first task corresponding to the input task. Generating an idle task to generate a first virtual machine corresponding to the generated first idle task, executing the input task in the generated first virtual machine, and executing the input task By monitoring the resource usage of the virtual node of the virtual machine to adjust the virtual node when the virtual node is in an overloaded or lightly loaded state, the resource can be dynamically adjusted according to the resource usage state when the task is executed. It can improve the resource utilization efficiency of the system and prevent the degradation of service due to lack of resources.
한국공개특허 제10-2017-0088096호(2017.08.01)는 가상 클러스터 자원 분배 장치 및 방법에 관한 것으로, 복수개의 컴퓨트 노드들의 개수에 상응하는 복수개의 가상 머신(VIRTUAL MACHINE, VM)들을 생성하여 배치하는 것으로 가상 클러스터를 생성하는 자원 할당부 및 상기 가상 클러스터의 구성을 고려하여 상기 가상 클러스터를 더 생성하는 병렬 생성부를 포함한다.Korean Patent Publication No. 10-2017-0088096 (2017.08.01) relates to a virtual cluster resource distribution apparatus and method, and generates a plurality of virtual machines (VIRTUAL MACHINE, VM) corresponding to the number of a plurality of compute nodes It includes a resource allocation unit for generating a virtual cluster by placing and a parallel generation unit for generating the virtual cluster further in consideration of the configuration of the virtual cluster.
본 발명의 일 실시예는 GPU(graphic processing unit)를 포함하는 다양한 리소스들을 효율적으로 공유할 수 있는 리소스 통합관리를 위한 메소스 처리 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide an apparatus and method for processing a resource for integrated resource management that can efficiently share a variety of resources including a graphics processing unit (GPU).
본 발명의 일 실시예는 할당 리소스에 최적화된 리소스 컨테이너를 통해 리소스 공유 및 격리 효율을 향상시킬 수 있는 리소스 통합관리를 위한 메소스 처리 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide an apparatus and method for processing resources for integrated resource management that can improve resource sharing and isolation efficiency through a resource container optimized for allocation resources.
본 발명의 일 실시예는 GPU 리소스를 사용할 수 있고 각 노드의 일부 또는 전체 GPU 리소스를 사용 및 관리할 수 있는 리소스 통합관리를 위한 메소스 처리 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide a method and method for processing resources integrated resource management that can use the GPU resources and use and manage some or all of the GPU resources of each node.
실시예들 중에서, 리소스 통합관리를 위한 메소스 처리 장치는 적어도 하나의 CPU 엘리먼트, 적어도 하나의 GPU 엘리먼트와 적어도 하나의 메모리 엘리먼트를 리소스로서 포함하는 컴퓨팅 리소스 유닛, 상기 컴퓨팅 리소스 유닛에 관한 리소스 할당 요청에 따라 리소스 스케쥴링을 수행하여 태스크 정보를 생성하는 메소스 프레임워크 유닛(MESOS Framework Unit), 상기 컴퓨팅 리소스 유닛에 있는 리소스의 할당을 요청하고, 상기 할당 요청된 리소스 중 적어도 일부(이하, 할당 리소스)가 성공적으로 할당되어 해당 태스크 정보가 수신되면 상기 할당 리소스 전용의 도커 수행기를 통해 해당 태스크를 수행하는 메소스 슬레이브 유닛(MESOS Slave Unit) 및 상기 메소스 슬레이브 유닛으로부터 상기 리소스의 할당을 요청받으면 주어진 리소스 정책에 따라 상기 리소스의 할당을 결정하여 상기 메소스 프레임 워크 유닛에 통보하여 태스크들 간에 리소스 공유를 제어하는 메소스 마스터 유닛(MESOS Master Unit)을 포함하고, 상기 메소스 슬레이브 유닛은 상기 할당 리소스 전용의 도커 수행기가 상기 할당 리소스 중 적어도 하나의 특정 리소스를 사용할 수 있는 리소스 컨테이너를 인스턴스화 하여 상기 리소스 컨테이너의 라이프사이클을 관리할 수 있다.Among the embodiments, an apparatus for processing resources for integrated resource management may include a computing resource unit including at least one CPU element, at least one GPU element, and at least one memory element as a resource, and a resource allocation request for the computing resource unit. A MESOS Framework Unit (MESOS Framework Unit) for performing task scheduling to generate task information, requesting allocation of resources in the computing resource unit, and at least some of the requested allocation resources (hereinafter, allocating resources). Is successfully allocated and the corresponding resource information is received when a request is made to allocate the resource from a Mesos slave unit (MESOS Slave Unit) and the mesos slave unit performing the task through a docker executor dedicated to the allocated resource. Resource as per policy A Mesos Master Unit (MESOS Master Unit) for determining allocation and notifying the MesoS framework unit to control resource sharing among tasks, wherein the Meso Slave unit is assigned by the Docker performer dedicated to the allocated resource. A lifecycle of the resource container can be managed by instantiating a resource container that can use at least one specific resource among the resources.
상기 메소스 슬레이브 유닛은 상기 할당 리소스 전용의 도커 수행기를 수행기 내에 독립적 쓰레드로 생성할 수 있다.The method slave unit may create a docker performer dedicated to the allocated resource as an independent thread in the performer.
삭제delete
상기 메소스 슬레이브 유닛은 상기 리소스 컨테이너의 라이프사이클 과정에서 상기 리소스 컨테이너가 상기 해당 태스크 정보에 의해 명시되고 상기 할당 리소스의 동적 사용과 연관된 가상 리소스가 모두 사용되는지 여부를 확인할 수 있다.The method slave unit may determine whether the resource container is specified by the corresponding task information and all virtual resources associated with the dynamic use of the allocated resource are used in the life cycle of the resource container.
상기 메소스 슬레이브 유닛은 상기 가상 리소스가 모두 사용되는 경우에는 상기 할당 리소스 이외의 추가적인 리소스 증원을 상기 메소스 마스터 유닛에게 요청할 수 있다.The meso slave unit may request the meso master unit to increase additional resources other than the allocated resources when the virtual resources are used up.
상기 메소스 슬레이브 유닛은 상기 가상 리소스의 사용 비율이 특정 비율을 넘어서면 추가적인 리소스 증원을 결정하고, 하기 수학식을 기초로 상기 특정 비율을 동적 조정할 수 있다.The mesos slave unit may determine an additional resource increase when the usage ratio of the virtual resource exceeds a specific ratio and dynamically adjust the specific ratio based on the following equation.
[수학식][Equation]
(여기에서, 상기 r은 상기 특정 비율을 나타내고, 상기 r0는 1의 자리보다 작은 자리 값을 가진 0 보다 크고 1 보다 작은 소수로서, 설계자 또는 관리자에 의해 설정된 기준 비율을 나타내며, 상기 ncall은 상기 라이프사이클 과정에서 발생된 총 추가 리소스 증원 요청 횟수를 나타냄)(Where r represents the specific ratio, r 0 represents a reference ratio set by a designer or a manager as a prime number greater than 0 and less than 1 with a digit value less than 1 digit, and n call is Represents the total number of additional resource increase requests generated during the lifecycle process)
상기 메소스 슬레이브 유닛은 상기 리소스 컨테이너의 라이프사이클 과정에서 상기 리소스 컨테이너가 가상 리소스의 할당 위배를 야기하면 상기 할당 리소스 전용의 도커 수행기가 상기 할당 위배와 연관된 상기 할당 리소스 전용의 시스템 호출을 처리할 수 있다.If the resource container causes an allocation violation of a virtual resource in the lifecycle of the resource container, the method slave unit may process a system call dedicated to the allocation resource associated with the allocation violation, by a docker performer dedicated to the allocation resource. have.
상기 메소스 슬레이브 유닛은 상기 할당 리소스 전용의 시스템 호출 처리 과정에서 상기 리소스 컨테이너가 상기 메소스 마스터 유닛의 관여 없이 해당 리소스 엘리먼트에 관한 직접적 제어를 허용하도록 할 수 있다.The meso slave unit may allow the resource container to directly control the resource element without involvement of the meso master unit in a system call processing process dedicated to the allocated resource.
실시예들 중에서, 리소스 통합관리를 위한 메소스 처리 방법은 컴퓨팅 리소스 유닛이 적어도 하나의 CPU 엘리먼트, 적어도 하나의 GPU 엘리먼트와 적어도 하나의 메모리 엘리먼트를 리소스로서 준비하는 단계, 메소스 프레임워크 유닛이 상기 컴퓨팅 리소스 유닛에 관한 리소스 할당 요청에 따라 리소스 스케쥴링을 수행하여 태스크 정보를 생성하는 단계, 메소스 슬레이브 유닛이 상기 컴퓨팅 리소스 유닛에 있는 리소스의 할당을 요청하고, 상기 할당 요청된 리소스 중 적어도 일부(이하, 할당 리소스)가 성공적으로 할당되어 해당 태스크 정보가 수신되면 상기 할당 리소스 전용의 도커 수행기를 통해 해당 태스크를 수행하는 단계 및 메소스 마스터 유닛이 상기 메소스 슬레이브 유닛으로부터 상기 리소스의 할당을 요청받으면 주어진 리소스 정책에 따라 상기 리소스의 할당을 결정하여 상기 메소스 프레임 워크 유닛에 통보하여 태스크들 간에 리소스 공유를 제어하는 단계를 포함한다.Among the embodiments, the method for processing a method for integrated resource management, the computing resource unit preparing at least one CPU element, at least one GPU element and at least one memory element as a resource, the Meso framework framework unit is Generating task information by performing resource scheduling according to a resource allocation request for a computing resource unit, the method slave unit requesting an allocation of a resource in the computing resource unit, and performing at least some of the requested allocation resources (hereinafter, Performing a task through a docker executor dedicated to the allocated resource when the allocated resource) is successfully allocated and the corresponding task information is received, and when the resource master unit is requested to allocate the resource from the resource slave unit, According to the resource policy And a step of notification by the mail source framework unit determines the allocation of the resource control of the resources shared among the tasks.
실시예들 중에서, 기록매체는 리소스 통합관리를 위한 메소스 처리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록하고 컴퓨터 판독 가능하다. 상기 기록매체에 있어서, 상기 리소스 통합관리를 위한 메소스 처리 방법은 컴퓨팅 리소스 유닛이 적어도 하나의 CPU 엘리먼트, 적어도 하나의 GPU 엘리먼트와 적어도 하나의 메모리 엘리먼트를 리소스로서 준비하는 단계, 메소스 프레임워크 유닛이 상기 컴퓨팅 리소스 유닛에 관한 리소스 할당 요청에 따라 리소스 스케쥴링을 수행하여 태스크 정보를 생성하는 단계, 메소스 슬레이브 유닛이 상기 컴퓨팅 리소스 유닛에 있는 리소스의 할당을 요청하고, 상기 할당 요청된 리소스 중 적어도 일부(이하, 할당 리소스)가 성공적으로 할당되어 해당 태스크 정보가 수신되면 상기 할당 리소스 전용의 도커 수행기를 통해 해당 태스크를 수행하는 단계 및 메소스 마스터 유닛이 상기 메소스 슬레이브 유닛으로부터 상기 리소스의 할당을 요청받으면 주어진 리소스 정책에 따라 상기 리소스의 할당을 결정하여 상기 메소스 프레임 워크 유닛에 통보하여 태스크들 간에 리소스 공유를 제어하는 단계를 포함한다.Among the embodiments, the recording medium is computer readable and records a program for executing a method of processing a method for integrated resource management on a computer. In the recording medium, the method of processing a method for integrated resource management, the computing resource unit comprises the steps of preparing at least one CPU element, at least one GPU element and at least one memory element as a resource, Meso framework unit Generating task information by performing resource scheduling according to the resource allocation request for the computing resource unit, the method slave unit requesting an allocation of a resource in the computing resource unit, and at least a part of the allocation requested resource Performing a task through a docker executor dedicated to the allocated resource and requesting an allocation of the resource from the meso slave unit Received if given Depending on the policy, it determines the allocation of the resources to notify the mail source framework unit and a step of controlling the resources shared among the tasks.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다 거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technique can have the following effects. However, since a specific embodiment does not mean to include all of the following effects or only the following effects, it should not be understood that the scope of the disclosed technology is limited by this.
본 발명의 일 실시예에 따른 리소스 통합관리를 위한 메소스 처리 장치 및 방법은 GPU(graphic processing unit)를 포함하는 다양한 리소스들을 효율적으로 공유할 수 있다.The method and apparatus for processing resources for integrated resource management according to an embodiment of the present invention can efficiently share various resources including a graphic processing unit (GPU).
본 발명의 일 실시예에 따른 리소스 통합관리를 위한 메소스 처리 장치 및 방법은 할당 리소스에 최적화된 리소스 컨테이너를 통해 리소스 공유 및 격리 효율을 향상시킬 수 있다.The method and apparatus for processing resources for integrated resource management according to an embodiment of the present invention can improve resource sharing and isolation efficiency through a resource container optimized for allocation resources.
본 발명의 일 실시예에 따른 리소스 통합관리를 위한 메소스 처리 장치 및 방법은 GPU 리소스를 사용할 수 있고 각 노드의 일부 또는 전체 GPU 리소스를 사용 및 관리할 수 있다.The method and apparatus for processing resources for integrated resource management according to an embodiment of the present invention may use GPU resources and use and manage some or all GPU resources of each node.
도 1은 본 발명의 일 실시예에 따른 리소스 통합관리를 위한 메소스 처리 장치를 설명하는 도면이다.
도 2는 도 1에 있는 리소스 통합관리를 위한 메소스 처리 장치를 보다 상세히 설명하기 위한 일 실시 도면이다.
도 3은 도 2에 있는 할당 리소스 전용의 도커 수행기의 구조 및 논리적 실행 구조를 설명하기 위한 도면이다.
도 4는 도 1에 있는 리소스 통합관리를 위한 메소스 처리 장치가 리소스 통합관리를 수행하는 과정을 설명하는 흐름도이다.FIG. 1 is a diagram illustrating an apparatus for processing a method for integrated resource management according to an exemplary embodiment of the present invention.
FIG. 2 is a diagram illustrating an example of a method of processing a method for resource integrated management in FIG. 1 in more detail.
FIG. 3 is a diagram for describing a structure and a logical execution structure of a docker performer dedicated to allocation resources in FIG. 2.
FIG. 4 is a flowchart illustrating a process of performing resource integrated management by a method source processing apparatus for resource integrated management in FIG. 1.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다 거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Description of the present invention is only an embodiment for structural or functional description, the scope of the present invention should not be construed as limited by the embodiments described in the text. That is, since the embodiments may be variously modified and may have various forms, the scope of the present invention should be understood to include equivalents capable of realizing the technical idea. In addition, the objects or effects presented in the present invention does not mean that a specific embodiment should include all or only such effects, the scope of the present invention should not be understood as being limited thereby.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.On the other hand, the meaning of the terms described in the present application should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as "first" and "second" are intended to distinguish one component from another component, and the scope of rights should not be limited by these terms. For example, the first component may be named a second component, and similarly, the second component may also be named a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에" 와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" to another component, it should be understood that there may be other components in between, although it may be directly connected to the other component. On the other hand, when a component is referred to as being "directly connected" to another component, it should be understood that there is no other component in between. On the other hand, other expressions describing the relationship between the components, such as "between" and "immediately between" or "neighboring to" and "directly neighboring", should be interpreted as well.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions should be understood to include plural expressions unless the context clearly indicates otherwise, and terms such as "comprise" or "have" refer to a feature, number, step, operation, component, part or implementation thereof. It is to be understood that the combination is intended to be present and does not exclude in advance the possibility of the presence or addition of one or more other features or numbers, steps, operations, components, parts or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, an identification code (e.g., a, b, c, etc.) is used for convenience of description, and the identification code does not describe the order of the steps, and each step clearly indicates a specific order in context. Unless stated otherwise, they may occur out of the order noted. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer readable code on a computer readable recording medium, and the computer readable recording medium includes all kinds of recording devices in which data can be read by a computer system. . Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. Generally, the terms defined in the dictionary used are to be interpreted to coincide with the meanings in the context of the related art, and should not be interpreted as having ideal or excessively formal meanings unless clearly defined in the present application.
도 1은 본 발명의 일 실시예에 따른 리소스 통합관리를 위한 메소스 처리 장치를 설명하는 도면이다.FIG. 1 is a diagram illustrating an apparatus for processing a method for integrated resource management according to an exemplary embodiment of the present invention.
도 1을 참조하면, 리소스 통합관리를 위한 메소스 처리 장치(100)는 컴퓨팅 리소스 유닛(110), 메소스 프레임워크 유닛(MESOS Framework Unit)(120), 메소스 슬레이브 유닛(MESOS Slave Unit)(130) 및 메소스 마스터 유닛(MESOS Master Unit)(140)를 포함한다.Referring to FIG. 1, the
컴퓨팅 리소스 유닛(110)은 적어도 하나의 CPU 엘리먼트(112), 적어도 하나의 GPU 엘리먼트(114)와 적어도 하나의 메모리 엘리먼트(116)를 리소스로서 포함한다.
적어도 하나의 CPU(central processing unit) 엘리먼트(112) 각각은 리소스로서 특정 메소스 슬레이브 유닛(130)에 할당되면 해당 메소스 슬레이브 유닛(130)과 연관된 태스크를 독립적으로 처리 및 수행할 수 있는 프로세서로 구현될 수 있다.Each of the at least one central processing unit (CPU)
적어도 하나의 GPU(graphic processing unit) 엘리먼트(114) 각각은 각각은 리소스로서, 일 실시예에서, 특정 메소스 슬레이브 유닛(130)에 할당되면 해당 메소스 슬레이브 유닛(130)과 연관된 태스크의 수행 과정에서 해당 태스크와 연관된 그래픽 연산 전용의 프로세서로 구현될 수 있다.Each of the at least one graphic processing unit (GPU)
적어도 하나의 메모리 엘리먼트(116) 각각은 리소스로서 특정 메소스 슬레이브 유닛(130)에 할당되면 해당 메소스 슬레이브 유닛(130)과 연관된 태스크의 수행 과정에서 생성되거나 필요한 데이터 전반을 저장하는데 사용될 수 있고, 보조기억장치로서 기능할 수 있는 비휘발성 메모리 및 주기억장치로서 기능할 수 있는 주기억장치 중 적어도 하나를 통해 구현될 수 있다.Each of the at least one
메소스 프레임워크 유닛(120)은 컴퓨팅 리소스 유닛(110)에 관한 리소스 할당 요청에 따라 리소스 스케쥴링을 수행하여 태스크 정보를 생성한다. 일 실시예에서, 메소스 프레임워크 유닛(120)은 메소스 마스터 유닛(140)으로부터 특정 메소스 슬레이브 유닛(130)과 연관되고 해당 메소스 프레임워크 유닛(120)에서 실행 가능한 컴퓨팅 리소스 유닛(110) 중 적어도 일부의 리소스 요청량을 포함하는 리소스 할당 요청을 수신할 수 있고, 예를 들어, 메소스 슬레이브 유닛 식별자(identifier) 및 리소스별 요청 할당량을 포함하는 리소스 할당 요청을 수신할 수 있다. 일 실시예에서, 리소스 할당 요청은 특정 시간 구간으로 지정된 리소스 할당 예약시간 및 최소 리소스 할당 요청량을 더 포함할 수 있다.The meso
메소스 프레임워크 유닛(120)은 수신된 리소스 할당 요청을 기초로 실행하고자 하는 적어도 하나의 태스크 정보 및 해당 태스크별 필요 리소스 정보를 생성하는 리소스 스케쥴링을 수행할 수 있다. 메소스 프레임워크 유닛(120)은 수신된 리소스 할당 요청 중 적어도 일부 조건을 충족시키는 리소스 스케줄링을 통해 생성된 태스크 정보 및 해당 필요 리소스 정보를 메소스 마스터 유닛(140)에 전송할 수 있다.The
일 실시예에서, 메소스 프레임워크 유닛(120)은 리소스 할당 요청이 수신되면 전체 가용 리소스 정보(예를 들어, CPU 20개, GPU 20개 및 메모리 200GB)와 현재 리소스 이용 상황(예를 들어, 현재 CPU 5개, GPU 3개 및 메모리 50GB 공유 중)을 분석하여 가용 리소스 정보(예를 들어, 현재 CPU 15개, GPU 17개 및 메모리 150GB 신규 할당 가능)를 검출할 수 있고, 검출된 가용 리소스 정보를 기초로 해당 리소스 할당 요청에 대응되는 리소스 할당을 위한 리소스 스케줄링을 수행할 수 있다.In one embodiment, the
메소스 슬레이브 유닛(130)은 컴퓨팅 리소스 유닛(110)에 있는 리소스의 할당을 요청할 수 있다. 보다 구체적으로, 메소스 슬레이브 유닛(130)은 메소스 마스터 유닛(140)에 자신이 사용하고자 하는 리소스 정보(예를 들어, CPU 5개, 메모리 20GB)를 전송하여 해당 리소스 정보에 대응되는 리소스의 할당을 요청할 수 있다. 일 실시예에서, 메소스 슬레이브 유닛(130)은 복수 개로 구성된 메소스 마스터 유닛(140) 중 대기 상태에 있는 하나에게 리소스 할당을 요청할 수 있다.The
메소스 슬레이브 유닛(130)은 할당 요청된 리소스 중 적어도 일부(이하, 할당 리소스)가 성공적으로 할당되어 해당 태스크 정보가 수신되면 할당 리소스 전용의 도커 수행기(docker executor)(212)를 통해 해당 태스크를 수행한다. 이러한 내용은 도 2를 참조하여 보다 상세히 서술하도록 한다.When at least some of the requested resources (hereinafter, allocated resources) are successfully allocated and the corresponding task information is received, the
도 2는 도 1에 있는 리소스 통합관리를 위한 메소스 처리 장치를 보다 상세히 설명하기 위한 일 실시 도면이다.FIG. 2 is a diagram illustrating an example of a method of processing a method for resource integrated management in FIG. 1 in more detail.
도 2에서, 메소스 슬레이브 유닛(130)은 메소스 마스터 유닛(140)으로부터 메소스 프레임워크 유닛(120)에 의해 생성된 리소스 스케줄링 정보를 수신할 수 있고, 해당 리소스 스케줄링 정보에 있는 적어도 하나의 태스크를 메소스 에이전트를 통해 실행시킬 수 있다.In FIG. 2, the
도 2를 참조하면, 메소스 슬레이브 유닛(130)은 메소스 에이전트 각각을 실행시키기 위한 수행기(executor)(210)를 포함하고, 수행기(210)는 할당 리소스 전용의 도커 수행기(212), 메소스 수행기(MESOS executor)(214) 및 도커 수행기(216)를 포함할 수 있다.Referring to FIG. 2, the
일 실시예에서, 할당 리소스 전용의 도커 수행기(212)는 Nvidia-docker를 이용하여 수행될 수 있고, 예를 들어, 메소스 수행 모듈을 기본적으로 사용하며 메소스 컨테이너 환경 하에서 리소스 컨테이너 환경을 구축할 수 있다. 일 실시예에서, 메소스 수행기(214)는 cgroup을 이용하여 수행될 수 있고, 도커 수행기(216)는 docker를 이용하여 수행될 수 있다.In one embodiment, the
할당 리소스 전용의 도커 수행기(212)는 메소스 마스터 유닛(140)의 제어 하에 메소스 슬레이브 유닛(130) 상에서 런칭되어 수신된 리소스 스케줄링 정보에서 우선적으로 스케줄된 태스크 정보 순으로 태스크들을 순차 수행할 수 있다.The
메소스 슬레이브 유닛(130)은 할당 리소스 전용의 도커 수행기(212)를 수행기(210) 내에 독립적 쓰레드로 생성할 수 있고, 예를 들어, 수행기(210) 내에 메소스 수행기(214) 및 도커 수행기(216)에 독립적인 쓰레드로서 생성될 수 있다.The
메소스 슬레이브 유닛(130)은 할당 리소스 전용의 도커 수행기(212)가 리소스 컨테이너(resource container)(210)를 인스턴스화 하여 리소스 컨테이너(310)의 라이프사이클을 관리할 수 있다. 이러한 내용은 도 3를 참조하여 보다 상세히 설명하도록 한다.In the
도 3은 도 2에 있는 할당 리소스 전용의 도커 수행기의 구조 및 논리적 실행 구조를 설명하기 위한 도면이다.FIG. 3 is a diagram for describing a structure and a logical execution structure of a docker performer dedicated to allocation resources in FIG. 2.
도 3을 참조하면, 할당 리소스 전용의 도커 수행기(212)는 메소스 수행 모듈, CLI(Command Line Interface) 생성 모듈 및 할당 리소스 전용의 도커 수행 모듈을 포함할 수 있다.Referring to FIG. 3, the
할당 리소스 전용의 도커 수행기(212)는 할당 리소스 중 적어도 하나의 특정 리소스(예를 들어, GPU)를 사용할 수 있는 리소스 컨테이너(310)를 생성할 수 있고, 생성된 리소스 컨테이너(310)를 인스턴스화하여 리소스 컨테이너(310)의 라이프사이클을 관리할 수 있다. 일 실시예에서, 할당 리소스 전용의 도커 수행기(212)는 메소스 에이전트의 수행 과정에서 특정 에이전트 노드에 해당 리소스 스케줄링에 따른 적어도 하나의 리소스 컨테이너(310)를 인스턴스화하고 해당 리소스 컨테이너(310)를 통해 어플리케이션을 실행시킬 수 있으며, 이러한 과정 전반에서 런(run), 킬(kill) 및 모니터링(monitoring)을 포함하는 라이프사이클 과정을 통해 해당 리소스 컨테이너(310)를 관리할 수 있다. 예를 들어, 할당 리소스 전용의 도커 수행기(212)는 요청된 리소스 할당 요청에 따라 제1 및 제2 태스크와 해당 태스크에 따른 리소스가 할당되었다면 제1 리소스 컨테이너(310a)를 통해 해당 제1 어플리케이션을 런한 후에 제1 태스크의 수행을 모니터링하고 해당 수행이 종료되면 제1 리소스 컨테이너(310a)를 킬한 후에 제2 리소스 컨테이너(310b)를 통해 해당 제2 어플리케이션을 런하는 등의 라이프사이클 과정을 제어할 수 있다.The
메소스 슬레이브 유닛(130)은 리소스 컨테이너(310)의 라이프사이클 과정에서 리소스 컨테이너(310)가 해당 태스크 정보에 의해 명시되고 할당 리소스의 동적 사용과 연관된 가상 리소스가 모두 사용되는지 여부를 확인할 수 있다. 예를 들어, 메소스 슬레이브 유닛(130)은 해당 태스크를 위해 10개의 CPU 엘리먼트(112), 10개의 GPU 엘리먼트(114) 및 100GB의 메모리 엘리먼트(116)의 리소스 할당을 요청하였으나 실제로 상기 순서로 7개, 7개 및 70GB의 리소스를 할당받았다면, 실제 할당된 리소스들(7개, 7개 및 70GB)과 가상 리소스들(10개, 10개 및 100GB) 간의 매핑을 통해 실제 요청량보다 부족한 3개, 3개 및 30GB의 리소스가 할당된 리소스들 중 적어도 일부에 중첩 매핑될 수 있고, 메소스 마스터 유닛(140)을 통해 해당 가상 리소스가 모두 사용되는지 여부를 확인할 수 있다. 해당 실시예에서, 메소스 프레임워크 유닛(120)은 해당 가상 리소스와 실제 할당 리소스 간의 매핑을 수행할 수 있고, 메소스 마스터 유닛(140)은 이러한 매핑 결과를 수신하여 관리할 수 있다.The
메소스 슬레이브 유닛(130)은 해당 가상 리소스가 모두 사용되는 경우에는 해당 할당 리소스 이외의 추가적인 리소스 증원을 메소스 마스터 유닛(140)에게 요청할 수 있다. 예를 들어, 메소스 슬레이브 유닛(130)은 실제 할당 리소스들과 매핑된 모든 가상 리소스들이 사용되는 경우에는 추가적인 리소스가 필요한 것으로 판단할 수 있다.The
일 실시예에서, 메소스 슬레이브 유닛(130)은 해당 가상 리소스의 사용 비율이 특정 비율을 넘어서면 추가적인 리소스 증원을 메소스 마스터 유닛(140)에게 요청할 수 있고, 하기의 수학식 1을 기초로 특정 비율을 동적으로 조정할 수 있다.In one embodiment, the
[수학식 1][Equation 1]
(여기에서, r은 특정 비율을 나타내고, r0는 1의 자리보다 작은 자리 값을 가진 0 보다 크고 1 보다 작은 소수로서, 설계자 또는 관리자에 의해 설정된 기준 비율(예를 들어, 0.9)을 나타내며, ncall은 해당 라이프사이클 과정에서 발생된 총 추가 리소스 증원 요청 횟수를 나타냄)(Where r represents a specific ratio, r 0 is a prime number greater than 0 and less than 1 with a place value less than 1 place, representing a reference rate set by the designer or administrator (eg, 0.9), n call represents the total number of additional resource augmentation requests that occurred during the lifecycle)
메소스 슬레이브 유닛(130)은 리소스 컨테이너(310)의 라이프사이클 과정에서 해당 리소스 컨테이너(310)가 가상 리소스의 할당 위배를 야기하면 할당 리소스 전용의 도커 수행기(212)가 해당 할당 위배와 연관된 할당 리소스 전용의 시스템 호출을 처리할 수 있다. 예를 들어, 메소스 슬레이브 유닛(130)은 7개의 CPU 엘리먼트(112), 7개의 GPU 엘리먼트(114) 및 70GB의 메모리 엘리먼트(116)를 리소스로서 할당받은 상태에서 해당 리소스와 기준 값 이상 연관되지 않은 다른 리소스에 대한 접근이 시도되면 가상 리소스의 할당 위배가 야기된 것으로 판단할 수 있고, 새로운 프로세스 또는 태스크의 수행을 위한 할당 리소스 전용의 시스템(예를 들어, 새로운 그래픽 연산) 호출 요청으로서 인지할 수 있다.If the
메소스 슬레이브 유닛(130)은 할당 리소스 전용의 시스템 호출 처리 과정에서 리소스 컨테이너(310)가 메소스 마스터 유닛(140)의 관여 없이 해당 리소스 엘리먼트에 관한 직접적 제어를 허용하도록 할 수 있다.The
예를 들어, 메소스 슬레이브 유닛(130)은 할당 리소스 전용의 시스템의 호출에 따라 획득된 임시적 직접제어권한을 기초로 해당 리소스 컨테이너(310)가 해당 할당 위배와 연관된 리소스 엘리먼트(예를 들어, CPU 엘리먼트(110))에 대해 한정적인 직접적 제어를 수행하여 미리 설정된 특정 기준 범위 내에서 추가적인 리소스를 증원하도록 할 수 있다.For example, the
다른 예를 들어, 메소스 슬레이브 유닛(130)은 할당 리소스 전용의 시스템의 호출 과정에서 메소스 마스터 유닛(140)에 특정 리소스 엘리먼트에 관한 가상 리소스의 할당 위배 여부를 전송하여 메소스 마스터 유닛(140)이 해당 리소스 엘리먼트에 관해 해당 리소스 컨테이너(310)에 의한 직접적 제어를 허용하도록 요청할 수 있고, 리소스 컨테이너(310)는 해당 허용에 따라 해당 할당 위배와 연관된 리소스 엘리먼트에 대해 비한정적인 직접 제어를 수행하여 미리 설정된 특정 기준 범위 내에서 추가적인 리소스를 증원할 수 있다.For another example, the
메소스 마스터 유닛(140)은 메소스 슬레이브 유닛(130)으로부터 리소스의 할당을 요청받으면 주어진 리소스 정책에 따라 리소스의 할당을 결정하여 메소스 프레임 워크 유닛(120)에 통보하여 태스크들 간에 리소스 공유를 제어한다. 일 실시예에서, 메소스 마스터 유닛(140)은 리소스 할당 요청이 수신되면 기 저장된 리소스 정책을 기초로 메소스 프레임 워크 유닛(120)에 요청하고자 하는 리소스별 요청 할당량을 결정하여 전송할 수 있고, 해당 메소스 프레임 워크 유닛(120)로부터 수신된 리소스 스케줄링 및 태스크 정보에 따라 해당 메소스 슬레이브 유닛(130)의 노드에 해당 할당된 리소스 기반의 태스크를 실행시켜 메소스 슬레이브 유닛(130)에 의해 수행되는 애플리케이션 간에 리소스 공유가 가능하도록 제어할 수 있다.When the mesos
일 실시예에서, 리소스 정책은 메소스 프레임 워크 유닛별 가용 자원량을 기준으로 자원의 할당량을 균등 할당하기 위한 제1 리소스 정책, 사전에 기 설정된 기준 할당량으로 정밀 할당하기 위한 제2 리소스 정책, 특정 주기로 갱신되는 총 자원 할당량을 기준으로 최소 및 최대 할당량을 결정하여 이들 간의 할당량으로 동적 할당하기 위한 제3 리소스 정책 및 특정 주기로 갱신되는 총 자원 요청량을 기준으로 최소 및 최대 할당량을 결정하여 이들 간의 할당량으로 동적 할당하기 위한 제4 리소스 정책을 포함할 수 있다. 일 실시예에서, 리소스 정책은 외부로부터 신규 리소스 정책을 수신하는 메소스 마스터 유닛(140)의 정책 갱신 모듈을 통해 새로운 리소스 정책이 수신되면 갱신될 수 있다.In one embodiment, the resource policy is a first resource policy for equally allocating a quota of resources based on the amount of available resources for each MesoS framework unit, a second resource policy for precisely allocating a predetermined reference quota, and at a specific interval. The minimum and maximum quotas are determined based on the third resource policy for determining the minimum and maximum quotas based on the total resource quotas updated and dynamically allocated to the quotas between them, and the minimum and maximum quotas based on the total resource requests updated at specific intervals. And a fourth resource policy for dynamic allocation. In one embodiment, the resource policy may be updated when a new resource policy is received through the policy update module of the
메소스 마스터 유닛(140)은 특정 메소스 프레임워크 유닛(120)을 통해 메소스 슬레이브 유닛(130)으로부터 요청된 리소스의 할당에 관한 요청 중 일부만 충족되었다면 해당 요청이 모두 충족될 때까지 적어도 하나의 다른 메소스 프레임워크 유닛(120)을 통해 나머지를 충족하기 위한 시도를 반복할 수 있다. 일 실시예에서, 메소스 마스터 유닛(140)은 이러한 과정에서 메소스 프레임워크 유닛(120) 중 가장 오래 대기되었거나 해당 메소스 프레임워크 유닛(120)과 제일 높게 연관된 상위 N 개(N은 자연수)의 대기 유닛을 검출하여 나머지 리소스 할당을 위한 시도를 수행할 수 있다.If only some of the requests for allocation of resources requested from the
컴퓨팅 리소스 유닛(110), 메소스 프레임워크 유닛(120), 메소스 슬레이브 유닛(130) 및 메소스 마스터 유닛(140)은 각각 물리적인 컴퓨팅 장치로 구현될 수 있고, 이들 중 적어도 일부는 서버로서 기능할 수 있다.The
도 4는 도 1에 있는 리소스 통합관리를 위한 메소스 처리 장치가 리소스 통합관리를 수행하는 과정을 설명하는 흐름도이다.FIG. 4 is a flowchart illustrating a process of performing resource integrated management by a method source processing apparatus for resource integrated management in FIG. 1.
도 4에서, 리소스 통합관리를 위한 메소스 처리 장치(100)는 적어도 하나의 CPU 엘리먼트(112), 적어도 하나의 GPU 엘리먼트(114)와 적어도 하나의 메모리 엘리먼트(116)를 리소스로서 준비한다(단계 S410). 메소스 프레임워크 유닛(120)은 컴퓨팅 리소스 유닛(110)에 관한 리소스 할당 요청에 따라 리소스 스케쥴링을 수행하여 태스크 정보를 생성한다(단계 S420). 메소스 슬레이브 유닛(130)은 컴퓨팅 리소스 유닛(110)에 있는 리소스의 할당을 요청할 수 있다(단계 S430). 메소스 슬레이브 유닛(130)은 할당 리소스가 성공적으로 할당되어 해당 태스크 정보가 수신되면 할당 리소스 전용의 도커 수행기(212)를 통해 해당 태스크를 수행한다(단계 S440). 메소스 마스터 유닛(140)은 메소스 슬레이브 유닛(130)으로부터 리소스의 할당을 요청받으면 주어진 리소스 정책에 따라 리소스의 할당을 결정하여 메소스 프레임 워크 유닛(120)에 통보하여 태스크들 간에 리소스 공유를 제어한다(단계 S450).In FIG. 4, the method
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 통상의 기술자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present application, those skilled in the art various modifications of the present application without departing from the spirit and scope of the invention described in the claims below And can be changed.
100: 리소스 통합관리를 위한 메소스 처리 장치
110: 컴퓨팅 리소스 유닛
120: 메소스 프레임워크 유닛
130: 메소스 슬레이브 유닛
140: 메소스 마스터 유닛100: Mesos processing unit for integrated resource management
110: computing resource unit
120: Mesos Framework Unit
130: Mesos slave unit
140: Mesos Master Unit
Claims (10)
상기 컴퓨팅 리소스 유닛에 관한 리소스 할당 요청에 따라 리소스 스케쥴링을 수행하여 태스크 정보를 생성하는 메소스 프레임워크 유닛(MESOS Framework Unit);
상기 컴퓨팅 리소스 유닛에 있는 리소스의 할당을 요청하고, 상기 할당 요청된 리소스 중 적어도 일부(이하, 할당 리소스)가 성공적으로 할당되어 해당 태스크 정보가 수신되면 상기 할당 리소스 전용의 도커 수행기를 통해 해당 태스크를 수행하는 메소스 슬레이브 유닛(MESOS Slave Unit); 및
상기 메소스 슬레이브 유닛으로부터 상기 리소스의 할당을 요청받으면 주어진 리소스 정책에 따라 상기 리소스의 할당을 결정하여 상기 메소스 프레임 워크 유닛에 통보하여 태스크들 간에 리소스 공유를 제어하는 메소스 마스터 유닛(MESOS Master Unit)을 포함하고,
상기 메소스 슬레이브 유닛은 상기 할당 리소스 전용의 도커 수행기가 상기 할당 리소스 중 적어도 하나의 특정 리소스를 사용할 수 있는 리소스 컨테이너를 인스턴스화 하여 상기 리소스 컨테이너의 라이프사이클을 관리하는 것을 특징으로 하는 리소스 통합관리를 위한 메소스 처리 장치.
A computing resource unit including at least one CPU element, at least one GPU element and at least one memory element as a resource;
A MESOS Framework Unit for generating task information by performing resource scheduling according to a resource allocation request for the computing resource unit;
If a request for allocation of resources in the computing resource unit is requested and at least some of the requested resources (hereinafter, allocated resources) are successfully allocated and the corresponding task information is received, the task is performed through a docker performer dedicated to the allocated resources. A mesos slave unit (MESOS Slave Unit) to perform; And
MESOS Master Unit (MESOS Master Unit) to control the sharing of resources among tasks by determining the allocation of the resource according to a given resource policy and notifying the MesoS framework unit when the allocation of the resource is requested from the MesoSlave unit. ),
The method slave unit may manage a lifecycle of the resource container by instantiating a resource container that the docker performer dedicated to the allocated resource can use at least one specific resource among the allocated resources. Mesos processing unit.
상기 할당 리소스 전용의 도커 수행기를 수행기 내에 독립적 쓰레드로 생성하는 것을 특징으로 하는 리소스 통합관리를 위한 메소스 처리 장치.
The method of claim 1, wherein the Mesos slave unit
And a docker executor dedicated to the allocated resources as an independent thread in the executor.
상기 리소스 컨테이너의 라이프사이클 관리 과정에서 상기 리소스 컨테이너가 상기 해당 태스크 정보에 의해 명시되고 상기 할당 리소스의 동적 사용과 연관된 가상 리소스가 모두 사용되는지 여부를 확인하는 것을 특징으로 하는 리소스 통합관리를 위한 메소스 처리 장치.
The method of claim 1, wherein the Mesos slave unit
During the lifecycle management of the resource container, the resource container is identified by the corresponding task information and checks whether all of the virtual resources associated with the dynamic use of the allocated resource are used. Processing unit.
상기 가상 리소스가 모두 사용되는 경우에는 상기 할당 리소스 이외의 추가적인 리소스 증원을 상기 메소스 마스터 유닛에게 요청하는 것을 특징으로 하는 리소스 통합관리를 위한 메소스 처리 장치.
The method of claim 4, wherein the Mesos slave unit
And when the virtual resources are used up, requesting additional resource reinforcement other than the allocated resources to the mesos master unit.
상기 가상 리소스의 사용 비율이 특정 비율을 넘어서면 추가적인 리소스 증원을 결정하고, 하기 수학식을 기초로 상기 특정 비율을 동적 조정하는 것을 특징으로 하는 리소스 통합관리를 위한 메소스 처리 장치.
[수학식]
(여기에서, 상기 r은 상기 특정 비율을 나타내고, 상기 r0는 1의 자리보다 작은 자리 값을 가진 0 보다 크고 1 보다 작은 소수로서, 설계자 또는 관리자에 의해 설정된 기준 비율을 나타내며, 상기 ncall은 상기 라이프사이클 관리 과정에서 발생된 총 추가 리소스 증원 요청 횟수를 나타냄)
The method of claim 4, wherein the Mesos slave unit
And determining an additional resource increase if the usage ratio of the virtual resource exceeds a specific ratio, and dynamically adjusting the specific ratio based on the following equation.
[Equation]
(Where r represents the specific ratio, r 0 represents a reference ratio set by a designer or a manager as a prime number greater than 0 and less than 1 with a digit value less than 1 digit, and n call is Represents the total number of additional resource increase requests generated during the lifecycle management process)
상기 리소스 컨테이너의 라이프사이클 관리 과정에서 상기 리소스 컨테이너가 가상 리소스의 할당 위배를 야기하면 상기 할당 리소스 전용의 도커 수행기가 상기 할당 위배와 연관된 상기 할당 리소스 전용의 시스템 호출을 처리하는 것을 특징으로 하는 리소스 통합관리를 위한 메소스 처리 장치.
The method of claim 1, wherein the Mesos slave unit
When the resource container causes an allocation violation of a virtual resource in the lifecycle management of the resource container, a docker performer dedicated to the allocated resource handles a system call dedicated to the allocated resource associated with the allocation violation. Mesos processing unit for management.
상기 할당 리소스 전용의 시스템 호출 처리 과정에서 상기 리소스 컨테이너가 상기 메소스 마스터 유닛의 관여 없이 해당 리소스 엘리먼트에 관한 직접적 제어를 허용하도록 하는 것을 특징으로 하는 리소스 통합관리를 위한 메소스 처리 장치.
The method of claim 7, wherein the Mesos slave unit
And the resource container allows direct control of the corresponding resource element without involvement of the method master unit in the system call processing process dedicated to the allocated resource.
메소스 프레임워크 유닛이 상기 컴퓨팅 리소스 유닛에 관한 리소스 할당 요청에 따라 리소스 스케쥴링을 수행하여 태스크 정보를 생성하는 단계;
메소스 슬레이브 유닛이 상기 컴퓨팅 리소스 유닛에 있는 리소스의 할당을 요청하고, 상기 할당 요청된 리소스 중 적어도 일부(이하, 할당 리소스)가 성공적으로 할당되어 해당 태스크 정보가 수신되면 상기 할당 리소스 전용의 도커 수행기를 통해 해당 태스크를 수행하는 단계; 및
메소스 마스터 유닛이 상기 메소스 슬레이브 유닛으로부터 상기 리소스의 할당을 요청받으면 주어진 리소스 정책에 따라 상기 리소스의 할당을 결정하여 상기 메소스 프레임 워크 유닛에 통보하여 태스크들 간에 리소스 공유를 제어하는 단계를 포함하고,
상기 해당 태스크를 수행하는 단계는
상기 할당 리소스 전용의 도커 수행기가 상기 할당 리소스 중 적어도 하나의 특정 리소스를 사용할 수 있는 리소스 컨테이너를 인스턴스화 하여 상기 리소스 컨테이너의 라이프사이클을 관리하는 것을 특징으로 하는 리소스 통합관리를 위한 메소스 처리 방법.
The computing resource unit preparing at least one CPU element, at least one GPU element and at least one memory element as resources;
Generating, by the method framework unit, resource scheduling according to a resource allocation request for the computing resource unit to generate task information;
A Messock slave unit requests allocation of resources in the computing resource unit, and at least some of the requested resources (hereinafter, allocated resources) have been successfully allocated and the corresponding task information is received, the docker performer dedicated to the allocated resources. Performing the task through; And
If a MesoS master unit is requested to allocate the resource from the MesoSlave unit, determining the allocation of the resource according to a given resource policy and notifying the MesoS framework unit to control resource sharing among tasks. and,
The step of performing the task
And a docker executor dedicated to the allocated resources instantiates a resource container capable of using at least one specific resource among the allocated resources to manage a life cycle of the resource container.
상기 리소스 통합관리를 위한 메소스 처리 방법은
컴퓨팅 리소스 유닛이 적어도 하나의 CPU 엘리먼트, 적어도 하나의 GPU 엘리먼트와 적어도 하나의 메모리 엘리먼트를 리소스로서 준비하는 단계;
메소스 프레임워크 유닛이 상기 컴퓨팅 리소스 유닛에 관한 리소스 할당 요청에 따라 리소스 스케쥴링을 수행하여 태스크 정보를 생성하는 단계;
메소스 슬레이브 유닛이 상기 컴퓨팅 리소스 유닛에 있는 리소스의 할당을 요청하고, 상기 할당 요청된 리소스 중 적어도 일부(이하, 할당 리소스)가 성공적으로 할당되어 해당 태스크 정보가 수신되면 상기 할당 리소스 전용의 도커 수행기를 통해 해당 태스크를 수행하는 단계; 및
메소스 마스터 유닛이 상기 메소스 슬레이브 유닛으로부터 상기 리소스의 할당을 요청받으면 주어진 리소스 정책에 따라 상기 리소스의 할당을 결정하여 상기 메소스 프레임 워크 유닛에 통보하여 태스크들 간에 리소스 공유를 제어하는 단계를 포함하고,
상기 해당 태스크를 수행하는 단계는
상기 할당 리소스 전용의 도커 수행기가 상기 할당 리소스 중 적어도 하나의 특정 리소스를 사용할 수 있는 리소스 컨테이너를 인스턴스화 하여 상기 리소스 컨테이너의 라이프사이클을 관리하는 것을 특징으로 하는 컴퓨터 판독 가능한 기록매체.
A computer-readable recording medium having recorded thereon a program for executing a method of processing a method for integrated resource management on a computer,
Mesos processing method for the integrated resource management
The computing resource unit preparing at least one CPU element, at least one GPU element and at least one memory element as resources;
Generating, by the method framework unit, resource scheduling according to a resource allocation request for the computing resource unit to generate task information;
If a method slave unit requests an allocation of resources in the computing resource unit, and at least some of the requested allocation resources (hereinafter, allocated resources) are successfully allocated and corresponding task information is received, a docker performer dedicated to the allocated resources Performing the task through; And
If the method of the Meso master unit is requested to allocate the resource from the Meso slave unit, determining the allocation of the resource according to a given resource policy and notifying the Meso framework framework unit to control resource sharing between tasks and,
The step of performing the task
And a docker performer dedicated to the allocated resources manages the life cycle of the resource container by instantiating a resource container capable of using at least one specific resource among the allocated resources.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020170159396A KR102014246B1 (en) | 2017-11-27 | 2017-11-27 | Mesos process apparatus for unified management of resource and method for the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020170159396A KR102014246B1 (en) | 2017-11-27 | 2017-11-27 | Mesos process apparatus for unified management of resource and method for the same |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20190061241A KR20190061241A (en) | 2019-06-05 |
| KR102014246B1 true KR102014246B1 (en) | 2019-10-21 |
Family
ID=66845312
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020170159396A Active KR102014246B1 (en) | 2017-11-27 | 2017-11-27 | Mesos process apparatus for unified management of resource and method for the same |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102014246B1 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110275777B (en) * | 2019-06-10 | 2021-10-29 | 广州市九重天信息科技有限公司 | Resource scheduling system |
| US11182716B2 (en) * | 2020-01-30 | 2021-11-23 | Coupang Corp. | Cost efficiency tracking for configuration management database |
| CN120872510B (en) * | 2025-09-26 | 2026-01-02 | 西南石油大学 | User and data full life cycle server management system of laboratory collaboration environment |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101585160B1 (en) * | 2015-03-12 | 2016-01-13 | 주식회사 모비젠 | Distributed Computing System providing stand-alone environment and controll method therefor |
| JP2016048536A (en) | 2014-08-27 | 2016-04-07 | 財團法人資訊工業策進會 | Master device, slave device and computing method thereof for cluster computing system |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100516929B1 (en) * | 2002-10-23 | 2005-09-23 | 한국과학기술정보연구원 | Apparatus and method for analyzing task management, and storage media having program thereof |
| KR101781063B1 (en) | 2012-04-12 | 2017-09-22 | 한국전자통신연구원 | Two-level resource management method and appratus for dynamic resource management |
| KR20140125893A (en) * | 2013-01-28 | 2014-10-30 | 한국과학기술원 | Virtualized many-core environment job distribution system and method, and recording medium thereof |
| KR20170088096A (en) | 2016-01-22 | 2017-08-01 | 한국전자통신연구원 | Apparatus for provisioning resource of virtual cluster and method using the same |
| KR20170094899A (en) * | 2016-02-12 | 2017-08-22 | 삼성에스디에스 주식회사 | System and method for managing computing resources |
| US10877816B2 (en) * | 2016-04-20 | 2020-12-29 | Samsung Electronics Co., Ltd. | Optimal task scheduler |
-
2017
- 2017-11-27 KR KR1020170159396A patent/KR102014246B1/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016048536A (en) | 2014-08-27 | 2016-04-07 | 財團法人資訊工業策進會 | Master device, slave device and computing method thereof for cluster computing system |
| KR101585160B1 (en) * | 2015-03-12 | 2016-01-13 | 주식회사 모비젠 | Distributed Computing System providing stand-alone environment and controll method therefor |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20190061241A (en) | 2019-06-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9183016B2 (en) | Adaptive task scheduling of Hadoop in a virtualized environment | |
| US11106508B2 (en) | Elastic multi-tenant container architecture | |
| US9304803B2 (en) | Cooperative application workload scheduling for a consolidated virtual environment | |
| US20220164208A1 (en) | Coordinated container scheduling for improved resource allocation in virtual computing environment | |
| US8631403B2 (en) | Method and system for managing tasks by dynamically scaling centralized virtual center in virtual infrastructure | |
| US10191771B2 (en) | System and method for resource management | |
| US20170031622A1 (en) | Methods for allocating storage cluster hardware resources and devices thereof | |
| US20130339956A1 (en) | Computer system and optimal arrangement method of virtual machine in computer system | |
| US11461120B2 (en) | Methods and apparatus for rack nesting in virtualized server systems | |
| CN110221920B (en) | Deployment method, device, storage medium and system | |
| US12229602B2 (en) | Memory-aware request placement for virtual GPU enabled systems | |
| CN116450358A (en) | Resource management for virtual machines in cloud computing systems | |
| US20170024251A1 (en) | Scheduling method and apparatus for distributed computing system | |
| US20120166630A1 (en) | Dynamic load balancing system and method thereof | |
| CN105159736B (en) | A kind of construction method for the SaaS software deployment schemes for supporting performance evaluation | |
| US11263054B2 (en) | Memory-aware placement for virtual GPU enabled systems | |
| KR101474872B1 (en) | Method for elastic virtual cluster management for efficient construction of virtual clusters on cloud, apparatus for elastic virtual cluster management and cloud system using the same | |
| US11579942B2 (en) | VGPU scheduling policy-aware migration | |
| JPWO2012066640A1 (en) | Computer system, migration method and management server | |
| CN109257399B (en) | Cloud platform application program management method, management platform and storage medium | |
| KR20130019698A (en) | Method for optimizing resource by using migration based on user's scheduler | |
| JP2016115065A (en) | Information processor, information processing system, task processing method, and program | |
| US20200065126A1 (en) | Resource optimization for virtualization environments | |
| CN110838939A (en) | A lightweight container-based scheduling method and edge IoT management platform | |
| KR102014246B1 (en) | Mesos process apparatus for unified management of resource and method for the same |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20171127 |
|
| PA0201 | Request for examination | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20181106 Patent event code: PE09021S01D |
|
| AMND | Amendment | ||
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent |
Patent event date: 20190425 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20181106 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |
|
| AMND | Amendment | ||
| PX0901 | Re-examination |
Patent event code: PX09011S01I Patent event date: 20190425 Comment text: Decision to Refuse Application Patent event code: PX09012R01I Patent event date: 20181226 Comment text: Amendment to Specification, etc. |
|
| PX0701 | Decision of registration after re-examination |
Patent event date: 20190530 Comment text: Decision to Grant Registration Patent event code: PX07013S01D Patent event date: 20190522 Comment text: Amendment to Specification, etc. Patent event code: PX07012R01I Patent event date: 20190425 Comment text: Decision to Refuse Application Patent event code: PX07011S01I Patent event date: 20181226 Comment text: Amendment to Specification, etc. Patent event code: PX07012R01I |
|
| X701 | Decision to grant (after re-examination) | ||
| PG1501 | Laying open of application | ||
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20190820 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20190821 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| G170 | Re-publication after modification of scope of protection [patent] | ||
| PG1701 | Publication of correction |
Patent event code: PG17011E01I Patent event date: 20200810 Comment text: Request for Publication of Correction Publication date: 20200814 |
|
| PR1001 | Payment of annual fee |
Payment date: 20220720 Start annual number: 4 End annual number: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20240625 Start annual number: 6 End annual number: 6 |
|
| PR1001 | Payment of annual fee |
Payment date: 20250625 Start annual number: 7 End annual number: 7 |