KR102413922B1 - 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법 및 그 시스템 - Google Patents
복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법 및 그 시스템 Download PDFInfo
- Publication number
- KR102413922B1 KR102413922B1 KR1020200124987A KR20200124987A KR102413922B1 KR 102413922 B1 KR102413922 B1 KR 102413922B1 KR 1020200124987 A KR1020200124987 A KR 1020200124987A KR 20200124987 A KR20200124987 A KR 20200124987A KR 102413922 B1 KR102413922 B1 KR 102413922B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- computing
- computing nodes
- nodes
- network
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법 및 그 시스템이 개시된다. 본 발명의 일측면에 따른 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법은, 랙 단위로 그룹화되어 동일 그룹간에는 직접통신하며, 서로 다른 그룹간에는 네트워크로 통신하는 복수개의 컴퓨팅 노드들에 대한 사용여부 및 부하정보를 포함하는 노드정보를 저장관리하는 단계; 사용자 요청에 상응하는 필요 자원을 확인하는 단계; 및 필요 자원에 따라 노드정보를 기반으로 컴퓨팅 노드를 배정하되, 동일 랙의 컴퓨팅 노드를 우선하여 배정하는 단계를 포함한다.
Description
본 발명은 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법 및 그 시스템에 관한 것이다.
고성능 컴퓨팅 기술을 구현하는 방식으로는, 단일 컴퓨팅 장치의 하드웨어 성능을 높이는 스케일 업(scale-up) 방식과, 다수의 컴퓨팅 장치를 네트워크로 연결하여 컴퓨팅 파워를 높이는 스케일 아웃(scale-out) 방식이 있다.
네트워크 기술이 점점 더 발전하면서 다수의 컴퓨터를 연결하는 클러스터 구조에서 컴퓨터 사이의 상호작용에 대한 네트워크 오버헤드가 줄어들고 있는 추세이며, 최근 경제적 측면과 관리적 측면에서 효율성을 제공하는 스케일 아웃 방식의 단일 가상화 기술이 각광받고 있다.
단일 가상화란 다수의 컴퓨팅 장치를 네트워크로 연결하여 컴퓨팅 자원이 하나로 통합된 컴퓨팅 환경을 제공하는 기술이다.
종래 단일 가상화를 구현하는 방식으로서, 미들웨어 형태의 단일 가상화는 운영체제 위에서 서비스 형태의 미들웨어를 운영하여 작업을 부하분산하는 방식의 시스템 통합 방식이며, 특정 라이브러리나 도구에 종속된다. 운영체제 커널 레벨의 단일 가상화는 베어메탈 운영체제 내부에서 클러스터 범위의 자원관리 기술로서 운영된다. 가상 머신들의 클러스터링을 이용한 단일 가상화는 작업들의 종속관계 해결을 위해 사용자 영역과 커널 영역 사이에 가상화된 새로운 작업 관리 계층이 운영되는 방식이다.
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템를 위한 소프트웨어 정의 서버 배포 스케줄링 방법 및 그 시스템을 제공하기 위한 것이다.
또한, 본 발명은 복수의 컴퓨팅 노드를 이용함에 따른 네트워크 손실을 최소화기 위한 소프트웨어 정의 서버 배포 스케줄링 방법 및 그 시스템을 제공하기 위한 것이다.
본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.
본 발명의 일 측면에 따르면, 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법에 있어서, 랙 단위로 그룹화되어 동일 그룹간에는 직접통신하며, 서로 다른 그룹간에는 네트워크로 통신하는 복수개의 컴퓨팅 노드들에 대한 사용여부 및 부하정보를 포함하는 노드정보를 저장관리하는 단계; 사용자 요청에 상응하는 필요 자원을 확인하는 단계; 및 상기 필요 자원에 따라 상기 노드정보를 기반으로 컴퓨팅 노드를 배정하되, 동일 랙의 컴퓨팅 노드를 우선하여 배정하는 단계를 포함하는, 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법 및 그 방법을 실행하는 프로그램이 기록된 기록매체가 제공된다.
여기서, 각 컴퓨팅 노드들간의 상기 네트워크 통신에 따른 부하에 상응하는 네트워크 가중치를 산출하여 상기 노드정보로서 관리하고, 서로 다른 랙의 컴퓨팅 노드를 배정해야할 때 상기 네트워크 가중치를 이용하여 배정할 다른 랙의 노드를 선택한다.
또한, 상기 네트워크 가중치는 하기의 수학식 1에 의해 산출된다.
<수학식 1>
Tw(s,d)=Hn * Tc + L/b
{ Tw:노드간 지연 시간에 따른 가중치, s(source):시작노드, d(destination):도착노드, Hn:최종노드까지의 Hop개수, Tc:노드순회 지연시간, L:single packet length, b:channel bandwidth}
또한, 주기적으로 각 컴퓨팅 노드들에 대한 활용현황을 모니터링하고, 상기 활용현황에 따라 상기 네트워크 가중치를 조정하는 단계를 더 포함한다.
또한, 사용자에게 배정된 컴퓨팅 노드가 복수개의 랙에 위치한 경우, 주기적으로 랙의 수를 줄일 수 있는지에 대한 변경가능성 여부를 확인하는 단계; 및 확인 결과 변경가능성이 존재하는 경우 랙의 수를 줄이도록 컴퓨팅 노드의 재배정을 수행하는 단계를 더 포함한다.
또한, 상기 재배정을 수행함에 있어, 새로 배정할 컴퓨팅 노드로 신규 프로세스가 할당되도록 하며, 제외될 컴퓨팅 노드는 수행중인 프로세스가 완료된 이후 일정 시간 대기후 제외시킨다.
본 발명의 다른 측면에 따르면, 랙 단위로 그룹화되어 동일 그룹간에는 직접통신하며, 서로 다른 그룹간에는 네트워크로 통신하는 복수개의 컴퓨팅 노드들; 및 상기 컴퓨팅 노드들의 사용현황을 관리하여 사용자의 요청에 상응하는 컴퓨팅 노드를 배정하되, 동일 랙의 컴퓨팅 노드를 우선하여 배정하는 가상화서버를 포함한다.
여기서, 상기 가상화서버는 각 컴퓨팅 노드들간의 상기 네트워크 통신에 따른 부하에 상응하는 네트워크 가중치를 산출하고, 서로 다른 랙의 컴퓨팅 노드를 배정해야할 때 상기 네트워크 가중치를 이용하여 배정할 다른 랙의 노드를 선택한다.
또한, 상기 가상화서버는 주기적으로 각 컴퓨팅 노드들에 대한 활용현황을 모니터링하고, 상기 활용현황에 따라 상기 네트워크 가중치를 조정한다.
또한, 상기 가상화서버는 사용자에게 배정된 컴퓨팅 노드가 복수개의 랙에 위치한 경우, 주기적으로 랙의 수를 줄일 수 있는지에 대한 변경가능성 여부를 확인하고, 확인 결과 변경가능성이 존재하는 경우 랙의 수를 줄이도록 컴퓨팅 노드의 재배정을 수행한다.
본 발명에 따르면, 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법 및 그 시스템을 제공할 수 있다.
또한, 본 발명에 따르면은 복수의 컴퓨팅 노드를 이용함에 따른 네트워크 손실을 최소화는 소프트웨어 정의 서버 배포 스케줄링을 수행할 수 있다.
도 1은 본 발명의 일 실시예에 따른 역가상화의 개념을 도시한 블록도.
도 2는 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 시스템을 개략적으로 도시한 블록도.
도 3은 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 서비스의 개략적인 과정을 도시한 흐름도.
도 4는 본 발명의 일 실시예에 따른 서비스 계층의 사용자 쿼터 정책 개념을 도시한 도면.
도 5는 본 발명의 일 실시예에 따른 컴퓨팅 노드 선택 스케줄링 방식을 도시한 개념도.
도 6은 본 발명의 일 실시예에 따른 사용자의 요청에 상응하는 컴퓨팅 자원을 제공하기 위한 소프트웨어 정의 서버 배포 스케줄링 방식을 도시한 예시도.
도 7은 본 발명의 일 실시예에 따른 네트워크 가중치에 대한 정보를 도시한 테이블.
도 8은 본 발명의 일 실시예에 따른 네트워크 가중치를 이용한 사용자 정의 서버 배포 스케줄링 과정을 도시한 흐름도.
도 9는 본 발명의 일 실시예에 따른 컴퓨팅 노드의 재배정 과정을 도시한 흐름도.
도 2는 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 시스템을 개략적으로 도시한 블록도.
도 3은 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 서비스의 개략적인 과정을 도시한 흐름도.
도 4는 본 발명의 일 실시예에 따른 서비스 계층의 사용자 쿼터 정책 개념을 도시한 도면.
도 5는 본 발명의 일 실시예에 따른 컴퓨팅 노드 선택 스케줄링 방식을 도시한 개념도.
도 6은 본 발명의 일 실시예에 따른 사용자의 요청에 상응하는 컴퓨팅 자원을 제공하기 위한 소프트웨어 정의 서버 배포 스케줄링 방식을 도시한 예시도.
도 7은 본 발명의 일 실시예에 따른 네트워크 가중치에 대한 정보를 도시한 테이블.
도 8은 본 발명의 일 실시예에 따른 네트워크 가중치를 이용한 사용자 정의 서버 배포 스케줄링 과정을 도시한 흐름도.
도 9는 본 발명의 일 실시예에 따른 컴퓨팅 노드의 재배정 과정을 도시한 흐름도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 후술될 제1 임계값, 제2 임계값 등의 용어는 실질적으로는 각각 상이하거나 일부는 동일한 값인 임계값들로 미리 지정될 수 있으나, 임계값이라는 동일한 단어로 표현될 때 혼동의 여지가 있으므로 구분의 편의상 제1, 제2 등의 용어를 병기하기로 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 각 도면을 참조하여 설명하는 실시예의 구성 요소가 해당 실시예에만 제한적으로 적용되는 것은 아니며, 본 발명의 기술적 사상이 유지되는 범위 내에서 다른 실시예에 포함되도록 구현될 수 있으며, 또한 별도의 설명이 생략될지라도 복수의 실시예가 통합된 하나의 실시예로 다시 구현될 수도 있음은 당연하다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일하거나 관련된 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 본 발명의 일 실시예에 따른 역가상화의 개념을 도시한 블록도이고, 도 2는 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 시스템을 개략적으로 도시한 블록도이다.
도 1을 참조하면, 일반적인 클라우드 시스템은 하나의 컴퓨팅 노드에서 가상화엔진을 이용하여 다수개의 어플리케이션 뷰를 제공하는 방식이다.
이와 비교하여, 본 발명의 일실시예에 따른 가상화 방식은 다수의 컴퓨팅 노드의 자원을 이용하여 단일 컴퓨팅 환경을 제공하여 하나의 어플리케이션 뷰를 제공함으로써, 이용자는 다수 컴퓨팅 자원이 하나로 합쳐진 고성능 컴퓨팅 자원을 이용할 수 있게 된다.
물론, 차후 설명하겠으나, 본 실시예에 따른 역가상화 시스템에서도 상단에 순가상화엔진을 더 탑재하여 복수개의 뷰를 제공할 수도 있을 것이며, 이로 인해 복수개의 컴퓨팅 노드에 의한 고성능 컴퓨팅 자원을 이용한 가상화 클라우드 서비스를 제공할 수도 있다.
이를 위한 시스템 구성을 도시한 도 2를 참조하면, 단일 가상화 시스템은 복수개의 컴퓨팅 노드(10)들과, 하이퍼바이저 계층에서 컨테이너 기반 자원 격리 기술을 이용하여 컴퓨팅 노드(10)들의 자원을 이용한 가상화 단일 컴퓨팅 환경을 제공하는 가상화서버(30)를 포함한다. 본 실시예에서는 하이퍼바이저 계층에서 컨테이너를 이용한 방식을 하이퍼체인이라 칭하기로 한다. 즉, 하이퍼바이저 계층에서 컨테이너 기술을 이용하여 체인과 같이 각 컴퓨팅 노드들의 자원을 엮어 하나의 컴퓨팅 환경을 제공하는 것이다.
가상화서버(30)는 리눅스 커널 내부에서 컨테이너 기반 자원 격리 기술을 이용한다. 그리고, 리눅스 커널에서 클러스터 범위 자원 활용을 위한 작업 분배를 위한 관리자를 커널 모듈 형태로 운영한다. 일례에 따르면, 원격 메모리 접근 기술을 커널 내부 메모리 관리 코드의 수정으로 구현할 수 있다.
컨테이너 기술은 가장 대표적인 클라우드 네이티브 플랫폼으로 꼽힌다. 컨테이너는 오랫동안 리눅스 운영체제(OS)의 한 부분으로 존재해 왔다. 더 앞서는 유닉스 OS까지 거슬러 올라간다. 당초 [리눅스 컨테이너(LXC)]는 단일 컨트롤 호스트 상에서 여러 개의 고립된 리눅스 시스템(컨테이너)들을 실행하기 위한 운영시스템 레벨 가상화 방법으로 시작됐다. 당시 다른 OS 레벨 가상화에 비해 보안수준은 안전하지 않았다. 이후 최근에 와서 윈도 컨테이너도 운영되기 시작했다.
컨테이너는 간단히 말하면 OS위에 설치돼 그 위에 여러 개의 격리된 공간을 만드는 개념이다. VM웨어의 가상화 솔루션이 하드웨어 레벨에서 물리적인 컴퓨팅 자원을 쪼개어 쓰는 것이라면, 컨테이너는 OS레벨의 가상화다. 애플리케이션과 이를 실행하는 라이브러리, 바이너리, 구성파일 등을 하나로 묶었다.
즉, 실행환경 및 필요한 라이브러리 등을 하나의 패키지로 묶어 배포할 수 있도록 하는 SW 도구라고 할 수 있다. 컨테이너 이미지는 실행에 필요한 모든 이미지를 포함하고 있기 때문에 컴퓨팅 환경과 관계없이 어디서나 동일하게 실행될 수 있다. 마치 물류수송에서 컨테이너 박스를 활용해 사과나 바나나 같은 과일부터 신발, 노트북 등 다양한 품목을 운송수단 관계없이 표준화, 규격화시켜 관리하는 것과 비슷하다. IT에서의 컨테이너 기술 역시 애플리케이션 종류에 상관없이 이를 표준 이미지로 운영한다.
도커(Docker)는 리눅스 애플리케이션을 컨테이너에 배치시키는 것을 자동화해주는 도구(툴)인데, 가상화서버(30)는 이를 이용한다. 도커와 같은 컨테이너 기반으로 운영되는 서비스의 경우, 갑작스러운 수요 증가 시 컨테이너 이미지를 더 많은 컴퓨팅 자원에 배포해 늘어난 워크로드를 분산 실행할 수 있도록 한다.
그리고, 하이퍼바이저는 프로세서나 메모리와 같은 다양한 컴퓨터 자원에 서로 다른 각종 운영 체계(OS)의 접근 방법을 통제하는 얇은 계층의 소프트웨어이다. 다수의 OS를 하나의 컴퓨터 시스템에서 가동할 수 있게 하는 소프트웨어로 중앙 처리 장치(CPU)와 OS 사이에 일종의 중간웨어로 사용되며, 하나의 컴퓨터에서 서로 다른 OS를 사용하는 가상 컴퓨터를 만들 수 있는 효과적인 가상화 엔진이다.
리눅스 컨테이너 기술은 줄여서 LXC라고 부른다. 하나의 호스트에서 여러 개의 격리된 리눅스 시스템을 실행하는 가상화 기법이다. chroot 기술을 이용하여 독립된 컴퓨팅 운영 환경을 제공한다. 이러한 환경을 일반적으로 namespace라고 부르며, 다음 5가지로 구성된다.
-UTS namespace : hostname 을 변경하고 분할
-IPC namespace : Inter-process communication. 프로세스간 통신 격리
-PID namespace : PID (Process ID)를 분할 관리
-NS namepsace : file system 의 mount 지점을 분할하여 격리
-NET namespace : Network interface, iptables 등 network 리소스와 관련된 정보를 분할
-USER namespace : user와 group ID를 분할 격리
그리고 cgroup 기술을 이용하여 시스템 자원 사용을 격리한다. 컨테이너 단위로 작업을 처리할 CPU 코어를 지정할 수 있으며, 컨테이너가 사용하는 메모리 제한이 가능하다.
리눅스 컨테이너를 이용하는 장점은 자원을 동적으로 확장/축소가 가능하다. 그리고 동적 관리 기능을 제공하는 다른 가상화 기술 대비 연산 오버헤드가 적다. CPU-Intensive한 연산 수행에 성능 측면에서 차별화된 장점을 보인다.
컨테이터 기반 자원 격리 기술 및 하이퍼바이저는 당업자에게는 자명할 것이므로, 더욱 상세한 설명은 생략한다.
정리하자면, 가상화서버(30)는 가상화 기반 하이퍼바이저 계층에서 컨테이너 자원 격리 기술을 이용하여 복수개의 컴퓨팅 노드(10)의 자원을 이용한 단일 컴퓨팅 가상 환경을 제공하는 것이다.
가상화서버(30)는 어플리케이션의 실행을 위한 어플리케이션부와 각 컴퓨팅 노드(10)의 자원을 분산 활용하기 위한 분산처리부를 더 포함한다.
이하에서는 가상화 서버에서의 단일 가상화 방법에 대해 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 서비스의 개략적인 과정을 도시한 흐름도이다.
도 3을 참조하면, 가상화서버(30)는 관리하는 복수개의 컴퓨팅 노드(10)들의 컴퓨팅 자원을 확인한다(S310). 예를 들어 각 컴퓨팅 노드(10)들의 가용저장용량, CPU/메모리 사양 등일 수 있으며, 이는 당업자에게는 자명할 것이므로 더욱 상세한 설명은 생략한다.
가상화서버(30)는 각 컴퓨팅 노드(10)들의 확인된 자원을 기반으로, 하이퍼바이저 계층에서 리눅스 컨테이너 기반 자원 격리 기술을 이용하여 가상화 단일 컴퓨팅 환경을 구축한다(S320). 리눅스 컨테이너 기반 자원 격리 기술은 상술하였으므로 중복되는 설명은 생략한다.
여기서, 컴퓨팅 노드(10)들 중 하나는 리더노드로서 설정(도 7 참조)되며, 리더노드는 사용자에게 단일 가상화 환경을 제공하는 노드이다. 단일 가상화 환경에서는 리더노드의 컴퓨팅 자원과 함께 연결된 다른 모든 컴퓨팅 노드의 자원이 통합되어 보여진다. 사용자는 SSH(secure shell)나 VNC(virtual network computing)를 통해 컴퓨팅 환경에 접속하고 투명하게 제공된 글로벌 자원을 사용한다.
리더노드 외의 다른 컴퓨팅 노드들은 단일 가상화 환경에 자원 제공 목적으로 리눅스 컨테이너를 생성한다. 단순 자원 제공 목적으로 생성된 컨테이너이므로 각 컴퓨팅 노드가 가진 자원만 보여지며, 관리 목적의 SSH 서비스를 제공한다. 즉, 리더노드는 SSH 서비스, VNC 서비스 및 글로벌 작업 관리자의 기능을 제공하며, 나머지 컴퓨팅 노드들은 SSH 서비스만을 제공한다.
다시 도면을 참조하면, 이후 가상화서버(30)는 가상화 단일 컴퓨팅 환경을 이용한 클라우드 서비스를 유저들로 제공한다(S330). 이때 하나의 어플리케이션에 따른 뷰를 제공함으로써 고성능 클라우드 서비스를 제공할 수 있으며, 또는 상술한 바와 같이 도면에는 도시되지 않았으나 순가상화를 위한 가상화엔진을 이용하여 다수의 뷰를 제공할 수도 있을 것이다.
이하에서는 이러한 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템을 위한 가상화서버에서 수행되는 소프트웨어 정의 서버 배포 스케줄링 방식에 대해 상세히 설명하기로 한다. 즉, 사용자의 요청에 상응하는 컴퓨팅 자원을 제공하기 위해 제공된 컴퓨팅 노드들을 선정하는 방식인 소프트웨어 정의 서버 배포 스케줄링 방식에 대해 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따른 서비스 계층의 사용자 쿼터 정책 개념을 도시한 도면이고, 도 5는 본 발명의 일 실시예에 따른 컴퓨팅 노드 선택 스케줄링 방식을 도시한 개념도이다.
도 4를 참조하면, 본 실시예에 따른 가상화 단일 시스템은 사용자별 선택된 컴퓨팅 노드들을 이용하여 각각의 가상화 단일 컴퓨팅 환경을 제공한다. 즉, User A의 경우 컴퓨팅 노드2,3을, User B는 컴퓨팅 노드5를 이용하여 가상화 단일 컴퓨팅 환경을 제공하며, 관리자(admin)의 경우 모든 컴퓨팅 노드를 이용하도록 한다.
사용자마다 이용하는 컴퓨팅 노드를 제한함으로써, 컴퓨팅 자원의 무질서한 이용을 방지할 수 있다.
사용자별 컴퓨팅 노드를 설정하는 방식으로서, 일례를 도시한 도 5를 참조하면, 단일 컴퓨팅 시스템의 가상화서버(30)는 컴퓨팅 노드에 대한 리스트(Node pool)에서 각 컴퓨팅 노드들의 평균부하량 및/또는 할당된 프로세스를 참조하여 필터링함으로써 가용한 후보 노드(Candidate nodes)를 선정하여 사용자가 일부를 선택하도록 한다.
다른 일례에 따르면 사용자는 원하는 컴퓨팅 자원량을 요청하고, 단일 가상화 시스템에서 해당 요청 자원량에 대응되도록 컴퓨팅 노드를 할당할 수도 있다. 이하에서는 사용자의 요청에 따른 컴퓨팅 자원을 기반으로 필요한 컴퓨팅 노드를 자동 할당하는 방식을 위주로 설명하기로 한다.
도 6은 본 발명의 일 실시예에 따른 사용자의 요청에 상응하는 컴퓨팅 자원을 제공하기 위한 소프트웨어 정의 서버 배포 스케줄링 방식을 도시한 예시도이고, 도 7은 본 발명의 일 실시예에 따른 네트워크 가중치에 대한 정보를 도시한 테이블이다.
도 6을 참조하면, 일반적으로 컴퓨팅 노드들은 물리적으로 연결된 랙(Rack) 단위의 그룹으로 관리된다. 즉, 동일 랙의 컴퓨팅 노드들은 직접 통신함으로 인해 네트워크를 이용(타 랙간에는 네트워크로 통신됨)하는 경우에 비해 네트워크 부하(예를 들어, 통신 프로토콜 처리 부하, 네트워크 헤드 등에 따른 데이터 낭비 등)가 불필요하다. 이에 비해, 서로 다른 랙의 컴퓨팅 노드들이 배포되는 경우, 서로 네트워크로 통신함으로 인해 네트워크 부하가 발생된다.
따라서, 도면과 같이 가상화 서버(30, 본 실시예에서는 마스터 노드라 칭함)는 사용자의 요청에 따른 컴퓨팅 자원이 [cpu:8코어, meomry:20G]인 경우, 스케줄링 가능한 컴퓨팅 노드가 6개인 경우 최대한 동일 랙의 컴퓨팅 노드를 우선하여 배정하되, 필요 시에만 서로 다른 랙의 컴퓨팅 노드를 이용한다.
클러스터간의 프로세스 이동은 네트워크에 의존적이기 때문에, 클러스터 사이에 같은 랙(Rack)에 구성되는 것이 링크비용(Link cost)을 최소화할 수 있다. 다른 랙(Rack)의 서버가 같이 배포되면 네트워크 한 홉이 증가할 때마다 시스템의 성능 저하로 직결된다.
이를 위해, 서로 다른 랙의 컴퓨팅 노드를 이용해야 하는 경우 네트워크 부하에 따른 가중치를 이용하여 선정한다.
네트워크 가중치를 도시한 도 7을 함께 참조하면, 가상화 서버(30)는 세팅되면 각 컴퓨팅 노드에 대해 타 컴퓨팅 노드와의 네트워크 부하에 따른 가중치를 산출한다. 도면에서 네트워크 가중치가 0인 것은 동일한 랙에 존재하는 컴퓨팅 노드임을 알 수 있다. 네트워크 가중치가 4로 가장 높은 것은 네트워크 홉이 가장 많은 컴퓨팅 노드일 것이다.
노드간의 네트워크 가중치를 산출함에 있어, 일례에 따르면 아래 수학식1을 이용한다.
<수학식 1>
Tw(s,d)=Hn * Tc + L/b
(Tw:노드간 지연 시간에 따른 가중치, s(source):시작노드, d(destination):도착노드, Hn:최종노드까지의 Hop개수, Tc:노드순회 지연시간, L:single packet length, b:channel bandwidth}
따라서, 다른 랙의 컴퓨팅 노드를 선택해야 할때, 이 네트워크 가중치를 이용하여 가장 작은 네트워크 가중치를 갖는 컴퓨팅 노드들의 조합을 찾아 배정하는 것이다.
도 8은 본 발명의 일 실시예에 따른 네트워크 가중치를 이용한 사용자 정의 서버 배포 스케줄링 과정을 도시한 흐름도이다.
도 8을 참조하면, 각 컴퓨팅 노드들에 대한 네트워크 가중치를 산출하여 저장한다(S810). 네트워크 가중치는 가상화 서버가 세팅될때마다 새로이 산출할 수 있으며, 또한 필요 시 주기적으로 네트워크 가중치는 산출되어 갱신저장될 수 있다.
사용자 요청에 따른 필요 자원을 확인하고(S820), 배정 가능한 컴퓨팅 노드들 중 필요 자원을 만족하는 컴퓨팅 노드들을 선택하여 배정하며, 이때 동일 랙의 컴퓨팅 노드를 우선하여 배정한다(S830).
동일 랙의 컴퓨팅 노드를 우선 배정함에 따라 배정이 완료되었는지를 확인하고(S840), 완료된 경우 배정된 컴퓨팅 노드를 이용하여 사용자에게 단일 컴퓨팅 환경을 제공한다(S850).
이와 달리 동일 랙의 컴퓨팅 노드만드로 배정되지 못한 경우, 네트워크 가중치를 이용하여 적합한 복수 랙의 컴퓨팅 노드들을 활용하여 배정한다(S860). 여기서, S860에서는 최소한의 랙을 배정하기 위해, S860과 S840을 배정완료 시까지 반복하여 랙의 수를 점차 늘리는 방식을 이용한다.
여기서, 도면에는 도시되지 않았으나, 가상화 서버(30)는 주기적으로 각 컴퓨팅 노드들에 대한 활용현황을 모니터링하고, 활용현황에 따라 네트워크 가중치를 조정하는 과정을 수행할 수 있다. 도 7을 함께 참조하여 예를 들면, 노드1과 노드4는 가끔 서로 함께 배정되는데, 그에 비해 노드3에 대한 배정률이 떨어지면 노드3에 대한 네트워크 가중치를 3.5와 같이 일부 조정하여 활용도를 높이는 것이다.
본 실시예에 따르면, 가상화서버(30)는 노드를 배포함에 있어 노드를 선택하는 기준으로서, 노드들의 상태(네트워크 상태 등을 포함)를 인지하는 개념을 제공함으로써, 시스템 어웨어(system aware)라는 용어를 제안한다.
도 9는 본 발명의 일 실시예에 따른 컴퓨팅 노드의 재배정 과정을 도시한 흐름도이다.
도 9를 참조하면, 사용자에게 배정된 컴퓨팅 노드가 복수개의 랙에 위치한 경우, 주기적으로 컴퓨팅 노드들의 활용현황에 대해 모니터링함으로써(S910), 랙의 수를 줄일 수 있는지에 대한 배정 변경가능성 여부를 확인한다(S920).
이해의 편의를 위한 예를 들면, 사용자A에게 랙1(총 4개의 노드가 존재)의 노드1과 노드3 및 랙2의 노드5가 배포된 상태인 경우, 랙1의 노드 2 및 노드4 중 노드4가 노드5와 대체가 가능한 자원인 경우, 노드4가 활용할 수 있는지 여부를 확인함으로써, 배정 변경가능성 여부를 확인한다.
변경가능성이 존재하는지를 판단하고(S930), 가능한 경우 랙의 수를 줄이도록 컴퓨팅 노드를 재배정한다(S940).
이때, 재배정을 수행함에 있어, 새로 배정할 컴퓨팅 노드로 신규 프로세스가 할당되도록 하며, 제외될 컴퓨팅 노드는 수행중인 프로세스가 완료된 이후 제외시킨다. 또한 제외 시, 일정 시간을 대기한 이후 제외시킴으로써, 프로세스 중간멈춤, 프로세스 누락 등의 문제를 해소한다.
상술한 본 발명에 따른 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
또한, 상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10 : 컴퓨팅 노드
30 : 가상화서버
30 : 가상화서버
Claims (11)
- 가상화서버에서 수행되는 복수의 컴퓨팅 노드를 이용한 클라우드 서비스를 제공하는 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법에 있어서,
랙 단위로 그룹화되어 동일 그룹간에는 직접통신하며, 서로 다른 그룹간에는 네트워크로 통신하는 복수개의 컴퓨팅 노드들에 대한 사용여부 및 부하정보를 포함하는 노드정보를 저장관리하는 단계;
사용자 요청에 상응하는 필요 자원을 확인하는 단계; 및
상기 필요 자원에 따라 상기 노드정보를 기반으로 컴퓨팅 노드를 배정하되, 동일 랙의 컴퓨팅 노드를 우선하여 배정하는 단계를 포함하되,
각 컴퓨팅 노드들간의 상기 네트워크 통신에 따른 부하에 상응하는 네트워크 가중치를 하기의 수학식 1에 의해 산출하여 상기 노드정보로서 관리하고, 서로 다른 랙의 컴퓨팅 노드를 배정해야할 때 상기 네트워크 가중치를 이용하여 배정할 다른 랙의 노드를 선택하는, 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법.
<수학식 1>
Tw(s,d)=Hn * Tc + L/b
(Tw:노드간 지연 시간에 따른 가중치, s(source):시작노드, d(destination):도착노드, Hn:최종노드까지의 Hop개수, Tc:노드순회 지연시간, L:single packet length, b:channel bandwidth}
- 삭제
- 삭제
- 청구항 1에 있어서,
주기적으로 각 컴퓨팅 노드들에 대한 활용현황을 모니터링하고, 상기 활용현황에 따라 상기 네트워크 가중치를 조정하는 단계를 더 포함하는, 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법.
- 청구항 1에 있어서,
사용자에게 배정된 컴퓨팅 노드가 복수개의 랙에 위치한 경우, 주기적으로 랙의 수를 줄일 수 있는지에 대한 변경가능성 여부를 확인하는 단계; 및
확인 결과 변경가능성이 존재하는 경우 랙의 수를 줄이도록 컴퓨팅 노드의 재배정을 수행하는 단계를 더 포함하는, 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법.
- 청구항 5에 있어서,
상기 재배정을 수행함에 있어,
새로 배정할 컴퓨팅 노드로 신규 프로세스가 할당되도록 하며, 제외될 컴퓨팅 노드는 수행중인 프로세스가 완료된 이후 일정 시간 대기후 제외시키는, 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법.
- 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법을 수행하도록 하는 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은,
랙 단위로 그룹화되어 동일 그룹간에는 직접통신하며, 서로 다른 그룹간에는 네트워크로 통신하는 복수개의 컴퓨팅 노드들에 대한 사용여부 및 부하정보를 포함하는 노드정보를 저장관리하는 단계;
사용자 요청에 상응하는 필요 자원을 확인하는 단계; 및
상기 필요 자원에 따라 상기 노드정보를 기반으로 컴퓨팅 노드를 배정하되, 동일 랙의 컴퓨팅 노드를 우선하여 배정하는 단계를 포함하되,
각 컴퓨팅 노드들간의 상기 네트워크 통신에 따른 부하에 상응하는 네트워크 가중치를 하기의 수학식 1에 의해 산출하여 상기 노드정보로서 관리하고, 서로 다른 랙의 컴퓨팅 노드를 배정해야할 때 상기 네트워크 가중치를 이용하여 배정할 다른 랙의 노드를 선택하는, 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램.
<수학식 1>
Tw(s,d)=Hn * Tc + L/b
(Tw:노드간 지연 시간에 따른 가중치, s(source):시작노드, d(destination):도착노드, Hn:최종노드까지의 Hop개수, Tc:노드순회 지연시간, L:single packet length, b:channel bandwidth}
- 랙 단위로 그룹화되어 동일 그룹간에는 직접통신하며, 서로 다른 그룹간에는 네트워크로 통신하는 복수개의 컴퓨팅 노드들; 및
상기 컴퓨팅 노드들의 사용현황을 관리하여 사용자의 요청에 상응하는 컴퓨팅 노드를 배정하되, 동일 랙의 컴퓨팅 노드를 우선하여 배정하는 가상화서버를 포함하되,
상기 가상화서버는 각 컴퓨팅 노드들간의 상기 네트워크 통신에 따른 부하에 상응하는 네트워크 가중치를 하기의 수학식1에 의해 산출하고, 서로 다른 랙의 컴퓨팅 노드를 배정해야할 때 상기 네트워크 가중치를 이용하여 배정할 다른 랙의 노드를 선택하는, 단일 가상화 시스템.
<수학식 1>
Tw(s,d)=Hn * Tc + L/b
(Tw:노드간 지연 시간에 따른 가중치, s(source):시작노드, d(destination):도착노드, Hn:최종노드까지의 Hop개수, Tc:노드순회 지연시간, L:single packet length, b:channel bandwidth}
- 삭제
- 청구항 8에 있어서,
상기 가상화서버는 주기적으로 각 컴퓨팅 노드들에 대한 활용현황을 모니터링하고, 상기 활용현황에 따라 상기 네트워크 가중치를 조정하는, 단일 가상화 시스템.
- 청구항 8에 있어서,
상기 가상화서버는 사용자에게 배정된 컴퓨팅 노드가 복수개의 랙에 위치한 경우, 주기적으로 랙의 수를 줄일 수 있는지에 대한 변경가능성 여부를 확인하고, 확인 결과 변경가능성이 존재하는 경우 랙의 수를 줄이도록 컴퓨팅 노드의 재배정을 수행하는, 단일 가상화 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200124987A KR102413922B1 (ko) | 2020-09-25 | 2020-09-25 | 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법 및 그 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200124987A KR102413922B1 (ko) | 2020-09-25 | 2020-09-25 | 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법 및 그 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220041575A KR20220041575A (ko) | 2022-04-01 |
KR102413922B1 true KR102413922B1 (ko) | 2022-06-29 |
Family
ID=81183351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200124987A KR102413922B1 (ko) | 2020-09-25 | 2020-09-25 | 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법 및 그 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102413922B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012203421A (ja) | 2011-03-23 | 2012-10-22 | Nippon Telegraph & Telephone West Corp | 情報処理方法、管理サーバおよび管理プログラム |
JP2016082519A (ja) | 2014-10-21 | 2016-05-16 | Kddi株式会社 | 仮想ネットワーク割当方法および装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9317336B2 (en) * | 2011-07-27 | 2016-04-19 | Alcatel Lucent | Method and apparatus for assignment of virtual resources within a cloud environment |
US8887056B2 (en) * | 2012-08-07 | 2014-11-11 | Advanced Micro Devices, Inc. | System and method for configuring cloud computing systems |
RU2646323C2 (ru) * | 2014-02-27 | 2018-03-02 | Интел Корпорейшн | Технологии для выделения конфигурируемых вычислительных ресурсов |
CA3035459C (en) | 2016-10-05 | 2023-02-21 | Partec Cluster Competence Center Gmbh | High performance computing system and method |
-
2020
- 2020-09-25 KR KR1020200124987A patent/KR102413922B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012203421A (ja) | 2011-03-23 | 2012-10-22 | Nippon Telegraph & Telephone West Corp | 情報処理方法、管理サーバおよび管理プログラム |
JP2016082519A (ja) | 2014-10-21 | 2016-05-16 | Kddi株式会社 | 仮想ネットワーク割当方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20220041575A (ko) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11106508B2 (en) | Elastic multi-tenant container architecture | |
US11392400B2 (en) | Enhanced migration of clusters based on data accessibility | |
US10630765B2 (en) | Multi-priority service instance allocation within cloud computing platforms | |
US8261281B2 (en) | Optimizing allocation of resources on partitions of a data processing system | |
US11231955B1 (en) | Dynamically reallocating memory in an on-demand code execution system | |
US9183016B2 (en) | Adaptive task scheduling of Hadoop in a virtualized environment | |
US9052932B2 (en) | Hybrid virtual machine configuration management | |
US10977086B2 (en) | Workload placement and balancing within a containerized infrastructure | |
US9003002B2 (en) | Efficient port management for a distributed network address translation | |
US10908940B1 (en) | Dynamically managed virtual server system | |
JP2001134453A (ja) | コンピュータ環境の区画のグループを管理する方法、システム、およびプログラム製品 | |
CN104937584A (zh) | 基于共享资源的质量向经优先级排序的虚拟机和应用程序提供优化的服务质量 | |
CN117480494A (zh) | 改进虚拟计算环境中资源分配的协调容器调度 | |
US20180254999A1 (en) | Multidimensional resource allocation in data centers | |
US20200394071A1 (en) | Systems and methods for cluster resource balancing in a hyper-converged infrastructure | |
CN114546587A (zh) | 一种在线图像识别服务的扩缩容方法及相关装置 | |
US20110153971A1 (en) | Data Processing System Memory Allocation | |
KR102413923B1 (ko) | 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스 시스템에서의 전력효율을 위한 로드 밸런싱 방법 및 그 시스템 | |
KR101896497B1 (ko) | 성능 제어 방법 및 이를 위한 장치 | |
US20060095708A1 (en) | Apparatus and method for parallel installation of logical partitions | |
US11561843B2 (en) | Automated performance tuning using workload profiling in a distributed computing environment | |
KR102413924B1 (ko) | 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스 시스템에서의 프로세스 그룹 관리 방법 및 그 시스템 | |
KR102413922B1 (ko) | 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스를 제공하는 단일 가상화 시스템을 위한 소프트웨어 정의 서버 배포 스케줄링 방법 및 그 시스템 | |
US11513860B2 (en) | Serverless function colocation with storage pools | |
KR102378817B1 (ko) | 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스의 네트워크 격리를 위한 동적 클러스터 구성 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |