KR102231359B1 - 고성능 클라우드 서비스를 위한 단일 가상화 시스템 및 프로세스 스케줄링 방법 - Google Patents

고성능 클라우드 서비스를 위한 단일 가상화 시스템 및 프로세스 스케줄링 방법 Download PDF

Info

Publication number
KR102231359B1
KR102231359B1 KR1020190139644A KR20190139644A KR102231359B1 KR 102231359 B1 KR102231359 B1 KR 102231359B1 KR 1020190139644 A KR1020190139644 A KR 1020190139644A KR 20190139644 A KR20190139644 A KR 20190139644A KR 102231359 B1 KR102231359 B1 KR 102231359B1
Authority
KR
South Korea
Prior art keywords
computing
node
load
computing nodes
service
Prior art date
Application number
KR1020190139644A
Other languages
English (en)
Inventor
김영현
송충건
손동주
임수현
정혜원
Original Assignee
주식회사 이노그리드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 이노그리드 filed Critical 주식회사 이노그리드
Priority to KR1020190139644A priority Critical patent/KR102231359B1/ko
Application granted granted Critical
Publication of KR102231359B1 publication Critical patent/KR102231359B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized 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)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)

Abstract

고성능 클라우드 서비스를 위한 단일 가상화 시스템 및 프로세스 스케줄링 방법이 개시된다. 본 발명의 일측면에 따른 고성능 클라우드 서비스를 위한 단일 가상화 시스템은 복수개의 컴퓨팅 노드들; 및 하이퍼바이저 계층에서 컨테이너 기반 자원 격리 기술을 이용하여 컴퓨팅 노드들의 자원을 이용한 가상화 단일 컴퓨팅 환경을 제공하는 가상화서버를 포함하되, 가상화서버는 프로세스 생성 시, 관련 클러스터에 연결된 컴퓨팅 노드들을 선택하고, 선택된 컴퓨팅 노드들의 부하량을 고려하여 프로세스를 분배한다.

Description

고성능 클라우드 서비스를 위한 단일 가상화 시스템 및 프로세스 스케줄링 방법{Single virtualization system for HPC cloud service and process scheduling method}
본 발명은 클라우드 서비스에 관한 것으로, 좀더 상세하게는 고성능 클라우드 서비스를 위한 단일 가상화 시스템 및 그 시스템에서의 프로세스 스케줄링 방법에 관한 것이다.
고성능 컴퓨팅 기술을 구현하는 방식으로는, 단일 컴퓨팅 장치의 하드웨어 성능을 높이는 스케일 업(scale-up) 방식과, 다수의 컴퓨팅 장치를 네트워크로 연결하여 컴퓨팅 파워를 높이는 스케일 아웃(scale-out) 방식이 있다.
네트워크 기술이 점점 더 발전하면서 다수의 컴퓨터를 연결하는 클러스터 구조에서 컴퓨터 사이의 상호작용에 대한 네트워크 오버헤드가 줄어들고 있는 추세이며, 최근 경제적 측면과 관리적 측면에서 효율성을 제공하는 스케일 아웃 방식의 단일 가상화 기술이 각광받고 있다.
단일 가상화란 다수의 컴퓨팅 장치를 네트워크로 연결하여 컴퓨팅 자원이 하나로 통합된 컴퓨팅 환경을 제공하는 기술이다.
종래 단일 가상화를 구현하는 방식으로서, 미들웨어 형태의 단일 가상화는 운영체제 위에서 서비스 형태의 미들웨어를 운영하여 작업을 부하분산하는 방식의 시스템 통합 방식이며, 특정 라이브러리나 도구에 종속된다. 운영체제 커널 레벨의 단일 가상화는 베어메탈 운영체제 내부에서 클러스터 범위의 자원관리 기술로서 운영된다. 가상 머신들의 클러스터링을 이용한 단일 가상화는 작업들의 종속관계 해결을 위해 사용자 영역과 커널 영역 사이에 가상화된 새로운 작업 관리 계층이 운영되는 방식이다.
대한민국 공개특허 제10-2019-0058619 (공개일자 2019년05월29일) 고성능 컴퓨팅 시스템 및 방법
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 가상화의 하이퍼바이저 계층에서 발생하는 오버헤드를 최소화하면서 이용이 편리한 단일 컴퓨팅 환경을 제공하는, 고성능 클라우드 서비스를 위한 단일 가상화 시스템을 제공하기 위한 것이다.
또한, 본 발명은 컴퓨팅 자원의 활용률을 최대로 높이고, 노드의 작업량을 고루 배분하여 물리적 수명을 높이는 클러스터 범위의 글로벌 스케줄링 방법을 제공하기 위한 것이다.
본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.
본 발명의 일 측면에 따르면, 복수개의 컴퓨팅 노드들; 및 하이퍼바이저 계층에서 컨테이너 기반 자원 격리 기술을 이용하여 상기 컴퓨팅 노드들의 자원을 이용한 가상화 단일 컴퓨팅 환경을 제공하는 가상화서버를 포함하되, 상기 가상화서버는 프로세스 생성 시, 관련 클러스터에 연결된 컴퓨팅 노드들을 선택하고, 선택된 컴퓨팅 노드들의 부하량을 고려하여 프로세스를 분배하는, 고성능 클라우드 서비스를 위한 단일 가상화 시스템이 제공된다.
여기서, 상기 컴퓨팅 노드들 중 하나인 리더노드는 서비스 형태로 동작하는 프로세스를 대상으로 주기적으로 부하를 검사하고, 특정 컴퓨팅 노드에 부하가 집중될 경우 상대적으로 부하가 적은 컴퓨팅 노드로 서비스형 프로세스를 분산한다.
또한, 상기 리더노드는 자신의 부하량이 임계값 이상이 되면, 부하량이 가장 적은 타 컴퓨팅 노드로 처리할 프로세스를 이주시킬 수 있다.
또한, 상기 리더노드는 부하량이 상기 임계값 이상인 상태에서 처리할 프로세스에 이주제한이 설정된 경우, 타 컴퓨팅 노드로 리더노드의 지위를 넘길 수 있다.
또한, 현재 부하량이 미리 설정된 임계값 미만인 컴퓨팅 노드들 중 평균부하량이 가장 적은 컴퓨팅 노드가 상기 리더노드의 지위를 넘겨받을 수 있다.
또한, 상기 리더노드는 상기 컴퓨팅 노드들 중 미리 설정된 최대임계값 이상이며 가장 높은 부하량을 갖는 컴퓨팅 노드를 예비노드로서 설정하여 예비노드의 모든 서비스형 프로세스를 타 컴퓨팅 노드들로 이주시키며, 차후 상기 최대임계값 이상의 부하량을 갖는 컴퓨팅 노드가 발생하면 상기 예비노드로 서비스형 프로세스 일부를 이주시킬 수 있다.
본 발명의 다른 측면에 따르면, 복수개의 컴퓨팅 노드들을 이용하여 가상화 단일 컴퓨팅 환경을 제공하는 단일 가상화 시스템에서 수행되는 프로세스 스케줄링 방법에 있어서, 프로세스 생성 시, 관련 클러스터에 연결된 컴퓨팅 노드들을 선택하는 단계; 선택된 컴퓨팅 노드들의 부하량을 고려하여 프로세스를 배분하는 단계; 및 컴퓨팅 노드들 중 하나인 리더노드가 서비스 형태로 동작하는 프로세스를 대상으로 주기적으로 각 컴퓨팅 노드들의 부하를 검사한 결과, 특정 컴퓨팅 노드에 부하가 집중될 경우 상대적으로 부하가 적은 컴퓨팅 노드로 서비스형 프로세스를 분산하는 단계를 포함하는, 단일 가상화 시스템에서의 프로세스 스케줄링 방법이 제공된다.
여기서, 상기 리더노드는 자신의 부하량이 임계값 이상이 되면, 부하량이 가장 적은 타 컴퓨팅 노드로 처리할 프로세스를 이주시키되, 처리할 프로세스에 이주제한이 설정된 경우엔 타 컴퓨팅 노드로 리더노드의 지위를 넘길 수 있다.
또한, 현재 부하량이 미리 설정된 임계값 미만인 컴퓨팅 노드들 중 평균부하량이 가장 적은 컴퓨팅 노드가 상기 리더노드의 지위를 넘겨받을 수 있다.
또한, 상기 리더노드는 상기 컴퓨팅 노드들 중 미리 설정된 최대임계값 이상이며 가장 높은 부하량을 갖는 컴퓨팅 노드를 예비노드로서 설정하여 예비노드의 모든 서비스형 프로세스를 타 컴퓨팅 노드들로 이주시키며, 차후 상기 최대임계값 이상의 부하량을 갖는 컴퓨팅 노드가 발생하면 상기 예비노드로 서비스형 프로세스 일부를 이주시킬 수 있다.
본 발명에 따르면, 가상화의 하이퍼바이저 계층에서 발생하는 오버헤드를 최소화하면서 이용이 편리한 단일 컴퓨팅 환경을 제공할 수 있다.
또한, 본 발명에 따르면 컴퓨팅 자원의 활용률을 최대로 높이고, 노드의 작업량을 고루 배분하여 물리적 수명을 높이는 클러스터 범위의 글로벌 스케줄링 방법을 제공한다.
도 1은 본 발명의 일 실시예에 따른 역가상화의 개념을 도시한 블록도.
도 2는 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 시스템을 개략적으로 도시한 블록도.
도 3은 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 서비스의 개략적인 과정을 도시한 흐름도.
도 4는 본 발명의 일 실시예에 따른 순가상화를 이용한 복수개의 뷰를 제공하는 경우의 컴퓨팅 자원 활용 과정을 도시한 흐름도.
도 5는 본 발명의 일 실시예에 따른 신규 컴퓨팅 노드 추가시의 처리 과정을 도시한 흐름도.
도 6은 본 발명의 일 실시예에 따른 컴퓨팅 노드의 장애에 대비한 분산 제어 과정을 도시한 흐름도.
도 7은 본 발명의 일 실시예에 따른 프로세스 스케줄링을 위해 컴퓨팅 노드들을 논리적으로 구분한 구성도.
도 8은 본 발명의 일 실시예에 따른 프로세스 스케줄링 과정을 도시한 흐름도.
도 9는 본 발명의 일 실시예에 따른 리더노드에서의 로드벨런싱 기능 관리 과정을 도시한 흐름도.
도 10은 본 발명의 일 실시예에 따른 리더노드에서의 예비노드 설정에 의한 프로세스 관리 과정을 도시한 흐름도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
제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는 본 발명의 일 실시예에 따른 순가상화를 이용한 복수개의 뷰를 제공하는 경우의 컴퓨팅 자원 활용 과정을 도시한 흐름도이다.
도 4를 참조하면, 가상화서버(30)가 복수개의 컴퓨팅 노드를 이용하여 가상화 단일 컴퓨팅 환경을 제공하면서, 동시에 순가상화를 이용하여 복수개의 어플리케이션 뷰를 제공하는 경우(즉, 단일 가상화 컴퓨팅 환경을 이용한 복수개의 가상화엔진을 구동), 어플리케이션별(즉, 가상화엔진) 메인노드를 선정한다(S410). 즉, 다수의 컴퓨팅 노드들 중 각 어플리케이션마다 메인노드들이 설정되는 것으로, 예를 들어 어플리케이션A에는 컴퓨팅 노드1~3이 메인노드로 선정되고 어플리케이션B에는 컴퓨팅 노드4~5가 메인노드로 선정된다. 이때 각 노드는 복수개의 어플리케이션에 대해 메인노드로 중복되어 선정될 수도 있다.
복수개의 어플리케이션 중 이용자의 수를 확인하고(S420), 미리 설정된 임계값 이상인지 여부를 판단한다(S430).
이용자 수가 임계값 이상인 경우, 많은 이용자가 존재하는 경우이므로 이때에는 메인노드만을 이용하여 각 어플리케이션을 서비스한다(S430).
이와 달리 만일 이용자 수가 임계값 미만인 경우 전체노드를 이용하여 서비스함으로써 적은 이용자에 대해서는 더욱 성능이 높은 컴퓨팅 환경을 제공한다(S450). 또는 이때에는 복수개의 어플리케이션이 제공되는 경우에는 그 어플리케이션 수에 맞게 컴퓨팅 노드들을 그룹화하고, 그룹별 서비스를 제공하도록 할 수도 있다.
본 실시예에서는 이용자 수만을 이용하였으나, 각 컴퓨팅 노드의 부하를 더 고려할 수 있는데, 예를 들어 컴퓨팅 노드들의 부평균적인 부하가 임계값 이상인 경우 전체노드를 이용하고, 임계값 미만인 경우에는 메인노드를 이용하여 해당 어플리케이션을 서비스한다.
이하 신규 컴퓨팅 노드의 추가 시의 처리 과정에 대해 설명한다.
도 5는 본 발명의 일 실시예에 따른 신규 컴퓨팅 노드 추가시의 처리 과정을 도시한 흐름도이다.
도 5를 참조하면, 가상화서버(30)는 각 컴퓨팅 노드들의 평균부하량을 산출하여 저장 관리한다(S510). 예를 들어, 하루동안 또는 한시간 단위의 부하량에 대한 평균부하량을 산출하여 저장할 수 있을 것이다. 또한 추가적으로 컴퓨팅 노드에서 처리하는 각 프로세스에 대한 프로세스별 부하량도 함께 관리한다. 예를 들어, 컴퓨팅 노드A에서 처리하는 프로세스가 a,b,c가 있을때, 프로세스 a,b,c 각각에 대한 평균적인 부하량을 산출하여 저장한다.
신규로 컴퓨팅 노드가 추가되는 경우, 신규컴퓨팅 노드의 자원을 확인한다(S520).
확인된 자원을 기반으로, 기존 컴퓨팅 노드들의 평균부하량을 이용하여 하나 이상의 컴퓨팅 노드를 선택하고(S530), 선택된 컴퓨팅 노드의 프로세스를 신규컴퓨팅 노드로 분배한다(S540). 예를 들어, 신규컴퓨팅 노드의 자원이 가장 낮은 수준이라 판단되면, 가장 평균부하량이 높은 기존 컴퓨팅 노드의 컨테이너에 할당된 프로세스의 일부를 신규컴퓨팅 노드로 분배한다. 또는 신규컴퓨팅 노드의 자원 수준이 가장 높다 판단되는 경우에는, 평균부하량이 높은 복수개의 기존 컴퓨팅 노드들의 프로세스들 중 일부를 분배하거나 또는, 가장 처리 부하가 높은 프로세스를 선별(상술한 바와 같은 프로세스별 부하량을 이용)하여 신규컴퓨팅 노드로 할당할 수도 있다.
본 실시예에 따르면, 신규로 컴퓨팅 노드가 추가되더라도, 가상화서버(30)에서 프로세스를 자동으로 분배하며, 더욱이 기존 컴퓨팅 노드들의 부하를 고려함으로써, 보다 빠른 처리가 가능하도록 한다.
도 6은 본 발명의 일 실시예에 따른 컴퓨팅 노드의 장애에 대비한 분산 제어 과정을 도시한 흐름도이다.
도 6을 참조하면, 가상화서버(30)는 각 컴퓨팅 노드들의 일정기간(예를 들어, 일주일 또는 한달 등) 동안의 평균부하량을 산출하여 저장 관리한다(S510). 평균부하량의 산출에 대해서는 상술하였으므로 중복되는 설명은 생략한다.
산출된 평균부하량을 미리 설정된 임계값과 비교하고(S620), 비교 결과로 임계값 이하의 컴퓨팅 노드가 존재하는지를 판단한다(S630). 평균부하량이 작은 즉, 거의 이용되지 않는 컴퓨팅 노드를 선별하기 위한 것이다.
판단 결과, 임계값 이하의 컴퓨팅 노드가 존재하지 않는 경우에는 기존대로 전체노드를 이용하여 서비스를 제공하고(S640), 다음 주기에 다시 S510부터 다시 프로세스를 진행한다.
이와 달리 임계값 이하의 컴퓨팅 노드가 존재하는 경우, 해당 컴퓨팅 노드를 예비노드로서 분류하여 단일 컴퓨팅 환경으로의 이용에서 배제시킨다(S650). 다시 말해, 잘 이용되지 않는 컴퓨팅 노드는 배제시키는 것이며, 해당 컴퓨팅 노드에서 처리되던 프로세스는 타 컴퓨팅 노드(예를 들어, 평균부하량이 가장 작은 컴퓨팅 노드)로 할당된다.
차후, 고장 등의 장애가 있는 컴퓨팅 노드가 발생되면, 장애 발생된 컴퓨팅 노드의 역할을 예비노드가 수행하도록 한다. 해당 장애가 복구되면 대행하던 예비노드는 단일 컴퓨팅 환경에서 배제되어 다시 예비노드로서 존재한다. 다른 일례에 따르면 장애 발생 컴퓨팅 노드가 예비노드로 전환되고, 기존 예비노드가 장애 발생 컴퓨팅 노드의 역할을 수행하도록 할 수도 있다.
본 실시예에 따르면, 부하가 적은 컴퓨팅 노드를 예비자원으로써 이용함으로써, 컴퓨팅 노드의 일부 장애에도 안전하게 서비스를 유지할 수 있게 된다.
도면에는 도시되지 않았으나, 일 실시예에 따르면 가상화서버는 컴퓨팅 노드들의 일정기간별 평균부하량을 산출하고, 평균부하량이 임계값 미만인 복수개의 컴퓨팅 노드들의 컨테이너에 할당된 프로세스를 하나의 컴퓨팅 노드로 합치고 나머지는 타 단일 컴퓨팅 환경에 이용할 수 있다. 즉, 임계값 미만인 컴퓨팅 노드가 복수개인 경우에는 단일 컴퓨팅 환경에서 배제하고, 타 단일 컴퓨팅 환경에 이용되도록 하는 것이며, 또는 잘 이용되지 않는 컴퓨팅 노드들만을 모아서 제2 단일 컴퓨팅 환경을 제공할 수도 있다.
이하에서는 프로세스 스케줄링 방법에 대해 상세히 설명하고자 한다.
도 7은 본 발명의 일 실시예에 따른 프로세스 스케줄링을 위해 컴퓨팅 노드들을 논리적으로 구분한 구성도이다.
도 7을 참조하면, 컴퓨팅 노드들 중 하나는 리더로드로서 로드벨런싱 기능을 수행하는데, 로드벨런싱은 각 컴퓨팅 노드들의 부하량에 따라 프로세스들을 관리하는 기능이다.
일례에 따르면, 리더노드는 서비스 형태로 동작하는 프로세스(이하 서비스형 프로세스)를 대상으로 주기적으로 부하를 검사하고, 특정 컴퓨팅 노드에 부하가 집중될 경우 상대적으로 부하가 적은 컴퓨팅 노드로 서비스 프로세스를 분산한다.
즉, 시스템 기능에 의한 프로세스는 가상화서버에서 각 컴퓨팅 노드들로 스케줄링하며, 리더노드는 서비스 형태의 프로세스를 대상으로 한다. 리더노드는 서비스 형태의 프로세스들이 특정한 컴퓨팅 노드에 집중되는 것으로 확인되면 해당 프로세스를 다른 컴퓨팅 노드(예를 들어, 현재 부하량이 가장 적은 노드를 선택)로 이주시키는 것이다.
또는, 리더노드는 각 컴퓨팅 노드들의 현재 부하량을 확인하고, 현재 부하량이 미리 설정된 임계값을 넘는 컴퓨팅 노드가 하나 이상 존재하는 경우, 해당 컴퓨팅 노드의 프로세스를 타 컴퓨팅 노드로 이주시킴으로써, 모든 컴퓨팅 노드들이 고른 부하량을 갖도록 제어한다.
도 8은 본 발명의 일 실시예에 따른 프로세스 스케줄링 과정을 도시한 흐름도이다.
도 8을 참조하면, 컴퓨팅 노드들 중 리더노드(10-1)는 서비스형 프로세스를 대상으로 주기적으로 각 컴퓨팅 노드들의 부하를 검사한다(S810).
검사결과로서 특정 컴퓨팅 노드에 서비스형 프로세스에 의한 부하가 집중되는지 여부를 판단하고(S820), 판단 결과에 따라 부하가 고르게 분산되는 경우 일반적인 처리를 수행하고(S830), 이와 달리 집중되는 컴퓨팅 노드가 존재하는 경우 상대적으로 부하가 적은 컴퓨팅 노드로 서비스형 프로세스를 이주시켜 분산한다(S840).
이로 인해, 임의의 컴퓨팅 노드에 서비스형 프로세스가 집중되어 부하가 커짐으로 인해 장애발생, 물리적 수명단축, 처리 능력 저하 등의 문제를 해결할 수 있다.
또한, 시스템 관련 프로세스의 경우 가상화서버(30)에서 처리하고, 서비스형 프로세스에 대해서는 컴퓨팅 노드 자체(즉 리더노드(10-1))에서 스케줄링함으로써, 스케줄링에 의한 과도한 부하발생의 위험을 제거할 수 있으며 보다 효과적으로 스케줄링을 처리할 수 있다.
도 9는 본 발명의 일 실시예에 따른 리더노드에서의 로드벨런싱 기능 관리 과정을 도시한 흐름도이다.
도 9를 참조하면, 리더노드는 자신의 부하량을 확인하고(S910), 미리 설정된 임계값 이상인지 여부를 판단한다(S920). 부하가 큰 경우 정상적으로 로드벨런싱 기능을 수행하지 못하게 되는 문제가 발생되는 것을 예방하기 위한 것이다.
임계값 이하라면, 리더노드로서의 지위를 유지한다(S930).
이와 달리 임계값 이상인 경우, 현재 자신이 처리할 프로세스(또는 처리중인 프로세스)가 이주제한이 걸려있는지 여부를 확인한다(S940).
특정한 서비스형 프로세스의 이주제한 설정은 사용자가 직접 설정하거나 가상화서버에 의해 필요시 설정될 수 있다.
만일, 프로세스에 이주제한이 설정되지 않은 경우에는 서비스형 프로세스를 타 컴퓨팅 노드(예를 들어 부하량이 가장 적은 컴퓨팅 노드 등)로 이주처리한다(S950).
이와 달리 이주제한이 설정된 경우에는, 타 컴퓨팅 노드로 리더노드의 지위를 넘긴다(S960). 이때, 현재 부하량이 미리 설정된 임계값 미만인 컴퓨팅 노드들 중 평균부하량(일정기간동안의 평균적인 부하량)이 가장 적은 컴퓨팅 노드가 리더노드의 지위를 넘겨받는다.
그리고, 만일 처리해야할 프로세스가 복수개이고 그 중 일부가 이주제한이 설정된 경우, 일례에 따르면 이주제한 프로세스를 제외한 나머지가 더 많은 경우엔 이주 처리를 수행하고, 이주제한 프로세스가 더 많은 경우엔 리더노드 지위를 넘기는 방식으로 처리할 수 있다.
도 10은 본 발명의 일 실시예에 따른 리더노드에서의 예비노드 설정에 의한 프로세스 관리 과정을 도시한 흐름도이다.
도 10을 참조하면, 리더노드는 각 컴퓨팅 노드들의 부하량을 확인하고(S1010), 컴퓨팅 노드들 중 미리 설정된 최대임계값 이상인 것을 존재하는지를 판단한다(S1020).
최대임계값 이상의 부하량을 갖는 컴퓨팅 노드가 존재하는 경우, 해당하는 컴퓨팅 노드를 예비노드로서 설정(복수인 경우 모두를 선택하거나 또는 그 중 가장 높은 부하량을 갖는 컴퓨팅 노드 하나만을 선정)하여 예비노드의 모든 서비스형 프로세스를 타 컴퓨팅 노드들로 이주시킨다(S1030). 차후 최대임계값 이상의 부하량을 갖는 또 다른 컴퓨팅 노드가 발생하면 예비노드로 서비스형 프로세스 일부를 이주시킴으로써 예비노드가 부하량이 큰 다른 컴퓨팅 노드의 프로세스를 일부 처리하도록 하여 부하를 분산시킨다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10 : 컴퓨팅 노드
30 : 가상화서버

Claims (10)

  1. 복수개의 컴퓨팅 노드들; 및
    하이퍼바이저 계층에서 컨테이너 기반 자원 격리 기술을 이용하여 상기 컴퓨팅 노드들의 자원을 함께 활용하여 고성능의 단일 컴퓨팅 환경을 가상화 방식으로서 제공하며, 프로세스 생성 시 관련 클러스터에 연결된 컴퓨팅 노드들을 선택하고 선택된 컴퓨팅 노드들의 부하량을 고려하여 프로세스를 분배하는 가상화서버를 포함하되,
    상기 가상화서버는 상기 컴퓨팅 노드들의 평균부하량을 산출하고, 상기 평균부하량이 설정된 임계값 미만인 복수개의 컴퓨팅 노드들에 대해, 각 컨테이너에 할당된 프로세스를 하나의 컴퓨팅 노드의 컨테이너에 합치고 나머지는 상기 단일 컴퓨팅 환경의 이용에서 배제하되, 배제된 컴퓨팅 노드 중 하나는 예비노드로서 상기 단일 컴퓨팅 환경에 이용중인 컴퓨팅 노드들 중 장애 발생된 컴퓨팅 노드의 역할을 대체하는데 이용하며,
    상기 컴퓨팅 노드들 중 하나인 리더노드는 서비스 형태로 동작하는 프로세스를 대상으로 주기적으로 부하를 검사하고, 특정 컴퓨팅 노드에 부하가 집중될 경우 상대적으로 부하가 적은 컴퓨팅 노드로 서비스형 프로세스를 분산하고,
    상기 리더노드는 상기 컴퓨팅 노드들 중 미리 설정된 최대임계값 이상이며 가장 높은 부하량을 갖는 컴퓨팅 노드에 대해 모든 서비스형 프로세스를 다른 컴퓨팅 노드들로 이주시키며, 차후 상기 최대임계값 이상의 부하량을 갖는 컴퓨팅 노드가 발생하면 서비스형 프로세스 일부를 이주받아 처리하도록 하는, 고성능 클라우드 서비스를 위한 단일 가상화 시스템.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 리더노드는 자신의 부하량이 임계값 이상이 되면, 부하량이 가장 적은 타 컴퓨팅 노드로 처리할 프로세스를 이주시키는, 고성능 클라우드 서비스를 위한 단일 가상화 시스템.
  4. 청구항 3에 있어서,
    상기 리더노드는 부하량이 상기 임계값 이상인 상태에서 처리할 프로세스에 이주제한이 설정된 경우, 타 컴퓨팅 노드로 리더노드의 지위를 넘기는, 고성능 클라우드 서비스를 위한 단일 가상화 시스템.
  5. 청구항 1에 있어서,
    현재 부하량이 미리 설정된 임계값 미만인 컴퓨팅 노드들 중 평균부하량이 가장 적은 컴퓨팅 노드가 상기 리더노드의 지위를 넘겨받는, 고성능 클라우드 서비스를 위한 단일 가상화 시스템.
  6. 삭제
  7. 복수개의 컴퓨팅 노드들을 이용하여 가상화 단일 컴퓨팅 환경을 제공하는 단일 가상화 시스템에서 수행되는 프로세스 스케줄링 방법에 있어서, 
    복수개의 컴퓨팅 노드들의 컴퓨팅 자원을 확인하는 단계;
    각 컴퓨팅 노드들의 확인된 자원을 기반으로, 하이퍼바이저 계층에서 컨테이너 기반 자원 격리 기술을 이용하여 상기 컴퓨팅 노드들의 자원을 함께 활용하여 고성능의 단일 컴퓨팅 환경을 가상화 방식으로서 제공하는 단계;
    프로세스 생성 시 관련 클러스터에 연결된 컴퓨팅 노드들을 선택하고 선택된 컴퓨팅 노드들의 부하량을 고려하여 프로세스를 분배하는 단계; 및
    컴퓨팅 노드들 중 하나인 리더노드가 서비스 형태로 동작하는 프로세스를 대상으로 주기적으로 각 컴퓨팅 노드들의 부하를 검사한 결과, 특정 컴퓨팅 노드에 부하가 집중될 경우 상대적으로 부하가 적은 컴퓨팅 노드로 서비스형 프로세스를 분산하는 단계를 포함하되,
    상기 컴퓨팅 노드들의 평균부하량을 산출하고, 상기 평균부하량이 설정된 임계값 미만인 복수개의 컴퓨팅 노드들에 대해, 각 컨테이너에 할당된 프로세스를 하나의 컴퓨팅 노드의 컨테이너에 합치고 나머지는 상기 단일 컴퓨팅 환경의 이용에서 배제하되, 배제된 컴퓨팅 노드 중 하나는 예비노드로서 상기 단일 컴퓨팅 환경에 이용중인 컴퓨팅 노드들 중 장애 발생된 컴퓨팅 노드의 역할을 대체하는데 이용하며,
    상기 리더노드는 상기 컴퓨팅 노드들 중 미리 설정된 최대임계값 이상이며 가장 높은 부하량을 갖는 컴퓨팅 노드에 대해 모든 서비스형 프로세스를 다른 컴퓨팅 노드들로 이주시키며, 차후 상기 최대임계값 이상의 부하량을 갖는 컴퓨팅 노드가 발생하면 서비스형 프로세스 일부를 이주받아 처리하도록 하는, 단일 가상화 시스템에서의 프로세스 스케줄링 방법.
  8. 청구항 7에 있어서,
    상기 리더노드는 자신의 부하량이 임계값 이상이 되면, 부하량이 가장 적은 타 컴퓨팅 노드로 처리할 프로세스를 이주시키되,
    처리할 프로세스에 이주제한이 설정된 경우엔 타 컴퓨팅 노드로 리더노드의 지위를 넘기는, 단일 가상화 시스템에서의 프로세스 스케줄링 방법.
  9. 청구항 8에 있어서,
    현재 부하량이 미리 설정된 임계값 미만인 컴퓨팅 노드들 중 평균부하량이 가장 적은 컴퓨팅 노드가 상기 리더노드의 지위를 넘겨받는, 단일 가상화 시스템에서의 프로세스 스케줄링 방법.
  10. 삭제
KR1020190139644A 2019-11-04 2019-11-04 고성능 클라우드 서비스를 위한 단일 가상화 시스템 및 프로세스 스케줄링 방법 KR102231359B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190139644A KR102231359B1 (ko) 2019-11-04 2019-11-04 고성능 클라우드 서비스를 위한 단일 가상화 시스템 및 프로세스 스케줄링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190139644A KR102231359B1 (ko) 2019-11-04 2019-11-04 고성능 클라우드 서비스를 위한 단일 가상화 시스템 및 프로세스 스케줄링 방법

Publications (1)

Publication Number Publication Date
KR102231359B1 true KR102231359B1 (ko) 2021-03-24

Family

ID=75256940

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190139644A KR102231359B1 (ko) 2019-11-04 2019-11-04 고성능 클라우드 서비스를 위한 단일 가상화 시스템 및 프로세스 스케줄링 방법

Country Status (1)

Country Link
KR (1) KR102231359B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230020052A (ko) * 2021-08-02 2023-02-10 주식회사 이노그리드 인공지능과 빅데이터 플랫폼에 의한 장애 예측을 이용한 멀티클라우드 서비스 방법 및 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101378348B1 (ko) * 2013-06-10 2014-03-27 남도정보통신(주) 프라이빗 클라우드 인프라 기반 하둡 클러스터의 기본 프로토타입
KR20150031502A (ko) * 2012-08-07 2015-03-24 어드밴스드 마이크로 디바이시즈, 인코포레이티드 클라우드 컴퓨팅 시스템들을 구성하는 시스템 및 방법
KR20180074136A (ko) * 2016-12-23 2018-07-03 경희대학교 산학협력단 데스크톱 가상화 환경에서의 컨테이너 자원할당 장치 및 방법
KR20190058619A (ko) 2016-10-05 2019-05-29 파르텍 클러스터 컴피턴스 센터 게엠베하 고성능 컴퓨팅 시스템 및 방법
KR20190070659A (ko) * 2017-12-13 2019-06-21 주식회사 넥스클라우드 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150031502A (ko) * 2012-08-07 2015-03-24 어드밴스드 마이크로 디바이시즈, 인코포레이티드 클라우드 컴퓨팅 시스템들을 구성하는 시스템 및 방법
KR101378348B1 (ko) * 2013-06-10 2014-03-27 남도정보통신(주) 프라이빗 클라우드 인프라 기반 하둡 클러스터의 기본 프로토타입
KR20190058619A (ko) 2016-10-05 2019-05-29 파르텍 클러스터 컴피턴스 센터 게엠베하 고성능 컴퓨팅 시스템 및 방법
KR20180074136A (ko) * 2016-12-23 2018-07-03 경희대학교 산학협력단 데스크톱 가상화 환경에서의 컨테이너 자원할당 장치 및 방법
KR20190070659A (ko) * 2017-12-13 2019-06-21 주식회사 넥스클라우드 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Orangetech, ‘Cloudit 3 제품 소개’, 2015.09.28. (출처: http://www.orangetech.co.kr/download/enterprise/cloudit_1602.pdf)* *
동아사이언스 뉴스기사, ‘사람만 선거하나? 컴퓨터도 선거한다’, 2016.04.18. (출처: http://dongascience.donga.com/news.php?idx=11589)* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230020052A (ko) * 2021-08-02 2023-02-10 주식회사 이노그리드 인공지능과 빅데이터 플랫폼에 의한 장애 예측을 이용한 멀티클라우드 서비스 방법 및 시스템
KR102614848B1 (ko) * 2021-08-02 2023-12-20 주식회사 이노그리드 인공지능과 빅데이터 플랫폼에 의한 장애 예측을 이용한 멀티클라우드 서비스 방법 및 시스템

Similar Documents

Publication Publication Date Title
US10601917B2 (en) Containerized high-performance network storage
US10514960B2 (en) Iterative rebalancing of virtual resources among VMs to allocate a second resource capacity by migrating to servers based on resource allocations and priorities of VMs
US11023330B2 (en) Efficient scheduling of backups for cloud computing systems
US10061619B2 (en) Thread pool management
US11106508B2 (en) Elastic multi-tenant container architecture
US7945913B2 (en) Method, system and computer program product for optimizing allocation of resources on partitions of a data processing system
US10977086B2 (en) Workload placement and balancing within a containerized infrastructure
US10387179B1 (en) Environment aware scheduling
US11537458B2 (en) Reducing service disruptions in a micro-service environment
CN110098946B (zh) 虚拟化网元设备的部署方法以及装置
Katyal et al. Application of selective algorithm for effective resource provisioning in cloud computing environment
US9197546B2 (en) System and method for providing a messaging cluster with hybrid partitions
US20220091874A1 (en) Method for optimizing the load balance in the cluster and framework thereof
Raj et al. Enhancement of hadoop clusters with virtualization using the capacity scheduler
US11726816B2 (en) Scheduling workloads on a common set of resources by multiple schedulers operating independently
Acharya et al. Docker container orchestration management: A review
US20220413902A1 (en) Partition migration with critical task prioritization
CN114546587A (zh) 一种在线图像识别服务的扩缩容方法及相关装置
KR102231359B1 (ko) 고성능 클라우드 서비스를 위한 단일 가상화 시스템 및 프로세스 스케줄링 방법
KR102231357B1 (ko) 고성능 클라우드 서비스를 위한 단일 가상화 시스템 및 소프트웨어 정의 서버 배포 스케줄링 방법
KR102231358B1 (ko) 고성능 클라우드 서비스를 위한 단일 가상화 방법 시스템
KR102413924B1 (ko) 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스 시스템에서의 프로세스 그룹 관리 방법 및 그 시스템
KR102413923B1 (ko) 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스 시스템에서의 전력효율을 위한 로드 밸런싱 방법 및 그 시스템
KR102378817B1 (ko) 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스의 네트워크 격리를 위한 동적 클러스터 구성 방법 및 시스템
US10097431B1 (en) Routing to tenant services utilizing a service directory

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant