KR20230068055A - Arm 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템 및 운영방법 - Google Patents

Arm 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템 및 운영방법 Download PDF

Info

Publication number
KR20230068055A
KR20230068055A KR1020210153954A KR20210153954A KR20230068055A KR 20230068055 A KR20230068055 A KR 20230068055A KR 1020210153954 A KR1020210153954 A KR 1020210153954A KR 20210153954 A KR20210153954 A KR 20210153954A KR 20230068055 A KR20230068055 A KR 20230068055A
Authority
KR
South Korea
Prior art keywords
custom
nodes
board
performance cloud
cloud system
Prior art date
Application number
KR1020210153954A
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 KR1020210153954A priority Critical patent/KR20230068055A/ko
Publication of KR20230068055A publication Critical patent/KR20230068055A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/18Packaging or power distribution
    • G06F1/183Internal mounting support structures, e.g. for printed circuit boards, internal connecting means
    • G06F1/185Mounting of expansion boards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/1735Network adapters, e.g. SCI, Myrinet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7896Modular architectures, e.g. assembled from a number of identical packages
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

ARM 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템 및 운영방법이 개시된다. 본 발명의 일측면에 따른 복수의 컴퓨팅 노드를 이용한 클러스터를 구성하여 단일 가상화 방식의 고성능 클라우드 서비스를 제공하는 고성능 클라우드 시스템은, ARM 프로세서 기반의 복수개의 커스텀 노드; 커스텀 노드가 착탈 방식으로 결합되며, 결합된 커스텀 노드들간의 통신을 위한 PCIE 칩이 구성된 커스텀 보드; 및 커스텀 보드와 통신하여 결합된 커스텀 노드들을 클러스터 단위로 이용하여 단일 가상화 서비스를 제공하는 가상화 서버를 포함한다.

Description

ARM 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템 및 운영방법{ARM processor computing node-based board-type high-performance cloud system and operation method}
본 발명은 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 시스템에 관한 것으로, 더욱 상세하게는 ARM 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템 및 운영방법에 관한 것이다.
고성능 컴퓨팅 기술을 구현하는 방식으로는, 단일 컴퓨팅 장치의 하드웨어 성능을 높이는 스케일 업(scale-up) 방식과, 다수의 컴퓨팅 장치를 네트워크로 연결하여 컴퓨팅 파워를 높이는 스케일 아웃(scale-out) 방식이 있다. 
네트워크 기술이 점점 더 발전하면서 다수의 컴퓨터를 연결하는 클러스터 구조에서 컴퓨터 사이의 상호작용에 대한 네트워크 오버헤드가 줄어들고 있는 추세이며, 최근 경제적 측면과 관리적 측면에서 효율성을 제공하는 스케일 아웃 방식의 단일 가상화 기술이 각광받고 있다.
단일 가상화란 다수의 컴퓨팅 장치를 네트워크로 연결하여 컴퓨팅 자원이 하나로 통합된 컴퓨팅 환경을 제공하는 기술이다.
소프트웨어 정의서버는 역가상화 기술을 기반으로 Scale OUT 방식을 통해 구성된 고성능 클러스터이다. Scale Out은 장비의 공간적 제약사항을 회피 해야 하며, 소프트웨어 정의서버를 배포하여 고성능 클라우드 서비스를 제공하기 위해 사용자의 요구사항에 적합한 노드의 조합으로 클러스터링 되어야 한다.
대한민국 공개특허 제10-2019-0058619 (공개일자 2019년05월29일) 고성능 컴퓨팅 시스템 및 방법
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 고성능 클라우드 시스템 구조를 마이크로 데이터센터에 최적화하여 설계하여 클라우드 서비스 데이터 센터 운영비를 절감할 수 있는, ARM 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템 및 운영방법을 제공하기 위한 것이다.
또한, 본 발명은 고성능 클라우드 서비스를 위한 컴퓨팅 노드들에 대한 축소 또는 확장의 편의성을 제공하기 위한 ARM 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템 및 운영방법을 제공하기 위한 것이다.
또한, 본 발명은 집적화된 컴퓨팅 노드들의 부하에 의한 장애발생을 예방할 수 있는 ARM 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템 및 운영방법을 제공하기 위한 것이다.
본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.
본 발명의 일 측면에 따르면, 복수의 컴퓨팅 노드를 이용한 클러스터를 구성하여 단일 가상화 방식의 고성능 클라우드 서비스를 제공하는 고성능 클라우드 시스템에 있어서, ARM 프로세서 기반의 복수개의 커스텀 노드; 상기 커스텀 노드가 착탈 방식으로 결합되며, 결합된 커스텀 노드들간의 통신을 위한 PCIE 칩이 구성된 커스텀 보드; 및 상기 커스텀 보드와 통신하여 결합된 커스텀 노드들을 클러스터 단위로 이용하여 단일 가상화 서비스를 제공하는 가상화 서버를 포함하는, ARM 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템이 제공된다.
여기서, 상기 커스텀 보드는 상기 커스텀 노드가 결합되는 복수개의 PCIE 어댑터; 및 결합된 커스텀 노드가 외부 통신을 수행하기 위한 네트워크 인터페이스를 포함한다.
또한, 상기 커스텀 보드는 상기 PCIE 어댑터에 대응되는 위치에 구비되는 온도센서; 및 상기 가상화 서버가 상기 온도센서에 의한 측정값을 이용하여 대응된 커스텀 노드의 부하량을 예측하도록, 상기 측정값에 대한 정보를 상기 가상화 서버로 제공하는 제어모듈을 더 포함한다.
또한, 상기 온도센서는 일정개수 단위로 블록화된 PCIE 어댑터들마다 하나씩 대응되도록 구비하여 블록별 온도값을 출력하며, 상기 가상화 서버는 측정된 블록별 온도값과 대응된 커스텀 노드들의 구동여부에 대한 정보를 이용하여 구동중인 커스텀 노드들의 부하량을 예측한다.
또한, 상기 가상화 서버는 클러스터를 구성할 때, 상기 온도센서에 의해 구분되는 블록정보를 이용하여 서로 다른 블록의 커스텀 노드들을 우선하여 선택한다.
또한, 상기 가상화 서버는 클러스터를 구성할 때 가장 이격거리가 멀게 결합된 커스텀 노드들을 우선하여 선택한다.
본 발명의 다른 측면에 따르면, 보드에 착탈 방식으로 결합된 복수 컴퓨팅 노드를 이용하여 단일 가상화 고성능 클라우드 서비스를 제공하는 보드형 고성능 클라우드 시스템에서의 운영방법에 있어서, 복수개의 커스텀 노드를 이용하여 클러스터를 구성하는 단계; 상기 클러스터에 따른 운영노드들을 구동하여 고성능 클라우드 서비스를 제공하는 단계; 상기 운영노드들이 결합된 위치에 대응되도록 보드에 구비된 온도센서에 의한 측정온도값을 수시로 취득하고, 측정된 온도값을 이용하여 대응된 운영노드의 부하량을 예측하는 단계; 및 상기 부하량의 예측 결과를 기반으로 운영노드들의 프로세스를 제어하는 단계를 포함하는, 보드형 고성능 클라우드 시스템에서의 운영방법 및 그 방법을 실행하는 프로그램이 기록된 기록매체가 제공된다.
여기서, 상기 온도센서는 일정개수 단위로 블록화된 커스텀 노드들에 대응하여 하나씩 구비되며, 블록별 온도값과 대응된 커스텀 노드들의 구동여부에 대한 정보를 더 이용하여 상기 운영노드들의 부하량을 예측한다.
또한, 상기 클러스터를 구성할 때, 상기 온도센서에 의에 의해 구분되는 블록정보를 이용하여 서로 다른 블록의 커스텀 노드들을 우선하여 선택한다.
본 발명에 따르면, 고성능 클라우드 시스템 구조를 마이크로 데이터센터에 최적화 하여 설계된 서버를 구축함으로써 클라우드 시스템의 데이터 센터 운영비를 절감할 수 있다.
또한, 본 발명에 따르면 컴퓨팅 노드들인 ARM프로세서 기반의 커스텀 노드를 탈부착 방식으로 구축함으로써, 축소 또는 확장의 편의성을 제공할 수 있다.
또한, 본발명에 따르면 보드형으로 집적화된 컴퓨팅 노드들의 온도 체크에 의한 부하를 모니터링함으로써 장애발생 등의 문제를 예방할 수 있다.
도 1은 본 발명의 일 실시예에 따른 역가상화의 개념을 도시한 블록도.
도 2는 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 시스템을 개략적으로 도시한 블록도.
도 3은 본 발명의 일 실시예에 따른 고성능 클라우드 서비스를 위한 단일 가상화 서비스의 개략적인 과정을 도시한 흐름도.
도 4는 본 발명의 일 실시예에 따른 ARM 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템의 개략적인 구성을 도시한 구성도.
도 5는 본 발명의 일 실시예에 따른 커스텀 보드의 구성을 도시한 기능블록도.
도 6은 본 발명의 일 실시예에 따른 ARM 프로세서 기반의 커스텀 노드와 커스텀 보드의 실물을 예시한 영상.
도 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)들 중 하나는 리더노드로서 설정되며, 리더노드는 사용자에게 단일 가상화 환경을 제공하는 노드이다. 단일 가상화 환경에서는 리더노드의 컴퓨팅 자원과 함께 연결된 다른 모든 컴퓨팅 노드의 자원이 통합되어 보여진다. 사용자는 SSH(secure shell)나 VNC(virtual network computing)를 통해 컴퓨팅 환경에 접속하고 투명하게 제공된 글로벌 자원을 사용한다. 
리더노드 외의 다른 컴퓨팅 노드들은 단일 가상화 환경에 자원 제공 목적으로 리눅스 컨테이너를 생성한다. 단순 자원 제공 목적으로 생성된 컨테이너이므로 각 컴퓨팅 노드가 가진 자원만 보여지며, 관리 목적의 SSH 서비스를 제공한다. 즉, 리더노드는 SSH 서비스, VNC 서비스 및 글로벌 작업 관리자의 기능을 제공하며, 나머지 컴퓨팅 노드들은 SSH 서비스만을 제공한다.
다시 도면을 참조하면, 이후 가상화서버(30)는 가상화 단일 컴퓨팅 환경을 이용한 클라우드 서비스를 유저들로 제공한다(S330). 이때 하나의 어플리케이션에 따른 뷰를 제공함으로써 고성능 클라우드 서비스를 제공할 수 있으며, 또는 상술한 바와 같이 도면에는 도시되지 않았으나 순가상화를 위한 가상화엔진을 이용하여 다수의 뷰를 제공할 수도 있을 것이다.
이하에서는, ARM 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템 및 운영방법에 대해 상세히 설명하고자 한다.
도 4는 본 발명의 일 실시예에 따른 ARM 프로세서 서버 기반의 보드형 고성능 클라우드 시스템의 개략적인 구성을 도시한 구성도이고, 도 5는 본 발명의 일 실시예에 따른 커스텀 보드의 구성을 도시한 기능블록도이고, 도 6은 본 발명의 일 실시예에 따른 ARM 프로세서 기반의 커스텀 노드와 커스텀 보드의 실물을 예시한 영상이다.
도 4 내지 도 6을 함께 참조하면, 본 실시예에 따른 고성능 클라우드 시스템은 컴퓨팅 장치인 커스텀 노드들(410-1, 410-n, 이하 410으로 통칭)이 각각 착탈방식으로 결합되는 커스텀 보드(420)를 포함한다.
본 실시예에 따른 커스텀 노드(410)는 ARM 프로세서 기반으로 구성되어 보다 작은 크기로 구현됨으로써, 커스텀 보드(420)에 다수가 착탈방식으로 결합된다. 암수 방식의 착탈 결합을 위해 커스텀 노드는 PCI Express lane(411)를 구비하고, 커스텀 보드(420)는 PCIE 어댑터(PCI Express adapter, 421)를 구비한다.
그리고, 커스텀 보드(420)는 PCIE 어댑터(421)에 결합된 커스텀 노드(410)들이 서로 통신하기 위한 PCIE Switch 칩(422), 외부 통신을 수행하기 위한 네트워크 인터페이스(423, 예를 들어 통신포트 등) 및 외부인터페이스를 연결하거나 각종 센서정보를 수집하여 가상화 서버(30)로 전달하는 제어모듈(424, 예를 들어 CPU 등)을 포함한다.
PCIE(PCI Express)는 2002년 PCI SIG가 책정한 입출력을 위한 직렬 구조의 인터페이스이며 인텔 주도하에 만들어졌다. 공식적인 약어로 PCIE로 표기한다. 옛 PCI, PCI-X와 AGP 버스를 대체하기 위하여 개발되었으며, PCIE는 높은 시스템 버스 대역폭, 적은 I/O 핀 수, 적은 물리적 면적, 버스 장치들에게 더 뛰어난 성능 확장성, 상세한 오류 검출 및 보고 구조(Advanced Error Reporting), 네이티브 핫-플러그 기능 등 여러 장점을 가지고 있다. 최근에는 하드웨어 I/O 가상화도 지원한다.
여기서, 도면에는 도시되지 않았으나, 커스텀 노드(410)들을 이용하여 단일 가상화 고성능 클라우드 서비스를 제공하는 가상화 서버(30)는 별도의 공간에 구비되어 커스텀 보드(420)를 통해 커스텀 노드들과 통신하는 형태일 수 있으며, 다른 일례에 따르면 커스텀 노드들과 마찬가지로 커스텀 보드(420)에 착탈방식으로 결합되거나 또는 고정된 형태로 구비될 수도 있다.
본 실시예에 의하면, ARM Core로 구성된 커스텀 노드(410) 및 특수 설계된 커스텀 보드(420)를 적용한 고성능 클라우드 시스템에 의해 마이크로 데이터 센터에 최적화(전력절감, 네트워크가 아닌 보드 내부통신에 의한 통신오류 최소화, 공간최적화)하고, 이를 통해 비용 절감 등의 기대효과를 예상할 수 있다.
도 7은 본 발명의 일 실시예에 따른 결합된 커스텀 노드(410)의 온도를 측정하기 위한 온도센서를 구비한 커스텀 보드(420)를 도시한 예시도이고, 도 8 및 도 9는 본 발명의 각 실시예에 따른 가상화 서버에서 수행되는 커스텀 보드(420)의 온도센서에 의한 측정값을 이용한 커스텀 노드의 부하량 예측 및 활용 과정을 도시한 흐름도들이다.
먼저 도 7을 참조하면, 커스텀 보드(420)는 PCIE 어댑터(421)에 대응되는 위치에 온도센서(710)가 구비된다.
(a)와 같이 PCIE 어댑터(421)에 1:1로 매칭되도록 온도센서(710)가 구비될 수 있으며, 또는 (b)와 같이 PCIE 어댑터(421)가 복수개(본 실시예에서는 3개) 단위로 블록화되고 블록단위로 온도센서(710)가 구비되는 형태일 수도 있다.
일례에 따르면, 가상화 서버(30)는 온도센서(710)에 의한 측정값을 이용하여 대응된 커스텀 노드(410)의 부하량을 예측한다. 예를 들어, 온도가 높다는 것은 대응된 커스텀 노드의 부하량이 높고 그로 인해 발생하는 열에 의한 것이라 판단될 수 있을 것이다. 여기서, 부하량을 예측한다는 것은 실제 부하량이 아닌 온도에 의한 상대적인 부하량일 수 있으므로 예측이라 표현한 것이며, 만일 다른 방식에 의해 실제 부하량이 측정되는 경우 측정된 부하량에 온도값에 상응하는 가중치를 부여하는 방식으로 처리하여 최종적으로 부하량을 예측하는 형태일 수 있다.
일례에 따른 도 8을 먼저 참조하면, 가상화 서버(30)는 복수의 커스텀 노드(410)를 이용하여 클러스터를 구성한다(S810). 복수의 커스텀 노드를 이용한 고성능 클라우드 서비스의 제공 방식은 전술하였으므로 중복되는 설명은 생략한다.
클러스터에 따른 커스텀 노드(이하 운영노드라 칭함)들을 구동하여 고성능 클라우드 서비스를 제공하기 시작하면(S820), 주기적 또는 수시로(예를 들어 특정 이벤트 발생 시)으로 온도센서(710)에 의한 측정값을 이용하여 각 운영노드들의 부하량을 예측한다(S830). 상술한 바와 같이 다른 부하량 측정 방식이 존재한다면 온도값에 상응하는 가중치를 산출하여 측정된 부하량에 반영하여 최종 부하량을 산출할 수 있다.
예측된 부하량이 임계값 이상인 운영노드가 존재하는지를 판단하고(S840), 만일 존재하는 경우 해당 운영노드에서 수행 중이거나 수행해야 할 프로세스를 상대적으로 부하가 적은 타 운영노드(또는 운용되지 않은 다른 커스텀 노드를 클러스터에 포함시켜 활용할 수도 있음)로 이동시키도록 제어한다(S850).
본 실시예에 따르면, 커스텀 노드(410)에서 방출되는 온도를 센싱하여 부하량 측정에 이용하여 보다 실용적인 부하량 측정 방식을 제안할 수 있으며, 더욱이 마이크로 데이터센터를 위해 밀집된 커스텀 노드(410)들에서 방출되는 고열에 의해 고장이 발생되는 경우를 방지할 수 있게 된다.
여기서, 온도값을 활용할 때, 각 온도센서(710)의 측정값만을 이용하여 대응된 운영노드의 부하량을 예측할 수도 있으나, 커스텀 보드가 구비된 장치의 외부 또는 내부 자체 온도에 따라 달라질 수도 있으므로 다른 일례에 따르면 모든 온도센서의 평균값과 대비하거나 또는 운영되지 않고 있는 커스텀 노드에 대응된 온도센서의 측정값과 대비한 결과를 이용할 수도 있다.
도 7의 (b)와 같이 온도센서가 블록당 하나씩 구비되는 경우의 처리 과정을 도시한 도 9를 참조하면, 블록별 온도값을 취득하고(S910), 블록별 커스텀 노드들의 구동여부를 확인한다(S920). 여기서, 운영노드들의 블록과 결합된 위치를 더 확인한다.
블록의 온도값과 각 블록별 커스텀 노드의 구동여부에 대한 정보를 이용하여 각 운영노드들의 부하량을 예측한다(S930).
이해의 편의를 위해 하나의 예를 들면, 운영노드가 블록1의 노드1, 블록2의 노드5이고, 블록1의 노드 1,2,3 모두가 구동중이고 블록2는 노드5만 구동중인 경우를 가정한다.그러면 노드1은 같은 블록의 다른 노드들이 구동중이므로 그로 인한 열에 의해 온도가 높을 확률이 높으므로 측정된 온도값에 1미만의 가중치를 더하고, 블록에서 혼자 구동중인 노드5의 온도값에는 1이상의 가중치를 더한 값을 활용하여 부하량 예측에 이용한다.
그리고, 여기서 도 7과 같이 같은 블록에서도 온도센서와 각 PCIE 어댑터(421)(즉, 결합된 커스텀 노드)의 거리가 서로 다른 경우, 그 위치정보에 따른 가중치가 측정된 온도값에 적용될 수 있다.
본 실시예에 따르면, 온도센서의 개수를 줄일 수 있어 비용을 절감할 수 있으며, 온도센서들이 보다 먼거리로 이격된 위치에 설치되어 다른 커스텀 노드의 열에 의한 간섭을 최소화할 수 있다.
그리고, 도면에는 도시되지 않았으나, 가상화 서버(30)는 클러스터를 구성할 때, 상술한 바와 같이 온도센서에 의에 의해 구분되는 블록정보를 이용하여 서로 다른 블록의 커스텀 노드들을 우선하여 선택한다. 다시 말해, 같은 블록의 커스텀 노드의 선택을 지양하고 최대한 서로 다른 블록의 커스텀 노드들을 클러스터로서 구성하는 것이다.
또한 같은 블록을 피하는 것에 더해, 가상화 서버는 클러스터를 구성할 때 가장 이격 거리가 멀게 결합된 커스텀 노드들을 우선하여 선택한다. 이해의 편의를 위해 예를 들면, 3개의 커스텀 노드로 클러스터를 구성해야 하고 결합된 커스텀 노드가 총 28개이면, 1-14-28번째의 커스텀 노드를 우선하여 선택하는 것이다.
상술한 본 발명에 따른 ARM 프로세서 서버 기반의 보드형 고성능 클라우드 시스템에서의 운영방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
또한, 상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
410 : 커스텀 노드
411 : PCIE lane
420 : 커스텀 보드
421 : PCIE 어댑터

Claims (10)

  1. 복수의 컴퓨팅 장치를 이용한 클러스터를 구성하여 단일 가상화 방식의 고성능 클라우드 서비스를 제공하는 고성능 클라우드 시스템에 있어서,
    ARM 프로세서 기반의 복수개의 커스텀 노드;
    상기 커스텀 노드가 착탈 방식으로 결합되며, 결합된 커스텀 노드들간의 통신을 위한 PCIE 칩이 구성된 커스텀 보드; 및
    상기 커스텀 보드와 통신하여 결합된 커스텀 노드들을 클러스터 단위로 이용하여 단일 가상화 서비스를 제공하는 가상화 서버를 포함하는, ARM 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템.
  2. 청구항 1에 있어서,
    상기 커스텀 보드는 상기 커스텀 노드가 결합되는 복수개의 PCIE 어댑터; 및
    결합된 커스텀 노드가 외부 통신을 수행하기 위한 네트워크 인터페이스를 포함하는, ARM 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템.
  3. 청구항 2에 있어서,
    상기 커스텀 보드는 상기 PCIE 어댑터에 대응되는 위치에 구비되는 온도센서; 및
    상기 가상화 서버가 상기 온도센서에 의한 측정값을 이용하여 대응된 커스텀 노드의 부하량을 예측하도록, 상기 측정값에 대한 정보를 상기 가상화 서버로 제공하는 제어모듈을 더 포함하는, ARM 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템.
  4. 청구항 3에 있어서,
    상기 온도센서는 일정개수 단위로 블록화된 PCIE 어댑터들마다 하나씩 대응되도록 구비하여 블록별 온도값을 출력하며,
    상기 가상화 서버는 측정된 블록별 온도값과 대응된 커스텀 노드들의 구동여부에 대한 정보를 이용하여 구동중인 커스텀 노드들의 부하량을 예측하는, ARM 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템.
  5. 청구항 4에 있어서,
    상기 가상화 서버는 클러스터를 구성할 때, 상기 온도센서에 의해 구분되는 블록정보를 이용하여 서로 다른 블록의 커스텀 노드들을 우선하여 선택하는, ARM 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템.
  6. 청구항 1에 있어서,
    상기 가상화 서버는 클러스터를 구성할 때 가장 이격거리가 멀게 결합된 커스텀 노드들을 우선하여 선택하는, ARM 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템.
  7. 보드에 착탈 방식으로 결합된 복수의 컴퓨팅 노드를 이용하여 단일 가상화 고성능 클라우드 서비스를 제공하는 보드형 고성능 클라우드 시스템에서의 운영방법에 있어서,
    복수개의 커스텀 노드를 이용하여 클러스터를 구성하는 단계;
    상기 클러스터에 따른 운영노드들을 구동하여 고성능 클라우드 서비스를 제공하는 단계;
    상기 운영노드들이 결합된 위치에 대응되도록 보드에 구비된 온도센서에 의한 측정온도값을 수시로 취득하고, 측정된 온도값을 이용하여 대응된 운영노드의 부하량을 예측하는 단계; 및
    상기 부하량의 예측 결과를 기반으로 운영노드들의 프로세스를 제어하는 단계를 포함하는, 보드형 고성능 클라우드 시스템에서의 운영방법.
  8. 청구항 7에 있어서,
    상기 온도센서는 일정개수 단위로 블록화된 커스텀 노드들에 대응하여 하나씩 구비되며,
    블록별 온도값과 대응된 커스텀 노드들의 구동여부에 대한 정보를 더 이용하여 상기 운영노드들의 부하량을 예측하는, 보드형 고성능 클라우드 시스템에서의 운영방법.
  9. 청구항 8에 있어서,
    상기 클러스터를 구성할 때, 상기 온도센서에 의에 의해 구분되는 블록정보를 이용하여 서로 다른 블록의 커스텀 노드들을 우선하여 선택하는, 보드형 고성능 클라우드 시스템에서의 운영방법.
  10. 제 7항의 방법을 수행하기 위한 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체.
KR1020210153954A 2021-11-10 2021-11-10 Arm 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템 및 운영방법 KR20230068055A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210153954A KR20230068055A (ko) 2021-11-10 2021-11-10 Arm 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템 및 운영방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210153954A KR20230068055A (ko) 2021-11-10 2021-11-10 Arm 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템 및 운영방법

Publications (1)

Publication Number Publication Date
KR20230068055A true KR20230068055A (ko) 2023-05-17

Family

ID=86547360

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210153954A KR20230068055A (ko) 2021-11-10 2021-11-10 Arm 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템 및 운영방법

Country Status (1)

Country Link
KR (1) KR20230068055A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190058619A (ko) 2016-10-05 2019-05-29 파르텍 클러스터 컴피턴스 센터 게엠베하 고성능 컴퓨팅 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190058619A (ko) 2016-10-05 2019-05-29 파르텍 클러스터 컴피턴스 센터 게엠베하 고성능 컴퓨팅 시스템 및 방법

Similar Documents

Publication Publication Date Title
US10969967B2 (en) Allocation and balancing of storage resources based on anticipated workload levels
US10977086B2 (en) Workload placement and balancing within a containerized infrastructure
US9886300B2 (en) Information processing system, managing device, and computer readable medium
US9830678B2 (en) Graphics processing unit resource sharing
US11010187B2 (en) Resource allocation in high availability (HA) systems
US11681544B2 (en) Interference-aware scheduling service for virtual GPU enabled systems
US11665064B2 (en) Utilizing machine learning to reduce cloud instances in a cloud computing environment
US8484639B2 (en) Fine-grained cloud management control using nested virtualization
CN101939729A (zh) 在虚拟化数据处理系统中对管理的虚拟机镜像重新布置任务
US11860737B2 (en) System and method for coordinating use of multiple coprocessors
US20150130825A1 (en) Shared Memory Eigensolver
US8458431B2 (en) Expanding memory size
US11334390B2 (en) Hyper-converged infrastructure (HCI) resource reservation system
KR20230068055A (ko) Arm 프로세서 컴퓨팅 노드 기반의 보드형 고성능 클라우드 시스템 및 운영방법
KR102413924B1 (ko) 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스 시스템에서의 프로세스 그룹 관리 방법 및 그 시스템
US11307889B2 (en) Schedule virtual machines
KR20230068477A (ko) 보드형 컴퓨팅 노드들을 이용한 고성능 클라우드 분리 운영 방법 및 그 시스템
KR102573439B1 (ko) 단일 포트를 이용한 다중 서브넷에 대한 외부 트래픽 모니터링을 수행하는 hpc 시스템 및 방법
KR20120118271A (ko) 가상머신 이동 대상 선택 방법
US11068565B2 (en) System obtains software features information of another system
US20240069944A1 (en) Coordinated hooking mechanism for checkpointing virtual machines
US20140195768A1 (en) Expanding memory size

Legal Events

Date Code Title Description
E902 Notification of reason for refusal