KR20180045347A - 가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치 - Google Patents
가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치 Download PDFInfo
- Publication number
- KR20180045347A KR20180045347A KR1020160139345A KR20160139345A KR20180045347A KR 20180045347 A KR20180045347 A KR 20180045347A KR 1020160139345 A KR1020160139345 A KR 1020160139345A KR 20160139345 A KR20160139345 A KR 20160139345A KR 20180045347 A KR20180045347 A KR 20180045347A
- Authority
- KR
- South Korea
- Prior art keywords
- resource
- virtualization processing
- resource group
- resources
- allocated
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은 가상화 환경에서의 자원 관리 방법에 관한 것으로서, 더욱 상세하게는 응용 프로그램을 실행하는 가상화 처리 개체의 성능을 모니터링하여 모니터링 결과에 따라 동적으로 할당된 하드웨어 자원을 확장하거나 축소함으로써 보다 유연하게 자원 관리를 수행할 수 있는 가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치에 관한 것이다.
Description
본 발명은 가상화 환경에서의 자원 관리 방법에 관한 것으로서, 더욱 상세하게는 응용 프로그램을 실행하는 가상화 처리 개체의 성능을 모니터링하여 모니터링 결과에 따라 동적으로 할당된 하드웨어 자원을 확장하거나 축소함으로써 보다 유연하게 자원 관리를 수행할 수 있는 가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
클라우드 컴퓨팅 기술의 활용이 보편화되고 있는 추세이다. 클라우드 컴퓨팅 기술은 자원을 공유하고 효율적으로 이용할 수 있다는 장점으로 인해 많은 시스템에서 클라우드 컴퓨팅 기술을 적용하고 있다. 클라우드 컴퓨팅 기술의 핵심 기술은 자원 풀(Resource Pooling)을 공유하고, 사용자의 요구(On-Demand Self Service)에 의해 신속하게 생성 및 해제(Rapid Elasticity)할 수 있는 가상화(Virtualization) 기술이 있다.
가상화 기술은 하나의 물리적인 장비를 마치 여러 개의 장비처럼 사용하는 것을 의미하는 것으로, 이 중 서버 가상화 기술은 하나의 물리적인 서버 내에 운영체제, 즉 호스트(host) OS를 설치하고, 자원을 분할하여 여러 개의 논리적 가상 머신(Virtual Machine)을 생성한 후 운영체제, 즉 게스트(guest) OS를 설치하고, 응용 프로그램(application)을 구동하여, 구동되는 응용 프로그램들이 하나의 물리적 자원, 즉 CPU, 메모리, 네트워크, 스토리지 등의 하드웨어 자원을 공유하는 기술을 의미한다. 이러한 서버 가상화 기술을 하드웨어 가상화라 한다.
한편, 서버 가상화 기술 중 컨테이너(Container)를 이용한 소프트웨어 가상화 또는 OS 레벨 가상화로 불리는 가상화 기법이 대두되고 있다. 컨테이너를 이용한 가상화 기술은 호스트 OS 내부를 물리적 자원을 관리하는 커널 공간과 사용자 프로세스, 즉 응용 프로그램을 실행하는 사용자 공간으로 구분하고, 사용자 공간을 여러 개로 나누어 각각의 사용자 프로세스에서 사용되는 하드웨어 자원을 할당하고 공유하는 기술을 의미한다.
이러한 가상화 컴퓨팅 환경에 적용되는 서버 가상화 기술에서 반드시 고려되어야 할 부분이 한정된 자원의 효율적인 사용이다. 현재까지의 서버 가상화 기술들은 가상화 처리 개체, 즉 가상 머신(Virtual Machine) 또는 컨테이너(Container)의 상태를 모니터링하여, 가상화 처리 개체를 수평적으로 증가시키거나 감소시키는 스케일 인(IN)/아웃(OUT) 기법을 주로 적용하여 자원을 관리해오고 있다. 그러나, 종래의 수평적 스케일 인아웃 기법은 새로운 가상화 처리 개체를 생성하고 생성된 가상화 처리 개체에 자원을 할당하거나 가상화 처리 개체를 삭제하고 자원을 회수하는 것과 같이 신속한 서비스의 제공이 어려우며 반복적으로 가상화 처리 개체를 생성하거나 삭제함으로써 자원의 비효율성을 야기한다는 문제점이 있다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 응용 프로그램을 실행하는 가상화 처리 개체의 성능을 모니터링하여 모니터링 결과에 따라 동적으로 할당된 하드웨어 자원을 확장하거나 축소함으로써 보다 유연하게 자원 관리를 수행할 수 있는 가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치를 제공하는 데 목적이 있다.
특히, 본 발명은 하드웨어 자원을 가상화 처리 개체간 공유가 가능한 제1 자원 그룹 및 공유가 불가능한 제2 자원 그룹으로 그룹핑하고, 가상화 처리 개체에 대응하여 제1 자원 그룹을 할당한 이후에, 가상화 처리 개체에 대한 성능 활용율을 모니터링하여 제2 자원 그룹의 특정 자원이 할당되도록 제어하거나, 제2 자원 그룹에 매핑된 가상화 처리 개체에 대한 성능 모니터링 결과에 따라 동적으로 하드웨어 자원을 확장하거나 축소할 수 있는 가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치를 제공하는 데 목적이 있다.
그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 지원하는 제어기에 있어서, 상기 제어기가 응용 프로그램의 실행을 지원하는 가상화 처리 개체의 성능 활용율을 모니터링하는 단계; 및 상기 모니터링 결과에 따라 상기 가상화 처리 개체에 할당된 하드웨어 자원을 확장하거나 축소하여 관리하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 모니터링하는 단계 이전에, 가상화 처리 개체의 구동을 지원할 수 있는 하드웨어 자원을 가상화 처리 개체간 공유가 가능한 제1 자원 그룹 및 공유가 불가능한 제2 자원 그룹으로 그룹핑하는 단계; 및 상기 가상화 처리 개체에 대응하여 상기 제1 자원 그룹을 할당하는 단계;를 더 포함하여 이뤄질 수 있다.
아울러, 상기 가상화 처리 개체에 대응하여 상기 제1 자원 그룹이 할당되어 있을 경우, 상기 관리하는 단계는 상기 모니터링 결과 상기 성능 활용율이 기 정의된 임계값 이상이면, 상기 가상화 처리 개체에 대응하여 상기 제2 자원 그룹의 특정 자원이 할당되도록 관리할 수 있다.
또한, 상기 가상화 처리 개체에 대응하여 상기 제2 자원 그룹이 할당되어 있을 경우, 상기 관리하는 단계는 상기 모니터링 결과, 상기 성능 활용율이 기 정의된 임계값 이상이면, 스케일 업 이벤트를 발생시키고, 성능 활용율이 기 정의된 임계값 미만이면 스케일 다운 이벤트를 발생시키는 단계; 및 상기 발생된 이벤트에 따라 상기 제2 자원 그룹 내에서 상기 가상화 처리 개체에 대응하는 하드웨어 자원을 확장하거나 축소하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 스케일 업 이벤트가 발생되면, 상기 확장하거나 축소하는 단계는 상기 가상화 처리 개체에 할당된 제2 자원 그룹 내의 여유 자원을 확인하는 단계; 및 상기 여유 자원이 확인되면, 확인된 상기 여유 자원을 상기 가상화 처리 개체에 할당하여 하드웨어 자원을 확장하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 스케일 다운 이벤트인 경우, 상기 확장하거나 축소하는 단계는 상기 가상화 처리 개체에 할당된 자원을 회수하여 하드웨어 자원을 축소할 수 있다.
또한, 새로운 가상화 처리 개체를 생성하는 단계; 상기 생성된 가상화 처리 개체에 대응하여 상기 제1 자원 그룹을 할당하는 단계; 상기 생성된 가상화 처리 개체의 성능 활용율을 모니터링하는 단계; 및 상기 모니터링 결과, 상기 성능 활용율이 기 정의된 임계값 이상이면, 상기 가상화 처리 개체에 대응하여 상기 제2 자원 그룹의 특정 자원이 할당되도록 제어하는 단계;를 더 포함하여 이뤄질 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 지원하는 제어기에 있어서 상기 제어기가 가상화 처리 개체의 구동을 지원할 수 있는 하드웨어 자원을 가상화 처리 개체간 공유가 가능한 제1 자원 그룹 및 공유가 불가능한 제2 자원 그룹으로 그룹핑하는 단계; 및 상기 가상화 처리 개체에 대응하여 상기 제1 자원 그룹을 할당하는 단계; 상기 제1 자원 그룹에 할당된 가상화 처리 개체의 성능 활용율을 모니터링하는 단계; 및 상기 성능 활용율이 기 정의된 임계값 이상이면, 상기 가상화 처리 개체에 대응하여 상기 제2 자원 그룹의 특정 자원이 할당되도록 제어하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 제1 자원 그룹에 할당된 가상화 처리 개체가 복수 개 일 경우, 상기 제어하는 단계는 상기 복수 개의 가상화 처리 개체 중 가장 높은 성능 활용율을 나타내는 가상화 처리 개체를 선택하는 단계; 및 상기 선택된 가상화 처리 개체에 대응하여 상기 제2 자원 그룹의 특정 자원이 할당되도록 제어하는 단계;를 포함하여 이뤄질 수 있다.
아울러, 상기 제어하는 단계 이후에, 상기 제2 자원 그룹에 할당된 가상화 처리 개체를 대상으로 성능 활용율을 모니터링하여 모니터링 결과에 따라 상기 성능 활용율이 기 정의된 임계값 이상이면, 스케일 업 이벤트를 발생시키고, 성능 활용율이 기 정의된 임계값 미만이면 스케일 다운 이벤트를 발생시키는 단계; 및 상기 발생된 이벤트에 따라 상기 제2 자원 그룹에 할당된 가상화 처리 개체 간 하드웨어 자원을 확장하거나 축소하는 단계;를 더 포함하여 이뤄질 수 있다.
추가로 본 발명은 상술한 바와 같은 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.
또한, 본 발명은 상술한 바와 같은 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 지원하는 장치는 응용 프로그램의 실행을 지원하는 가상화 처리 개체의 성능 활용율을 모니터링하는 모니터링부; 및 상기 성능 활용율이 기 정의된 임계값 이상이고, 상기 가상화 처리 개체에 할당된 하드웨어 자원이 가상화 처리 개체간 공유가 가능한 제1 자원 그룹이면 상기 가상화 처리 개체에 대응하여 가상화 처리 개체간 공유가 불가능한 제2 자원 그룹의 특정 자원이 할당되도록 제어하며, 상기 가상화 처리 개체에 할당된 하드웨어 자원이 제2 자원 그룹이면 상기 가상화 처리 개체에 대응하여 상기 제2 자원 그룹의 특정 자원이 더 추가되도록 제어하는 제어부;를 포함하여 구성될 수 있다.
아울러, 상기 제어부는 상기 성능 활용율이 기 정의된 임계값 미만이고 상기 가상화 처리 개체에 할당된 하드웨어 자원이 제2 자원 그룹의 특정 자원이면, 상기 가상화 처리 개체에 할당된 상기 특정 자원을 회수하여 자원이 축소되도록 제어할 수 있다.
본 발명의 가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치에 의하면, 하드웨어 자원을 가상화 처리 개체간 공유가 가능한 제1 자원 그룹 및 공유가 불가능한 제2 자원 그룹으로 그룹핑한 후 자원을 관리함으로써, 자원 관리가 보다 용이하다는 장점이 있으며, 여유 자원의 회수, 자원의 추가 과정이 보다 쉽다는 장점이 있다.
또한, 본 발명의 가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치에 의하면, 가상화 처리 개체의 성능을 모니터링하여, 가상화 처리 개체의 상태에 따라 동적으로 하드웨어 자원을 확장하거나 축소함으로써 보다 유연하게 자원 관리를 수행할 수 있게 된다.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.
도 1은 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 지원하는 컴퓨팅 시스템을 설명하기 위한 예시도이다.
도 2는 본 발명의 일 실시 예에 따른 가상머신 기반 가상화 환경에서의 자원 관리 방법을 설명하기 위한 예시도이다.
도 3은 본 발명의 다른 실시 예에 따른 컨테이너 기반 가상화 환경에서의 자원 관리 방법을 설명하기 위한 예시도이다.
도 4 내지 도 9는 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 설명하기 위한 예시도이다.
도 10은 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 지원하는 제어기의 주요 구성을 도시한 블록도이다.
도 11 및 도 12는 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시 예에 따른 가상머신 기반 가상화 환경에서의 자원 관리 방법을 설명하기 위한 예시도이다.
도 3은 본 발명의 다른 실시 예에 따른 컨테이너 기반 가상화 환경에서의 자원 관리 방법을 설명하기 위한 예시도이다.
도 4 내지 도 9는 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 설명하기 위한 예시도이다.
도 10은 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 지원하는 제어기의 주요 구성을 도시한 블록도이다.
도 11 및 도 12는 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 설명하기 위한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 또한 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 하나, 이는 본 발명을 특정한 실시 형태로 한정하려는 것은 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
이제 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치에 대하여 도면을 참조하여 상세하게 설명하도록 한다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용하며, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 지원하는 컴퓨팅 시스템을 설명하기 위한 예시도이다.
도 1에 도시된 바와 같이, 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 지원하는 컴퓨팅 시스템(200)은 단말(100)의 서비스 요청에 따라 해당하는 응용 프로그램(APP, application)을 구동하고 이에 따른 처리 결과를 단말(100)로 전달하게 된다.
이때, 어느 하나의 응용 프로그램을 이용하고자 하는 단말(100)의 수가 증가하게 되면, 컴퓨팅 시스템(200)은 한정된 하드웨어 자원을 기반으로 단말(100)의 서비스 요청을 보다 효율적으로 처리할 수 있어야 한다. 종래에는 동일 응용 프로그램을 새롭게 추가하여 단말(100)의 서비스 요청을 분산시켜 처리하는 수평적 방식, 즉 스케일인(scale in)/스케일아웃(scale out) 방식으로 단말(100)의 요청을 처리하였다면, 본 발명에서는 도면에서 도시하는 바와 같이 응용 프로그램을 새롭게 추가하거나 삭제하는 형태가 아닌 응용 프로그램에 할당되는 자원의 크기를 증가시키는 수직적 방식, 즉 스케일 업(scale up)/다운(scale down) 방식으로 단말(100)의 서비스 요청을 처리하고자 한다.
이를 위해 본 발명의 컴퓨팅 시스템(200) 응용 프로그램의 상태를 지속적으로 모니터링하고 이에 따른 결과를 기초로 응용 프로그램에 할당되는 하드웨어 자원을 제어함으로써, 응용 프로그램의 동작에 따른 워크로드를 고려하여 필요한 하드웨어 자원을 보다 효율적으로 사용할 수 있게 된다.
이러한 본 발명의 컴퓨팅 시스템(200)은 클라우드 방식으로 동작을 수행할 수 있으며, 단말(100)의 요청에 따른 응용 프로그램 처리 결과를 단말(100)로 전달하게 된다. 아울러, 본 발명의 컴퓨팅 시스템(200)은 가상화 기술 기반으로 응용 프로그램을 구동할 수 있다.
이러한 본 발명의 컴퓨팅 시스템(200)은 가상화 방식에 따라 가상머신 기반 가상화 환경과 컨테이너 기반 가상화 환경으로 구분될 수 있다.
먼저, 가상머신 기반 가상화 환경에서의 자원 관리 방법에 대해 설명하도록 한다.
도 2는 본 발명의 일 실시 예에 따른 가상머신 기반 가상화 환경에서의 자원 관리 방법을 설명하기 위한 예시도이다.
도 2를 참조하면, 본 발명의 가상머신 기반 가상화 환경을 지원하는 컴퓨팅 시스템(210)은 복수의 가상 머신(10), 호스트 OS(20) 및 하드웨어(30)를 포함하여 구현될 수 있다. 여기서 호스트 OS(20) 및 하드웨어(30)를 포함하여 호스트 머신을 의미한다. 여기서, 호스트 머신은 가상의 하드웨어가 생성되는 실제 물리적인 서버를 의미하며, 호스트 OS(20)는 상기 호스트 머신에서 구동되는 OS를 의미하며, 하드웨어(30)는 호스트 머신의 실제 물리적인 하드웨어 자원을 의미한다.
가상머신 기반 가상화 환경에서, 호스트 OS(20)는 하이퍼바이저(21)를 포함할 수 있다. 하이퍼바이저(21)는 다수의 가상 머신(Virtual Machine, 10)을 생성하고 관리하는 역할을 수행하는 것으로, 전 가상화, 반 가상화 방식 등 다양한 가상화 방식의 하이퍼바이저(21)가 적용될 수 있다. 이때, 상술한 하이퍼바이저(21)는 리눅스 커널 기반 가상화 머신(KVM)으로 구현될 수 있으며, 이와 동등한 또는 유사한 작용/효과를 제공하는 다른 하이퍼바이저로 대체될 수 있다. 또한, 하이퍼바이저(21)는 가상 머신(10)별로 매핑되며, 각 가상 머신(10)의 하드웨어를 모방하는 에뮬레이터(미도시)를 포함할 수 있다.
그리고 각 가상 머신(10)은 게스트 OS(11)를 포함할 수 있으며, 이때의 게스트 OS(11)는 서로 다른 종류의 OS로 구현될 수 있다. 또한, 각 가상 머신(10)은 상기 게스트 OS(11)를 기반으로 복수의 응용 프로그램(APP, 12)를 구동할 수 있으며, 이때의 각 가상 머신(10)이 보유하고 있는 응용 프로그램(12)은 그 종류와 수에 따라 차이가 있을 수 있다.
이러한 가상머신 기반 가상화 환경을 지원하는 컴퓨팅 시스템(210)에 있어서, 특정 가상 머신(10) 내의 응용 프로그램에 단말(100)의 서비스 요청이 몰릴 경우, 종래의 방식에서는 새로운 가상 머신(10)을 생성하고 동일 응용프로그램을 중복으로 생성 및 구동하는 형태로 응용 프로그램에 대해 발생되는 부하를 관리하였다. 이 경우, 새로운 가상 머신(10)에 게스트 OS(11)를 새롭게 정의하고 자원을 할당하게 되며, 이러한 과정에서 보조적인 분산 처리 소프트웨어와 구조 변경이 필요하다는 문제점이 있다.
본 발명에서는 이러한 문제점을 해결하기 위해 가상 머신(10)을 새롭게 추가하는 것이 아니라, 단말(100)의 서비스 요청이 몰리는 특정 가상 머신(10)에 추가적인 하드웨어 자원을 더 할당함으로써 부하를 관리하게 된다.
아울러, 본 발명의 가상화 환경에서의 자원 관리 방법은 컨테이너 기반 가상화 환경에서도 적용될 수 있다.
이에 대해 도 3을 참조하여 설명하도록 한다.
도 3은 본 발명의 다른 실시 예에 따른 컨테이너 기반 가상화 환경에서의 자원 관리 방법을 설명하기 위한 예시도이다.
본 발명의 컨테이너 기반 가상화 환경을 지원하는 컴퓨팅 시스템(220)은 하드웨어(30), 복수의 컨테이너(40) 및 OS(50)를 포함할 수 있다. 여기서 OS(50) 및 하드웨어(30)는 도 2의 호스트 머신과 실질적으로 동일하다. 호스트 머신은 가상의 하드웨어가 생성되는 실제 물리적인 서버를 의미하며, 하드웨어(30) 상에서 구동되는 OS(50)는 호스트 OS라 할 수 있다.
컨테이너 기반 가상화 환경에서, OS(50)는 도커 엔진(docker engine, 51)을 포함할 수 있다. 도커 엔진(51)은 컨테이너(40)를 생성하고 배포하며, 각 컨테이너(40)가 해당되는 응용 프로그램을 실행할 수 있도록 하드웨어(30) 자원을 할당하는 역할을 수행한다.
그리고 각각의 컨테이너(40)는 복수의 응용 프로그램(APP, 41)을 구동할 수 있도록 필요한 각종 프로그램, 소스 코드 등과 라이브러리(Bins/Libs) 등을 묶은 이미지를 포함하는 공간으로, 도 2의 가상 머신과는 달리 응용 프로그램(41)의 구동은 OS(50)에서 실질적으로 이뤄지게 된다. 즉, OS(50)는 도커 엔진(51)을 통해 각각의 컨테이너(40)에 접근하여 해당하는 응용 프로그램(41)을 실행하고 처리할 수 있게 된다. 한편, 각 컨테이너(40)가 구동하는 응용 프로그램(41)은 그 종류와 수에 따라 차이가 있을 수 있다.
이러한 컨테이너 기반 가상화 환경을 지원하는 컴퓨팅 시스템(220)에 있어서, 특정 컨테이너(40)의 어느 하나의 응용 프로그램에 단말(100)의 서비스 요청이 몰릴 경우, 종래의 방식에서는 새로운 컨테이너(40)를 생성하는 형태로 수평적 확장을 통해 부하를 관리하였다. 컨테이너 기반 가상화 환경에서는 도 2의 가상 머신 기반 가상화 환경에 비해 게스트 OS를 구축하는 과정이 없이 새로운 컨테이너(40)의 생성과 할당의 과정이 비교적 용이하나, 반복적인 하드웨어 자원의 할당과 회수의 과정을 거침으로써 자원의 비효율성을 야기한다는 문제점이 있다.
이에, 본 발명에서는 컨테이너(40)를 새롭게 추가하는 것이 아니라, 단말(100)의 서비스 요청이 몰리는 특정 컨테이너(40)에 추가적인 하드웨어 자원을 더 할당함으로써 부하를 관리하고자 한다.
전술한 바와 같이, 본 발명의 자원 관리 방법은 가상머신 기반 가상화 환경 및 컨테이너 기반 가상화 환경에 적용될 수 있다. 가상머신 기반 가상화 환경에서는 본 발명의 자원 관리 방법에 대한 기능 자체를 새롭게 정의함으로써 동작이 이뤄질 수 있으며, 컨테이너 기반 가상화 환경은 도커 엔진(51)이 컨테이너(40)가 응용 프로그램을 실행할 수 있도록 하드웨어 자원을 할당하고 회수하는 역할을 수행하고 있으므로, 본 발명의 자원 관리 방법을 도커 엔진(51)에 추가적으로 정의함으로써 본 발명의 동작이 이뤄질 수 있다.
아울러, 본 발명의 가상머신 및 컨테이너는 가상화 처리 개체로 지칭될 수 있으며, 여기서 가상화 처리 개체는 특정 응용 프로그램의 구동에 필요한 각종 정보를 포함하며, 응용 프로그램의 실행을 지원하는 개체를 의미할 수 있다.
이하 설명에서는 설명의 편의를 위해 본 발명의 가상화 환경에서의 자원 관리 방법에 대해 컨테이너 기반 가상화 환경을 예로 들어 설명하도록 하나, 이에 반드시 한정되는 것은 아님에 유의해야 한다.
이하, 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법에 대해 도 4 내지 도 9의 예시도를 참조하여 설명하도록 한다.
도 4 내지 도 9는 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 설명하기 위한 예시도로, 본 발명의 가상화 환경에서의 자원 관리 방법을 지원하는 장치는 제어기(60)에 의해 구현될 수 있다. 본 발명의 제어기(60)는 도 3의 OS(50) 또는 도커 엔진(51) 내 일 모듈 형태로 탑재될 수 있다. 또한 구현 방식에 따라, 복수 개의 컨테이너 중 어느 하나의 컨테이너가 제어기(60)로 동작할 수도 있다. 또한 도 2의 게스트 OS(11)에서 본 발명의 제어기(60)의 역할을 수행할 수도 있다.
아울러, 본 발명의 가상화 환경에서의 자원 관리 방법을 지원하는 장치, 즉 제어기(60)는 복수 개의 컨테이너(401, 402, 403, 404, ...)와 하드웨어(30) 사이에 위치하며 컨테이너(401, 402, 403, 404, ...)의 성능을 모니터링하고, 각각의 컨테이너에 적합한 하드웨어 자원을 할당하거나 회수하는 과정을 수행할 수 있다. 여기서 하드웨어 자원은 예컨대, CPU, 메모리, 네트워크 인터페이스 등 컨테이너(30)에서 운용 프로그램을 구동하기 위해 필요한 각종 리소스들이 이에 해당될 수 있다.
또한, 도면에서는 설명의 편의를 위해 컨테이너 1(401), 컨테이너 2(402), 컨테이너 3(403) 및 컨테이너 4(404)만을 도시하였으나, 본 발명에 적용되는 컨테이너의 개수는 이에 한정되는 것은 아니다. 아울러, 하드웨어 자원은 자원1, 자원2와 같이 카운팅될 수 있는 개념으로 도시하였으나 이에 한정되는 것은 아니며, 본 발명의 하드웨어 자원이 메모리를 의미할 경우, 자원1, 자원2 등은 메모리에서 차지하는 용량을 나타낼 수도 있다.
본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법에 대해 보다 더 구체적으로 설명하면, 먼저 도 4에서, 본 발명의 제어기(60)는 하드웨어(30)의 자원을 그룹핑하는 과정을 수행한다. 특히, 본 발명으 제어기(60)는 하드웨어(30)의 자원을 미리 정의된 조건에 따라 컨테이너(401, 402, 403, 404, ...)간 자원의 공유가 가능한 제1 자원그룹(31) 및 컨테이너(401, 402, 403, 404, ...)간 자원의 공유가 불가능한 제2 자원그룹(32)으로 그룹핑할 수 있다. 이때, 본 발명의 제1 자원그룹(31)은 컨테이너(401, 402, 403, 404, ...)들의 성능 활용율이 낮은 경우를 가정하여 기본적으로 할당되는 자원 그룹으로 기본 그룹 또는 시스템 그룹으로 지칭될 수 있으며, 제2 자원그룹(32)은 자원의 성능 활용율이 높은 컨테이너(401, 402, 403, 404, ...)가 할당되는 것으로 응용 그룹으로 지칭될 수도 있다.
자원 그룹핑에 대해 보다 구체적으로 설명하면, 도면에 도시된 바와 같이 본 발명의 하드웨어(30)가 CPU 자원을 의미하고 CPU 자원이 5개가 있으며, 이 중에서 20%가 제1 자원그룹(31)으로 할당하는 것으로 미리 정의되어 있다고 하면, 제어기(60)는 상기 조건에 따라 자원1은 제1 자원그룹(31)으로 그룹핑하고, 나머지 자원들은 제2 자원그룹(32)으로 그룹핑하게 된다. 반면, 본 발명의 하드웨어(30)가 메모리 자원을 의미한다면, 전체 메모리 용량을 100%로 보고, 이중에서 20%에 해당하는 용량은 제1 자원그룹(31)으로 그룹핑하고, 나머지 용량은 제2 자원그룹(32)으로 그룹핑할 수 있다.
아울러, 자원 그룹핑을 위한 미리 정의된 조건은 관리자에 의해 언제든지 변경되거나 설정될 수 있다. 즉 전체 하드웨어(30)의 자원 중 70%를 제1 자원그룹(31)으로 그룹핑하고 나머지를 제2 자원그룹(32)으로 그룹핑되도록 설정할 수 있으며, 전체 하드웨어(30)의 자원 중 10%만이 제1 자원그룹(31)으로 그룹핑되도록 설정할 수도 있다.
아울러, 본 발명의 제어기(60)는 도 5에 도시된 바와 같이 기본적으로 생성된 모든 컨테이너(401, 402, 403, 404, ...)를 제1 자원그룹(31)에 할당하게 되며, 컨테이너(401, 402, 403, 404, ...)들은 제1 자원 그룹(31)의 자원1을 모두 공유하여 사용하게 된다.
이후, 본 발명의 제어기(60)는 지속적으로 컨테이너(401, 402, 403, 404, )의 성능을 모니터링한다. 이때 본 발명의 제어기(60)는 컨테이너를 기반으로 동작하는 응용 프로그램의 성능 활용율을 모니터링하여 모니터링 결과에 따라 제1 자원그룹(31)에 할당된 컨테이너(401, 402, 403, 404, ...)들이 제2 자원그룹(32)에 할당되도록 제어할 수 있다.
보다 구체적으로, 본 발명의 제어기(60)는 지속적으로 컨테이너(401, 402, 403, 404, ...)를 기반으로 동작하는 응용 프로그램의 성능 활용율을 모니터링하고, 컨테이너(401, 402, 403, 404, ...)의 성능 활용율이 기 정의된 임계값 이상인지 여부를 판단하게 된다. 여기서, 임계값은 전술한 바와 같이 해당 자원이 처리할 수 있는 성능의 한계를 의미하는 것으로, 자원별로 성능 활용율의 임계값은 동일할 수 있으며 서로 다를 수도 있다.
이때, 제1 자원그룹(31)의 자원 1이 처리할 수 있는 성능 활용율이 10% 미만이라고 할 경우, 해당 자원 1을 할당받은 컨테이너 1(401), 컨테이너2(402), 컨테이너 3(403), 컨테이너 4(404)의 성능 활용율의 총 합은 10% 미만이여야 한다. 그런데 컨테이너 4(404)의 성능 활용율이 기 정의된 임계값인 10% 이상일 경우, 제1 자원그룹(31)은 해당 컨테이너 4(404)의 응용 프로그램의 실행을 지원하는데 많은 부하가 발생되게 된다.
따라서 본 발명의 제어기(60)는 도 6에 도시된 바와 같이 컨테이너 4(404)가 제2 자원그룹(32)의 특정 자원인 자원 5를 할당하게 된다. 여기서, 자원 5는 할당된 컨테이너 4(404)만 접근할 수 있는 자원이며 다른 컨테이너(401, 402, 403)들은 접근이 불가능하다. 따라서, 컨테이너 4(404)는 제2 자원 그룹(32)의 자원5를 독점하여 응용 프로그램을 처리할 수 있게 된다.
더하여, 본 발명의 제어기(60)는 제1 자원그룹(31)에 할당된 컨테이너(401, 402, 403, 404, ...)의 성능 활용율의 총 합이 기 정의된 임계값 이상인지 여부를 판단하고, 총 합이 임계값 이상이며, 복수 개의 컨테이너(401, 402, 403, 404, ...) 중 가장 높은 성능 활용율을 나타내는 컨테이너를 선택하고, 해당 컨테이너의 할당 자원 그룹을 제2 자원 그룹으로 변경되도록 제어할 수도 있다.
이후에, 본 발명의 제어기(60)는 제2 자원 그룹(32)에 할당된 컨테이너를 대상으로 성능 활용율을 실시간으로 모니터링하고 이에 따라 자원 관리 이벤트를 발생시킬 수 있다. 여기서, 자원 관리 이벤트는 하드웨어 자원의 추가를 의미하는 스케일 업 이벤트와, 자원의 회수를 의미하는 스케일다운 이벤트를 포함하며, 본 발명의 제어기(60)는 모니터링된 성능 활용율이 기 정의된 최대 임계치 이상이면 스케일 업 이벤트를 발생시키고, 성능 활용율이 기 정의된 최소 임계치 미만이면 스케일다운 이벤트를 발생시킬 수 있다.
그리고, 본 발명의 제어기(60)는 스케일 업 이벤트 또는 스케일 다운 이벤트에 따라 각각의 컨테이너(401, 402, 403, 404, ...)에 대응하여 할당된 제2 자원 그룹(32)의 자원을 확장하거나 축소하는 과정을 제어할 수 있다.
예를 들어, 컨테이너 4(404)의 성능 활용율을 모니터링하여 제1 자원 그룹(31)에서 제2 자원 그룹(32)의 공유되지 않는 자원을 할당하였으나, 컨테이너 4(404) 응용 프로그램의 실행에 따라 요구되는 자원이 증가되어 성능 활용율이 높아진 경우, 제어기(60)는 스케일 업 이벤트 발생으로 인지하고 도 7에 도시된 바와 같이 추가로 자원 4를 컨테이너 4(404)에 할당할 수도 있다.
이때, 본 발명의 제어기(60)는 컨테이너 4(404)에 추가로 자원을 할당할 경우, 제2 자원 그룹(32)의 하드웨어 자원에 여유 자원이 존재한 지 여부를 판단한 후, 존재하지 않을 경우, 여유 자원이 발생될 때까지 대기하는 과정을 수행할 수도 있다.
다른 예를 들어, 도 8에서 제어기(60)는 실시간으로 각각의 컨테이너(401, 402, 403, 404, ...)의 성능 활용율을 모니터링한 결과, 컨테이너 3(403)의 성능 활용율이 35%라고 할 경우, 제1 자원 그룹(31)의 자원 1이 처리할 수 있는 성능 활용율 이상이므로 제어기(60)는 컨테이너 3(403)이 제2 자원 그룹(32)의 여유 자원을 확인하고, 자원 2, 자원 3이 여유 자원으로 확인되면, 상기 컨테이너 3(403)에 제2 자원 그룹(32)의 자원 2, 자원 3이 할당되도록 제어할 수 있다. 이때, 자원 2 및 자원 3이 처리할 수 있는 성능 활용율이 30%라고 할 경우, 컨테이너 3(403)의 구동에 필요한 자원이 더 필요하므로, 제어기(60)는 실시간으로 각각의 컨테이너(401, 402, 403, 404, ...)의 성능 활용율을 모니터링하게 된다. 이때, 도 9에 도시된 바와 같이 컨테이너 4(404)의 성능 활용율이 기 정의된 최소 임계치 미만이면 컨테이너 4(404)에 대한 스케일 다운 이벤트가 발생된 것으로 확인하여, 컨테이너 4(404)에 할당된 자원 4를 회수하고, 이를 컨테이너 3(403)에 할당하여 자원 확장이 되도록 관리할 수 있게 된다.
아울러, 본 발명의 제1 자원 그룹(31) 및 제2 자원 그룹(32)에 포함되는 자원은 고정되는 것을 가정하여 설명하였으나, 반드시 이에 한정되는 것은 아니며, 필요한 경우 제어기(60)는 제2 자원 그룹(32)의 자원 일부가 제1 자원 그룹(31)에 할당되도록 제어할 수도 있다.
또한, 본 발명의 제어기(60)는 자원의 확장이 필요한 컨테이너가 복수 개 있는 상황에서 여유 자원이 없을 경우, 컨테이너 간의 우선순위를 고려하여 발생되는 여유 자원을 먼저 할당할 수도 있다. 예를 들어, 자원의 확장이 시급하거나 응용 프로그램의 상대적 중요도가 더 높은 경우 해당 컨테이너에 우선적으로 자원을 할당하도록 제어할 수도 있다.
이와 같이 본 발명의 제어기(60)는 가상화 처리 개체인 컨테이너의 성능에 따라 자원을 추가하거나 회수함으로써 동적으로 하드웨어 자원을 관리할 수 있게 된다. 아울러, 본 발명의 제어기(60)는 컨테이너와 같은 가상화 처리 개체 단위로 성능을 모니터링하고 자원을 관리하는 것을 예로 들어 설명하나, 응용 프로그램 각각의 성능을 모니터링하고 응용 프로그램 각각에 대한 자원을 관리할 수도 있다.
한편, 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법은 단말(100)로부터 발생되는 서비스 요청에 따른 워크로드를 고려하여 이를 처리하기 위한 가상 머신 또는 컨테이너와 같은 가상화 처리 개체의 수평적 확장을 통해 고려하는 것이 아니라, 가상화 처리 개체가 이용할 수 있는 하드웨어 자원을 확장을 고려하는 방식이다. 따라서 응용 프로그램의 구동을 지원하는 컨테이너, 가상 머신의 수는 고정된 것을 가정하여 설명하였으나, 관리자의 설정에 따라 추가되거나 삭제될 수도 있다. 이때, 새로운 가상화 처리 개체가 생성되는 경우, 제어기(60)는 기본적으로 생성되는 새로운 가상화 처리 개체에 공유 자원인 제1 자원 그룹(31)을 할당하게 되며, 이후에, 해당 가상화 처리 개체의 성능 활용율을 모니터링하여 모니터링 결과에 따라 제2 자원 그룹(32)의 특정 자원을 할당할 수도 있다.
이하, 본 발명의 제어기(60)의 구성 및 동작에 대해 보다 더 구체적으로 설명하도록 한다.
도 10은 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 지원하는 제어기의 주요 구성을 도시한 블록도이다.
도 10을 참조하면, 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 지원하는 제어기(60)는 모니터링부(61) 및 제어부(62)를 포함하여 구성될 수 있다.
먼저 모니터링부(61)는 응용 프로그램을 실행하는 가상화 처리 개체의 성능을 모니터링하는 역할을 수행한다. 이때, 본 발명의 모니터링부(61)는 응용 프로그램 단위로 성능을 모니터링할 수 있으며, 응용 프로그램의 실행을 지원하는 가상화 처리 개체 단위로 성능을 모니터링할 수 있다.
아울러, 본 발명의 모니터링부(61)는 가상화 처리 개체에 대한 성능 활용율을 모니터링하여 모니터링된 성능 활용율이 기 정의된 최대 임계치 이상이면 스케일 업 이벤트를 발생시키고, 성능 활용율이 기 정의된 최소 임계치 미만이면 스케일다운 이벤트를 발생시키게 된다. 본 발명의 모니터링부(61)가 가상화 처리 개체인 컨테이너를 대상으로 모니터링하는 과정에 대한 의사 코드(pseudo code)는 다음과 같다.
monitor() { Repeat { for container in containers { // 각각의 컨테이너에 대해.... for resource inl resources { // 각각의 성능 자원에 대해... 가령, CORE u = calc_utilization(container, resource, DURATION) if (u > max) make_event(SCALE_UP, container, resource) if (u < min) make_event(SCALE_DOWN, container, resource) } } } } |
즉, 본 발명의 모니터링부(62)는 최대 임계치(max) 및 최소 임계치(min)을 설정하고, 응용 프로그램의 성능 활용율(u)을 비교하여, 자원 확장 또는 자원 축소 정도를 결정할 수 있다.
제어부(62)는 가상화 처리 개체의 구동을 지원할 수 있는 하드웨어 자원을 그룹핑하게 된다. 특히, 본 발명의 제어부(62)는 가상화 처리 개체의 구동을 지원할 수 있는 하드웨어 자원을 미리 정의된 조건에 따라 가상화 처리 개체간 공유가 가능한 제1 자원 그룹 및 공유가 불가능한 제2 자원 그룹으로 그룹핑하게 된다.
예컨대, 본 발명의 하드웨어 자원이 CPU 자원을 의미하고 CPU 자원이 5개가 있으며, 이 중에서 20%가 제1 자원그룹으로 할당하는 것으로 미리 정의되어 있다고 하면, 제어부(62)는 상기 조건에 따라 자원1은 제1 자원그룹으로 그룹핑하고, 나머지 자원들은 제2 자원그룹으로 그룹핑하게 된다. 반면, 본 발명의 하드웨어 자원이 메모리 자원을 의미한다면, 전체 메모리 용량을 100%로 보고, 이중에서 20%에 해당하는 용량은 제1 자원그룹으로 그룹핑하고, 나머지 용량은 제2 자원그룹으로 그룹핑할 수 있다.
아울러, 자원 그룹핑을 위한 미리 정의된 조건은 관리자에 의해 언제든지 변경되거나 설정될 수 있다. 즉 전체 하드웨어 자원 중 70%를 제1 자원그룹으로 그룹핑하고 나머지를 제2 자원그룹으로 그룹핑되도록 설정할 수 있으며, 전체 하드웨어의 자원 중 10%만이 제1 자원그룹으로 그룹핑되도록 설정할 수도 있다. 이때, 자원 간 처리할 수 있는 성능 활용율은 동일할 수 있으며, 그렇지 않을 수도 있다.
이후에, 본 발명의 제어부(62)는 기본적으로 가상화 처리 개체에 대응하여 제1 자원 그룹을 먼저 할당하게 된다.
그리고 본 발명의 제어부(62)는 모니터링부(61)를 통해 가상화 처리 개체에 대한 성능 활용율을 모니터링하여 성능 활용율이 기 정의된 임계값 이상인 것으로 확인되면, 가상화 처리 개체에 대응하는 자원 그룹이 제2 자원 그룹의 특정 자원이 할당되도록 제어하게 된다. 다시 말해 제1 자원 그룹은 매핑된 모든 가상화 처리 개체간 공유가 가능한 자원이므로, 자원이 한정된 상태이다. 따라서, 성능 활용율이 높은 가상화 처리 개체의 독점하여 자원을 사용할 수 있는 제2 자원 그룹의 특정 자원이 매핑되도록 제어부(62)는 제어하게 된다. 아울러, 본 발명의 제어부(62)는 제2 자원 그룹에 매핑된 가상화 처리 개체 간 성능 활용율을 고려하여 제2 자원 그룹 내에서 하드웨어 자원을 확장하거나 축소할 수도 있다.
예컨대, 제어부(62)는 전술한 예시도를 참조하여 설명한 바와 같이, 모니터링부(61)를 통해 성능 활용율을 모니터링하여 스케일 업 이벤트가 발생되면, 제2 자원 그룹 내 여유 자원을 확인하여 확인된 여유 자원이 가상화 처리 개체에 할당된 자원 그룹에 포함되도록 추가하거나, 스케일 다운 이벤트인 경우, 여유 자원을 확인하여 회수하도록 제어할 수 있다.
이러한, 제어부(62)에서의 자원 관리 방법에 대한 의사 코드는 다음과 같다.
core_controller() { system_group <- core[0] app_group <- core[1], core[2], ..., core[n-1] Repeat { u = calc_utilization(system_group, CORE, DURATION) if (u > max) { // max: SCALE UP을 위한 임계치 c = get_free_core_from_app_group() if (c != null) system_group <- c } else if (u < min) { // min: SCALE DOWN을 위한 임계치 if (sizeof(system_group) > 1) { c = get_core_from_system_group() app_group <- c } } if (event == SCALE_UP) { container = get_container(event) c = get_free_core_from_app_group() if (c != null) { add_core(container, c) mark(c, USED) } } if (event == SCALE_DOWN) { container = get_container(event) c = remove_core(container) mark(c, FREE) if (sizeof(get_core_count(container)) == 0) { bind_cores(container, system_group) } } } } |
상기의 의사 코드에서, 제어부(62)는 하드웨어 자원인 CPU 코어를 대상으로 코어 0은 시스템 그룹으로 구분하고, 나머지 코어들은 어플리케이션 그룹으로 구분한 것을 의미한다. 이후에 본 발명의 모니터링부(61)를 통해 전달되는 스케일 업 이벤트(SCALE_UP), 스케일 다운 이벤트(SCALE_DOWN) 이벤트에 따라, 어플리케이션 그룹의 코어를 회수하여 시스템 그룹에 추가함으로써 코어 자원을 확장할 수 있으며, 반대로 자원을 코어 자원을 회수하여 자원을 축소할 수도 있다.
아울러, 본 발명의 제어부(62)는 새롭게 가상화 처리 개체가 생성되는 경우, 상기 가상화 처리 개체에 대응하여 제1 자원 그룹을 할당하고 상기 가상화 처리 개체의 성능에 대한 모니터링 결과에 따라 상기 가상화 처리 개체가 제2 자원 그룹의 특정 자원이 할당되도록 하드웨어 자원을 확장할 수도 있다.
이와 같이, 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법은 하드웨어 자원을 공유의 관점에서 가상화 처리 개체간 공유가 가능한 제1 자원 그룹 및 공유가 불가능한 제2 자원 그룹으로 그룹핑한 후, 자원을 관리함으로써, 관리를 보다 용이하게 수행할 수 있으며, 제2 자원 그룹 내에서의 자원 확장 및 축소 과정이 보다 쉽게 이뤄질 수 있다는 장점이 있다.
또한, 본 발명의 가상화 환경에서의 자원 관리 방법에 의하면, 가상화 처리 개체의 성능을 모니터링하여, 가상화 처리 개체의 상태에 따라 동적으로 하드웨어 자원을 확장하거나 축소함으로써 보다 유연하게 자원 관리를 수행할 수 있게 된다.
이상으로 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 지원하는 장치인 제어기(60)의 주요 구성 및 동작 방법에 대해 설명하였다.
비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.
이하, 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법에 대해 설명하도록 한다.
도 11 및 도 12는 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법을 설명하기 위한 흐름도이다.
먼저, 도 11을 참조하면, 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법은 이를 지원하는 장치인 제어기(60)를 통해 이뤄질 수 있다. 본 발명의 제어기(60)는 본 발명의 실시 예에 따른 자원 관리를 수행하기 위해 먼저 하드웨어 자원을 확인하고(S101), 가상화 처리 개체간 공유가 가능한 제1 자원 그룹 및 공유가 불가능한 제2 자원 그룹으로 그룹핑한다(S103). 그리고, 본 발명의 제어기(60)는 가상화 처리 개체에 대응하여 제1 자원 그룹을 할당한다(S105).
이후에 본 발명의 제어기(60)는 가상화 처리 개체의 성능을 모니터링한다(S107). 모니터링 결과, 성능 활용율이 기 정의된 임계값 이상이면(S109), 가상화 처리 개체에 대한 자원 확장이 필요하므로 제2 자원 그룹의 독점하여 사용할 수 있는 특정 자원을 할당하게 된다(S111).
아울러, 본 발명의 제어기(60)는 제2 자원 그룹 내의 가상화 처리 개체의 성능 활용율을 지속적으로 모니터링하여, 모니터링 결과에 따라 스케일 업 이벤트를 처리하거나 스케일 다운 이벤트를 처리할 수도 있다.
이에 대해 도 12를 참조하면, 본 발명의 제어기(60)는 가상화 처리 개체 단위로 성능 활용율을 모니터링하게 된다(S113). 이때, 성능 활용율이 기 정의된 임계값, 예컨대 최대 임계치 이상이면 제어기(60)는 상기 가상화 처리 개체에 할당된 자원 그룹이 제1 자원 그룹일 경우, 도 11을 참조하여 설명한 바와 같이 제2 자원 그룹의 특정 자원이 할당되도록 제어하며, 상기 가상화 처리 개체에 할당된 자원 그룹이 제2 자원 그룹이면, 먼저 여유 자원이 존재하는 지 확인하게 된다(S117). 여유 자원이 존재할 경우, 제어기(60)는 즉시 해당 자원을 상기 응용 프로그램의 컨테이너에 추가하여 할당된 하드웨어 자원을 확장시킬 수 있다(S119). 반면, 여유 자원이 존재하지 않는다면, 제어기(60)는 여유 자원이 발생될 때까지 대기하는 과정을 수행할 수 있다.
반면, 하드웨어 자원을 추가한 이후에, 제어기(60)는 지속적으로 성능 활용율을 모니터링하여 성능 활용율이 기 정의된 임계값, 즉 최소 임계치 미만인 경우(S123), 해당 컨테이너에 할당된 자원을 회수하는 과정을 수행할 수 있다(S125).
이상으로 본 발명의 실시 예에 따른 가상화 환경에서의 자원 관리 방법에 대해 설명하였다.
여기서, 흐름도의 각 단계는 컴퓨터 프로그램 명령어에 의해 수행될 수 있음을 이해하여야 한다. 이들 컴퓨터 프로그램 명령어들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 명령어들이 흐름도 구성(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 또한, 이들 컴퓨터 프로그램 명령어들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능한 기록매체에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능한 기록매체에 저장된 명령어들은 흐름도 구성(들)에서 설명된 기능을 수행하는 명령어 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
여기서, 컴퓨터 이용 가능 또는 판독 가능한 기록매체는 예컨대, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 컴퓨터 프로그램 명령어들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 명령어들은 흐름도 구성(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
본 발명은 가상화 환경에서의 자원 관리 방법에 관한 것으로서, 더욱 상세하게는 응용 프로그램을 실행하는 가상화 처리 개체의 성능을 모니터링하여 모니터링 결과에 따라 동적으로 할당된 하드웨어 자원을 확장하거나 축소함으로써 보다 유연하게 자원 관리를 수행할 수 있으며, 이를 통해 본 발명은 가상화 서비스 산업의 발전에 이바지할 수 있다.
더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
100: 단말 200: 컴퓨팅 시스템
210: 가상머신 기반 가상화 환경을 지원하는 컴퓨팅 시스템
10: 가상 머신 11: 게스트 OS
12: 응용 프로그램 21: 하이퍼 바이저
20: 호스트 OS 30: 하드웨어
220: 컨테이너 기반 가상화 환경을 지원하는 컴퓨팅 시스템
40: 컨테이너 41: 응용 프로그램
50: OS 51: 도커 엔진
210: 가상머신 기반 가상화 환경을 지원하는 컴퓨팅 시스템
10: 가상 머신 11: 게스트 OS
12: 응용 프로그램 21: 하이퍼 바이저
20: 호스트 OS 30: 하드웨어
220: 컨테이너 기반 가상화 환경을 지원하는 컴퓨팅 시스템
40: 컨테이너 41: 응용 프로그램
50: OS 51: 도커 엔진
Claims (14)
- 가상화 환경에서의 자원 관리 방법을 지원하는 제어기에 있어서,
상기 제어기가
응용 프로그램의 실행을 지원하는 가상화 처리 개체의 성능 활용율을 모니터링하는 단계; 및
상기 모니터링 결과에 따라 상기 가상화 처리 개체에 할당된 하드웨어 자원을 확장하거나 축소하여 관리하는 단계;
를 포함하는 것을 특징으로 하는 가상화 환경에서의 자원 관리 방법. - 제1항에 있어서,
상기 모니터링하는 단계 이전에,
가상화 처리 개체의 구동을 지원할 수 있는 하드웨어 자원을 가상화 처리 개체간 공유가 가능한 제1 자원 그룹 및 공유가 불가능한 제2 자원 그룹으로 그룹핑하는 단계; 및
상기 가상화 처리 개체에 대응하여 상기 제1 자원 그룹을 할당하는 단계;
를 더 포함하는 것을 특징으로 하는 가상화 환경에서의 자원 관리 방법. - 제2항에 있어서,
상기 가상화 처리 개체에 대응하여 상기 제1 자원 그룹이 할당되어 있을 경우,
상기 관리하는 단계는
상기 모니터링 결과 상기 성능 활용율이 기 정의된 임계값 이상이면, 상기 가상화 처리 개체에 대응하여 상기 제2 자원 그룹의 특정 자원이 할당되도록 관리하는 것을 특징으로 하는 가상화 환경에서의 자원 관리 방법. - 제2항에 있어서,
상기 가상화 처리 개체에 대응하여 상기 제2 자원 그룹이 할당되어 있을 경우,
상기 관리하는 단계는
상기 모니터링 결과, 상기 성능 활용율이 기 정의된 임계값 이상이면, 스케일 업 이벤트를 발생시키고, 성능 활용율이 기 정의된 임계값 미만이면 스케일 다운 이벤트를 발생시키는 단계; 및
상기 발생된 이벤트에 따라 상기 제2 자원 그룹 내에서 상기 가상화 처리 개체에 대응하는 하드웨어 자원을 확장하거나 축소하는 단계;
를 포함하는 것을 특징으로 하는 가상화 환경에서의 자원 관리 방법. - 제4항에 있어서,
상기 스케일 업 이벤트가 발생되면,
상기 확장하거나 축소하는 단계는
상기 가상화 처리 개체에 할당된 제2 자원 그룹 내의 여유 자원을 확인하는 단계; 및
상기 여유 자원이 확인되면, 확인된 상기 여유 자원을 상기 가상화 처리 개체에 할당하여 하드웨어 자원을 확장하는 단계;
를 포함하는 것을 특징으로 하는 가상화 환경에서의 자원 관리 방법. - 제4항에 있어서,
상기 스케일 다운 이벤트인 경우,
상기 확장하거나 축소하는 단계는
상기 가상화 처리 개체에 할당된 자원을 회수하여 하드웨어 자원을 축소하는 것을 특징으로 하는 가상화 환경에서의 자원 관리 방법. - 제2항에 있어서,
새로운 가상화 처리 개체를 생성하는 단계;
상기 생성된 가상화 처리 개체에 대응하여 상기 제1 자원 그룹을 할당하는 단계;
상기 생성된 가상화 처리 개체의 성능 활용율을 모니터링하는 단계; 및
상기 모니터링 결과, 상기 성능 활용율이 기 정의된 임계값 이상이면, 상기 가상화 처리 개체에 대응하여 상기 제2 자원 그룹의 특정 자원이 할당되도록 제어하는 단계;
를 더 포함하는 것을 특징으로 하는 가상화 환경에서의 자원 관리 방법. - 가상화 환경에서의 자원 관리 방법을 지원하는 제어기에 있어서,
상기 제어기가
가상화 처리 개체의 구동을 지원할 수 있는 하드웨어 자원을 가상화 처리 개체간 공유가 가능한 제1 자원 그룹 및 공유가 불가능한 제2 자원 그룹으로 그룹핑하는 단계; 및
상기 가상화 처리 개체에 대응하여 상기 제1 자원 그룹을 할당하는 단계;
상기 제1 자원 그룹에 할당된 가상화 처리 개체의 성능 활용율을 모니터링하는 단계; 및
상기 성능 활용율이 기 정의된 임계값 이상이면, 상기 가상화 처리 개체에 대응하여 상기 제2 자원 그룹의 특정 자원이 할당되도록 제어하는 단계;
를 포함하는 것을 특징으로 하는 가상화 환경에서의 자원 관리 방법. - 제8항에 있어서,
상기 제1 자원 그룹에 할당된 가상화 처리 개체가 복수 개 일 경우,
상기 제어하는 단계는
상기 복수 개의 가상화 처리 개체 중 가장 높은 성능 활용율을 나타내는 가상화 처리 개체를 선택하는 단계; 및
상기 선택된 가상화 처리 개체에 대응하여 상기 제2 자원 그룹의 특정 자원이 할당되도록 제어하는 단계;
를 포함하는 것을 특징으로 하는 가상화 환경에서의 자원 관리 방법. - 제8항에 있어서,
상기 제어하는 단계 이후에,
상기 제2 자원 그룹에 할당된 가상화 처리 개체를 대상으로 성능 활용율을 모니터링하여 모니터링 결과에 따라 상기 성능 활용율이 기 정의된 임계값 이상이면, 스케일 업 이벤트를 발생시키고, 성능 활용율이 기 정의된 임계값 미만이면 스케일 다운 이벤트를 발생시키는 단계; 및
상기 발생된 이벤트에 따라 상기 제2 자원 그룹에 할당된 가상화 처리 개체 간 하드웨어 자원을 확장하거나 축소하는 단계;
를 더 포함하는 것을 특징으로 하는 가상화 환경에서의 자원 관리 방법. - 제1항 내지 제10항 중 어느 하나의 항에 기재된 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
- 제1항 내지 제10항 중 어느 하나의 항에 기재된 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
- 응용 프로그램의 실행을 지원하는 가상화 처리 개체의 성능 활용율을 모니터링하는 모니터링부; 및
상기 성능 활용율이 기 정의된 임계값 이상이고, 상기 가상화 처리 개체에 할당된 하드웨어 자원이 가상화 처리 개체간 공유가 가능한 제1 자원 그룹이면 상기 가상화 처리 개체에 대응하여 가상화 처리 개체간 공유가 불가능한 제2 자원 그룹의 특정 자원이 할당되도록 제어하며, 상기 가상화 처리 개체에 할당된 하드웨어 자원이 제2 자원 그룹이면 상기 가상화 처리 개체에 대응하여 상기 제2 자원 그룹의 특정 자원이 더 추가되도록 제어하는 제어부;
를 포함하는 것을 특징으로 하는 가상화 환경에서의 자원 관리 방법을 지원하는 장치. - 제13항에 있어서,
상기 제어부는
상기 성능 활용율이 기 정의된 임계값 미만이고 상기 가상화 처리 개체에 할당된 하드웨어 자원이 제2 자원 그룹의 특정 자원이면, 상기 가상화 처리 개체에 할당된 상기 특정 자원을 회수하여 자원이 축소되도록 제어하는 것을 특징으로 하는 가상화 환경에서의 자원 관리 방법을 지원하는 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160139345A KR20180045347A (ko) | 2016-10-25 | 2016-10-25 | 가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160139345A KR20180045347A (ko) | 2016-10-25 | 2016-10-25 | 가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180045347A true KR20180045347A (ko) | 2018-05-04 |
Family
ID=62199300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160139345A KR20180045347A (ko) | 2016-10-25 | 2016-10-25 | 가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20180045347A (ko) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102032521B1 (ko) * | 2018-12-26 | 2019-10-15 | 래블업(주) | 컨테이너 기반의 gpu 가상화 방법 및 시스템 |
CN111124660A (zh) * | 2018-11-01 | 2020-05-08 | 百度在线网络技术(北京)有限公司 | 虚拟机中闲置资源的分配方法和装置 |
CN112567470A (zh) * | 2018-08-28 | 2021-03-26 | 诺和诺德股份有限公司 | 用于提供基于药物剂量指导的容器以治疗糖尿病的系统和方法 |
US11042398B2 (en) | 2018-07-09 | 2021-06-22 | Samsung Electronics Co., Ltd. | System and method for guest operating system using containers |
KR20210077466A (ko) * | 2019-12-17 | 2021-06-25 | 건국대학교 산학협력단 | 동적 매니코어 파티셔닝 장치 및 방법 |
CN114385353A (zh) * | 2021-12-23 | 2022-04-22 | 中国电信股份有限公司 | 资源调度方法及装置、电子设备、存储介质 |
KR20220067757A (ko) * | 2020-11-18 | 2022-05-25 | (주) 글루시스 | 컨테이너 기반의 가상화 시스템 및 가상화 시스템에서 컨테이너의 자원을 확장하는 방법 |
WO2023096108A1 (ko) * | 2021-11-23 | 2023-06-01 | (주)글루시스 | 가상화 환경에서 데이터를 저장하는 방법 |
-
2016
- 2016-10-25 KR KR1020160139345A patent/KR20180045347A/ko not_active IP Right Cessation
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11042398B2 (en) | 2018-07-09 | 2021-06-22 | Samsung Electronics Co., Ltd. | System and method for guest operating system using containers |
CN112567470A (zh) * | 2018-08-28 | 2021-03-26 | 诺和诺德股份有限公司 | 用于提供基于药物剂量指导的容器以治疗糖尿病的系统和方法 |
CN111124660B (zh) * | 2018-11-01 | 2024-01-05 | 百度在线网络技术(北京)有限公司 | 虚拟机中闲置资源的分配方法和装置 |
CN111124660A (zh) * | 2018-11-01 | 2020-05-08 | 百度在线网络技术(北京)有限公司 | 虚拟机中闲置资源的分配方法和装置 |
WO2020075919A1 (ko) * | 2018-12-26 | 2020-04-16 | 래블업 주식회사 | 컨테이너 기반의 gpu 가상화 방법 및 시스템 |
JP2020537197A (ja) * | 2018-12-26 | 2020-12-17 | レブルアップ インコーポレーテッドLablup Inc. | コンテナに基づくgpu仮想化方法及びシステム |
KR102032521B1 (ko) * | 2018-12-26 | 2019-10-15 | 래블업(주) | 컨테이너 기반의 gpu 가상화 방법 및 시스템 |
US11221888B2 (en) | 2018-12-26 | 2022-01-11 | Lablup Inc. | Method and system for GPU virtualization based on container |
KR20210077466A (ko) * | 2019-12-17 | 2021-06-25 | 건국대학교 산학협력단 | 동적 매니코어 파티셔닝 장치 및 방법 |
KR20220067757A (ko) * | 2020-11-18 | 2022-05-25 | (주) 글루시스 | 컨테이너 기반의 가상화 시스템 및 가상화 시스템에서 컨테이너의 자원을 확장하는 방법 |
WO2022107932A1 (ko) * | 2020-11-18 | 2022-05-27 | (주)글루시스 | 컨테이너 기반의 가상화 시스템 및 가상화 시스템에서 컨테이너의 자원을 확장하는 방법 |
WO2023096108A1 (ko) * | 2021-11-23 | 2023-06-01 | (주)글루시스 | 가상화 환경에서 데이터를 저장하는 방법 |
CN114385353A (zh) * | 2021-12-23 | 2022-04-22 | 中国电信股份有限公司 | 资源调度方法及装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20180045347A (ko) | 가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치 | |
US10659318B2 (en) | Methods and apparatus related to management of unit-based virtual resources within a data center environment | |
US9852008B2 (en) | Computer-readable recording medium storing execution information notification program, information processing apparatus, and information processing system | |
US10241836B2 (en) | Resource management in a virtualized computing environment | |
EP2696284B1 (en) | Virtualized management method for hardware resources of communication device and relevant apparatus | |
US9183061B2 (en) | Preserving, from resource management adjustment, portions of an overcommitted resource managed by a hypervisor | |
US7689801B2 (en) | Method for distributing hypervisor memory requirements across logical partitions | |
CN104461735B (zh) | 一种虚拟化场景下分配cpu资源的方法和装置 | |
KR20110075295A (ko) | 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치 | |
KR20090079012A (ko) | 가상 머신의 상태를 저장, 복원하는 방법 및 장치 | |
JP2010277581A (ja) | 資源管理方法、資源管理プログラム、および、資源管理装置 | |
CN117480494A (zh) | 改进虚拟计算环境中资源分配的协调容器调度 | |
US8352702B2 (en) | Data processing system memory allocation | |
US11263054B2 (en) | Memory-aware placement for virtual GPU enabled systems | |
US20220253341A1 (en) | Memory-aware placement for virtual gpu enabled systems | |
KR101896497B1 (ko) | 성능 제어 방법 및 이를 위한 장치 | |
US20150169337A1 (en) | Intelligent virtual machine (vm) re-location | |
US9015418B2 (en) | Self-sizing dynamic cache for virtualized environments | |
KR102574043B1 (ko) | 클라우드 환경에서 컨테이너 기반의 gpu 자원 공유 방법 및 장치 | |
JP2017215884A (ja) | 仮想マシン配置装置およびリソース管理方法 | |
CN105677481A (zh) | 一种数据处理方法、系统及电子设备 | |
JP2010205208A (ja) | ホストコンピュータ、マルチパスシステム、パス割当方法およびプログラム | |
KR20130080587A (ko) | 매니 코어 시스템을 위한 운영체제 동적 재구성 장치 및 방법 | |
KR102053765B1 (ko) | 테넌트 기반의 동적 프로세서 할당 장치 및 그 방법 | |
JP6157719B2 (ja) | 計算機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X601 | Decision of rejection after re-examination |