KR102658677B1 - 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템 및 방법 - Google Patents

수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템 및 방법 Download PDF

Info

Publication number
KR102658677B1
KR102658677B1 KR1020230126888A KR20230126888A KR102658677B1 KR 102658677 B1 KR102658677 B1 KR 102658677B1 KR 1020230126888 A KR1020230126888 A KR 1020230126888A KR 20230126888 A KR20230126888 A KR 20230126888A KR 102658677 B1 KR102658677 B1 KR 102658677B1
Authority
KR
South Korea
Prior art keywords
role
virtual machine
surface ship
virtual machines
combat system
Prior art date
Application number
KR1020230126888A
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 KR1020230126888A priority Critical patent/KR102658677B1/ko
Application granted granted Critical
Publication of KR102658677B1 publication Critical patent/KR102658677B1/ko

Links

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명에 따른 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법은 상기 수상함 전투체계에서의 운용자 정보 및 역할별 정보를 수집하는 단계; 상기 수집된 운용자 정보 및 역할별 정보에 상응하는 소프트웨어 정보를 확인하는 단계; 상기 소프트웨어 정보에 기초하여 상기 역할별로 할당할 가상머신의 성능을 결정하는 단계; 및 상기 결정된 가상머신의 성능에 따라 상기 역할별로 가상머신을 할당하는 단계를 포함한다.

Description

수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템 및 방법{SYSTEM AND METHOD FOR MANAGING VIRTUAL MACHINE BASED ON ROLE-SPECIFIC RESOURCE UTILIZATION IN NAVAL COMBAT SYSTEMS}
본 발명은 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템 및 방법에 관한 것으로서, 특히 수상함 전투체계의 역할별 CPU, 메모리, 디스크, GPU 사용률을 기반으로 가상머신을 할당함으로써 수상함 내에서의 자원 공간 효율성을 향상시킬 수 있도록 한 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템 및 방법에 관한 것이다.
최근 수상함에 탑재되는 센서, 무장, 데이터링크 등의 장비가 계속해서 증가함에 따라 수상함 전투체계의 공간 효율성이 중요해지고 있다. 이러한 장비들은 수상함의 기능과 능력을 향상시키지만, 동시에 제한된 공간 내에서 자원을 효율적으로 관리하는 것이 어려워지는 문제가 있다.
이에 따라, 수상함 전투체계에서는 가상화 솔루션을 적용하는 추세가 나타나고 있다. 가상화는 물리적 자원을 가상적으로 분할하여 여러 가상머신으로 구성하는 기술이다. 이를 통해 수상함 내에서 자원을 효율적으로 분배하고, 다양한 임무와 우선순위에 따라 자원을 동적으로 조정할 수 있다.
그러나, 종래의 가상머신 할당 방식은 HPC(High Performance Computer)의 자원을 균등하게 분배하는 방식으로, 식 1에 따라 각 가상머신이 동일한 성능을 가지도록 한다.
[식 1]
가상머신 1개 할당 성능=(HPC 성능-관리 가상머신의 총 성능)/1개의 HPC에 할당된 다기능 콘솔 가상머신 개수
이 방식은 가상머신의 역할과 임무, 우선순위를 고려하지 않고 자원을 할당하기 때문에 비효율적이다. 예를 들어, 중요한 임무를 수행하는 가상머신과 덜 중요한 역할을 하는 가상머신이 동일한 성능을 갖게 되어 중요한 임무에 자원이 과다하게 할당되거나, 그 반대의 상황이 발생할 수 있다.
본 발명이 해결하고자 하는 과제는 수상함 전투체계의 역할별 CPU, 메모리, 디스크, GPU 사용률을 기반으로 가상머신을 할당함으로써 수상함 내에서의 자원 공간 효율성을 향상시킬 수 있는, 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템 및 방법에 관한 것이다.
다만, 본 발명이 해결하고자 하는 과제는 상기된 바와 같은 과제로 한정되지 않으며, 또다른 과제들이 존재할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 제1 측면에 따른 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법은 상기 수상함 전투체계에서의 운용자 정보 및 역할별 정보를 수집하는 단계; 상기 수집된 운용자 정보 및 역할별 정보에 상응하는 소프트웨어 정보를 확인하는 단계; 상기 소프트웨어 정보에 기초하여 상기 역할별로 할당할 가상머신의 성능을 결정하는 단계; 및 상기 결정된 가상머신의 성능에 따라 상기 역할별로 가상머신을 할당하는 단계를 포함한다.
본 발명의 일부 실시예에 있어서, 상기 수상함 전투체계에서의 운용자 정보 및 역할별 정보를 수집하는 단계는, 상기 수상함 전투체계에서의 운용자 정보를 수집하는 단계; 및 하나의 상기 운용자 정보에 대응하는 M개(M은 자연수)의 역할별 정보를 수집하는 단계를 포함할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 수집된 운용자 정보 및 역할별 정보에 상응하는 소프트웨어 정보를 확인하는 단계는, 하나의 상기 역할별 정보에 대응하는 N개(N은 자연수)의 서비스 정보를 확인하는 단계; 및 상기 N개의 서비스 정보에 대응하는 적어도 하나의 소프트웨어 정보를 확인하는 단계를 포함할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 소프트웨어 정보에 기초하여 상기 역할별로 할당할 가상머신의 성능을 결정하는 단계는, 상기 역할별로 필요한 CPU 코어 개수를 결정하는 단계; 상기 역할별로 필요한 메모리의 크기를 결정하는 단계; 상기 역할별로 필요한 디스크의 용량을 계산하는 단계; 및 상기 역할별로 필요한 GPU의 요구량을 계산하는 단계를 포함할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 역할별로 필요한 CPU 코어 개수를 결정하는 단계는, 상기 역할별로 필요한 CPU 사용률, 실행 소프트웨어별 최소 CPU 요구량, 최근 접속시 CPU 사용률, 총 운용 가능한 가상머신 수, 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 상기 역할별로 필요한 CPU 코어 개수를 결정할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 역할별로 필요한 메모리의 크기를 결정하는 단계는, 상기 역할별로 필요한 메모리 사용률, 실행 소프트웨어별 최소 메모리 요구량, 최근 접속시 메모리 사용률, 총 운용 가능한 가상머신 수, 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 상기 역할별로 필요한 메모리의 크기를 결정할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 역할별로 필요한 디스크의 용량을 계산하는 단계는, 상기 역할별로 필요한 디스크의 사용률, 최근 접속시 디스크 사용률에 기초하여 상기 역할별로 필요한 디스크의 용량을 결정할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 역할별로 필요한 GPU의 요구량을 계산하는 단계는, 실행 소프트웨어별 최소 CPU 요구량, 최근 접속시 GPU 사용률, 총 운용 가능한 가상머신 수, 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 상기 역할별로 필요한 GPU 요구량을 결정할 수 있다.
본 발명의 일부 실시예는, 기 설정된 주기에 따라 상기 할당된 가상머신의 부하율을 확인하는 단계; 상기 할당된 가상머신의 부하율 중 최대 부하율에 도달한 가상머신이 존재하는지 여부를 판단하는 단계; 상기 수상함 전투체계 내 추가 여유 자원이 존재하는지 여부를 판단하는 단계; 및 상기 최대 부하율에 도달한 가상머신이 존재하고, 수상함 전투체계 내 추가 여유 자원이 존재하는 경우, 상기 최대 부하율에 도달한 가상머신으로의 질의 및 응답에 따라 추가 여유 자원을 할당하는 단계를 더 포함할 수 있다.
본 발명의 일부 실시예는, 상기 상기 판단 결과, 최대 부하율에 도달한 가상머신이 존재하지 않고, 수상함 전투체계 내 추가 여유 자원이 존재하지 않는 경우, 역할별 우선순위에 따라 가상머신의 성능을 재결정 및 재할당하는 단계를 더 포함할 수 있다.
또한, 본 발명의 제2 측면에 따른 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템은 수상함 전투체계에서의 운용자 정보 및 역할별 정보를 수집하는 통신모듈, 상기 역할별 정보에 따라 가상머신을 관리하기 위한 프로그램이 저장된 메모리 및 상기 메모리에 저장된 프로그램을 실행시킴에 따라, 상기 수집된 운용자 정보 및 역할별 정보에 상응하는 소프트웨어 정보를 확인하고, 상기 소프트웨어 정보에 기초하여 상기 역할별로 할당할 가상머신의 성능을 결정하여 상기 역할별로 가상머신을 할당하는 프로세서를 포함한다. 이때, 상기 프로세서는 역할별 CPU, 메모리, 디스크 사용률과, 실행 소프트웨어 별 최소 CPU 및 GPU 요구량과, 최근 접속 시 CPU, 메모리, 디스크 및 GPU 사용률과, 유휴 자원 정보에 기초하여 상기 가상머신의 성능을 결정한다.
본 발명의 일부 실시예에 있어서, 상기 프로세서는 총 운용 가능한 가상머신의 수와 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 상기 유휴 자원 정보를 산출할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 프로세서는 상기 역할별로 필요한 CPU 사용률, 실행 소프트웨어별 최소 CPU 요구량, 최근 접속시 CPU 사용률, 총 운용 가능한 가상머신 수, 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 상기 역할별로 필요한 CPU 코어 개수를 결정할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 프로세서는 상기 역할별로 필요한 메모리 사용률, 실행 소프트웨어별 최소 메모리 요구량, 최근 접속시 메모리 사용률, 총 운용 가능한 가상머신 수, 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 상기 역할별로 필요한 메모리의 크기를 결정할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 프로세서는 상기 역할별로 필요한 디스크의 사용률, 최근 접속시 디스크 사용률에 기초하여 상기 역할별로 필요한 디스크의 용량을 결정할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 프로세서는 실행 소프트웨어별 최소 CPU 요구량, 최근 접속시 GPU 사용률, 총 운용 가능한 가상머신 수, 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 상기 역할별로 필요한 GPU 요구량을 결정할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 프로세서는 기 설정된 주기에 따라 상기 할당된 가상머신의 부하율을 확인하고, 상기 할당된 가상머신의 부하율 중 최대 부하율에 도달한 가상머신이 존재하는 경우, 상기 수상함 전투체계 내 추가 여유 자원 존재시 상기 최대 부하율에 도달한 가상머신으로의 질의 및 응답에 따라 추가 여유 자원을 할당할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 프로세서는 기 설정된 주기에 따라 상기 할당된 가상머신의 부하율을 확인하고, 상기 할당된 가상머신의 부하율 중 최대 부하율에 도달한 가상머신이 존재하는 경우, 상기 수상함 전투체계 내 추가 여유 자원 부존재시 상기 역할별 우선순위에 따라 가상머신의 성능을 재결정 및 재할당할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합되어 상기 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법을 실행하며, 컴퓨터 판독가능 기록매체에 저장된다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
전술한 본 발명의 일 실시예에 따르면, 수상함 전투체계에서 HPC 자원을 효율적으로 사용하고 관리하여 각 역할별로 필요한 최대 성능을 제공할 수 있다. 즉, HPC 자원을 효율적으로 사용하고 관리함으로써, 자원의 낭비를 최소화하고 시스템의 효율성을 높일 수 있으며, 각 역할별로 필요한 최대 성능을 결정하고 제공함으로써, 역할에 따라 자원을 최적화하여 성능을 극대화할 수 있다.
또한, 각 역할에 필요한 최대 성능을 이끌어내므로, 수상함 전투체계의 작동 성능을 향상시킬 수 있으며, 이는 임무 수행 및 전투 능력을 향상시키는 데 기여할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다. 다만, 본 실시 예의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시 예로 구성될 수 있다.
도 1은 본 발명의 일 실시예에 따른 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법의 순서도이다.
도 2는 본 발명의 일 실시예에 따른 운용자-역할-서비스의 관계를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에서 가상머신 부하율을 관리하는 방법의 순서도이다.
도 4는 본 발명의 일 실시예에 따른 가상머신 관리 시스템을 설명하기 위한 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법의 순서도이다. 한편, 도 1에 도시된 각 단계들은 후술하는 가상머신 관리 시스템(100)에 의해 수행되는 것으로 이해될 수 있으며 반드시 이에 한정되는 것은 아니다.
먼저, 수상함 전투체계에서의 운용자 정보 및 역할별 정보를 수집하고(S110), 수집된 운용자 정보 및 역할별 정보에 상응하는 소프트웨어 정보를 확인한다(S120).
수상함 전투체계를 효율적으로 운용하기 위해서는 다양한 임무와 역할이 필요하다. 이러한 역할은 각 수상함 전투체계에 맞게 정의되어 있으며, 각 역할에는 소프트웨어를 실행하기 위한 서비스가 할당되어 있다.
도 2는 본 발명의 일 실시예에 따른 운용자-역할-서비스의 관계를 설명하기 위한 도면이다.
운용자-역할-서비스는 1 대 다수의 관계로 구성된다.
일 실시예로, 하나의 운용자 정보에는 다수 개(M개, M은 자연수)의 역할별 정보가 할당된다. 또한, 하나의 역할별 정보에는 다수 개(N개, N은 자연수)의 서비스가 할당된다. 서비스에 따라 실행 단위의 소프트웨어가 결정된다. 이때, 서비스와 실행 단위의 소프트웨어는 N 대 1의 관계를 갖는다.
이러한 대응 관계에 따라, 본 발명의 일 실시예는 수상함 전투체계에서의 운용자 정보를 수집하고, 하나의 운용자 정보에 대응하는 M개의 역할별 정보를 수집한다. 그리고 하나의 역할별 정보에 대응하는 N개(N은 자연수)의 서비스 정보를 확인하고, N개의 서비스 정보에 대응하는 적어도 하나의 소프트웨어 정보를 확인한다.
하기의 [표 1]에 따라 서비스가 많이 할당될수록 더 많은 소프트웨어의 실행이 요구됨에 따라 더 높은 성능이 요구된다.
CPU 요구량 Memory 요구량 GPU 요구량
할당된 서비스가 적은 역할 낮음 낮음 낮음
할당된 서비스가 많은 역할 높음 높음 높음
본 발명의 일 실시예는 이러한 방식을 통해 각 운용자의 역할, 서비스, 그리고 실행해야 하는 소프트웨어 정보를 각각 연결하여 수상함 전투체계에서의 효율적인 자원 관리 및 운용을 지원할 수 있다.다음으로, 소프트웨어 정보에 기초하여 역할별로 할당할 가상머신의 성능을 결정한다(S130).
즉, 본 발명의 일 실시예는 각 운용자의 역할에 맞게 필요한 가상머신의 성능을 분석하여 분배하도록 한다. 이는 한정된 HPC의 자원을 효율적으로 사용하기 위한 방법으로, 역할별 임무에 따라 성능을 결정하고 제공한다.
일 실시예로, 본 발명은 역할별 CPU 사용률, 역할별 메모리 사용률, 역할별 디스크 사용률, 실행 소프트웨어 별 최소 CPU 요구량, 실행 소프트웨어 별 최소 GPU 요구량, 최근 접속시 CPU, 메모리, 디스크, GPU 사용률, 유휴자원을 각 요소로 하고 종합적으로 고려하여 역할별로 필요한 자원을 동작으로 할당하고 최적화할 수 있다.
여기에서 역할별 CPU 사용률은 각 역할이 CPU 자원을 얼마나 필요로 하는지의 지표로, CPU 사용률을 분석하여 역할에 할당되는 가상머신의 CPU 성능을 결정할 수 있다.
역할별 메모리 사용률은 역할별로 필요한 메모리 자원의 양으로, 역할이 메모리를 얼마나 사용하는지를 고려하여 메모리 자원을 할당할 수 있다.
역할별 디스크 사용률은 역할이 디스크 공간을 어느 정도 사용하는지를 나타내는 지표로, 역할에 따라 필요한 디스크 용량을 결정하고 할당할 수 있다.
실행 소프트웨어 별 최소 CPU 요구량은 각 역할이 실행하는 소프트웨어에 따라 최소한의 CPU 성능을 요구하는 요소로, 소프트웨어의 CPU 요구량을 고려하여 가상머신에 할당되는 CPU 성능을 조정할 수 있다.
실행 소프트웨어 별 최소 GPU 요구량은 각 역할이 실행하는 소프트웨어가 GPU를 필요로 하는 경우, 해당 요구사항을 고려하여 GPU 자원을 할당할 수 있다.
최근 접속 시 CPU, Memory, Disk, GPU 사용률은 최근 사용량을 고려하여 자원을 동적으로 조정하기 위하여 고려하는 요소이다.
마지막으로, 유휴 자원은 현재 운용 중인 가상머신과 운용 예정인 가상머신을 고려하기 위한 것으로, 이를 통해 더 많은 가상머신을 할당할 수 있는 여유 자원을 파악하고 활용할 수 있다. 이는 다음 식 2에 기반하여 산출될 수 있다.
[식 2]
유휴 자원=총 운용 가능한 가상머신 개수-운용 중인 가상머신 개수+운용 예정인 가상머신 개수
이러한 요소들을 종합적으로 고려하여 본 발명의 일 실시예는 역할별로 할당할 가상머신의 성능을 결정할 수 있다.
일 실시예로, 가상머신의 성능을 결정하기 위하여 역할별로 필요한 CPU 코어 개수를 결정할 수 있다(S131). CPU 코어 개수는 역할별로 필요한 CPU 사용률, 실행 소프트웨어별 최소 CPU 요구량, 최근 접속시 CPU 사용률, 총 운용 가능한 가상머신 수, 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 결정할 수 있다. 보다 상세하게는 다음 식 3에 기초하여 CPU 코어 개수를 결정할 수 있다.
[식 3]
CPU Core 개수 = (역할별 필요 CPU*α+실행 소프트웨어 별 최소 CPU 요구량*β+최근 접속 시 CPU 사용률*γ) * (총 운용 가능한 가상머신 개수/(현재 운용중인 가상머신 개수+운용 예정인 가상머신 개수)
일 실시예로, 역할별로 필요한 메모리 크기는 역할별로 필요한 메모리 사용률, 실행 소프트웨어별 최소 메모리 요구량, 최근 접속시 메모리 사용률, 총 운용 가능한 가상머신 수, 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 결정할 수 있다(S132). 보다 상세하게는 다음 식 4에 기초하여 메모리 크기를 결정할 수 있다.
[식 4]
메모리 크기 = (역할별 필요 Memory*α+실행 소프트웨어 별 최소 Memory 요구량*β+최근 접속 시 Memory 사용률*γ) * (총 운용 가능한 가상머신 개수/(현재 운용중인 가상머신 개수+운용 예정인 가상머신 개수)
일 실시예로, 역할별로 필요한 디스크 용량은 역할별로 필요한 디스크의 사용률, 최근 접속시 디스크 사용률에 기초하여 결정할 수 있다(S133). 보다 상세하게는 다음 식 5에 기초하여 메모리 크기를 결정할 수 있다.
[식 5]
디스크 용량 = 역할별 필요 Disk*α+최근 접속 시 Disk 사용률*β
일 실시예로, 역할별로 필요한 GPU 요구량은 실행 소프트웨어별 최소 CPU 요구량, 최근 접속시 GPU 사용률, 총 운용 가능한 가상머신 수, 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 GPU 요구량을 결정할 수 있다(S134). 보다 상세하게는 다음 식 6에 기초하여 GPU 요구량을 결정할 수 있다.
[식 6]
GPU 요구량= (실행 소프트웨어 별 최소 CPU 요구량*α+최근 접속 시 GPU 사용률*β) * (총 운용 가능한 가상머신 개수/(현재 운용중인 가상머신 개수+운용 예정인 가상머신 개수)
이때, 식 3 내지 6에서 α, β 또는 γ는 각 요소가 최종 결과에 어떤 영향을 미치는지 조정하기 위해 사용되는 가중치 또는 조정 상수이다.
한편, 가상머신 1개의 최대 성능은 HPC 1개의 물리적인 최대 성능보다 높을 수 없다. 즉, 가상머신은 물리적인 하드웨어 리소스의 한계를 초과하여 성능을 가질 수 없다.
앞서 식 2를 통해 설명한 전투체계의 유휴 자원까지 계산한 다음에는(S135), 결정된 가상머신의 성능에 따라 역할별로 가상머신을 할당한다(S140).
이후 할당된 가상머신에 기반하여 수상함 전투체계를 운용하며(S150), 역할 운용 중 CPU, 메모리, 디스크, GPU에 대하여 분석된 결과들은 데이터베이스에 저장한다(S160, S170).
또한, 로그아웃이 되고 가상머신의 할당이 해제된 이후, 가상머신의 사용률을 분석하고(S180), 역할 운용 중 CPU, 메모리, 디스크, GPU에 대한 분석 결과들은 데이터베이스에 저장한다(S190).
다음 표 2는 수상함 전투체계에 정의된 역할에 따른 성능 변화의 예시를 나타낸 것이다. 본 발명의 일 실시예는 더 높은 사양이 요구되는 역할에는 고사양의 가상머신이 할당되도록 하며, 낮은 사양이 요구되는 역할에는 저사양 가상머신이 할당되도록 한다.
기존 할당 성능 알고리즘 적용 성능
역할 CPU Mem Disk GPU CPU Mem Disk GPU
전단지휘관 12 16GB 100GB 8GB 8 16GB 30GB -
지휘관 12 16GB 100GB 8GB 8 16GB 30GB -
센서 통제관 12 16GB 100GB 8GB 18 32GB 100GB 16GB
전투체계 관리자 12 16GB 100GB 8GB 18 32GB 100GB 8GB
모의훈련 통제관 12 16GB 100GB 8GB 12 32GB 100GB 16GB
표 2를 참조하면, 전단지휘관, 지휘관 역할에서는 디스크와 GPU의 성능이 불필요하다고 판단되었으며, 지휘, 승인 임무가 주된 역할이므로 CPU 및 메모리와 같은 일반적인 자원의 성능이 할당되었다. 또한, 함정 전투체계 센서를 통제하는 센서 통제관, 전투체계 모든 기능을 관리하는 전투체계 관리자, 영상 모의를 통한 모의훈련이 주된 임무인 모의훈련 통제관의 경우 CPU, 메모리, GPU의 추가 성능이 할당되었다.이와 같이 본 발명의 일 실시예는 각 역할에 필요한 자원을 고려하여 가상머신의 성능 결정을 위한 자원 할당이 조정되었으며, 이를 통해 전체 시스템의 성능과 자원 효율성을 최대한 끌어올릴 수 있다.
또한, 본 발명의 일 실시예는 소프트웨어가 실행되어 있는 동안 설정된 검사 주기로 수상함 전투체계에 할당된 다기능콘솔 가상머신의 부하율을 관리할 수 있다.
도 3은 본 발명의 일 실시예에서 가상머신 부하율을 관리하는 방법의 순서도이다.
구체적으로, 부하 검사를 통해 기 설정된 주기에 따라 할당된 가상머신의 부하율을 확인하고, 할당된 가상머신의 부하율 중 최대 부하율에 도달한 가상머신이 존재하는지 여부를 판단한다(S210). 일 예로 가상머신의 최대 부하율 및 기 설정된 주기는 다음 표 2와 같다.
부하율 검사 주기
CPU 66% 10초
Memory 66% 10초
Disk 95% 10초
GPU 90% 10초
다음으로, 수상함 전투 체계 내 추가 여유 자원이 존재하는지 여부를 판단하고(S220), 판단 결과 존재하는 경우 최대 부하율에 도달한 가상머신으로의 질의 및 응답에 따라 추가 여유 자원을 할당한다(S230~S250).이와 달리, 판단 결과 존재하지 않는 경우에는, 역할별 우선순위에 따라 가상머신의 성능을 재결정하고 재결정된 가상머신의 성능에 따라 가상머신을 재할당한다(S260).
한편, 상술한 설명에서, 단계 S110 내지 S260는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 1 내지 도 3에 기술된 내용과 도 4에 기술된 내용은 상호 적용될 수 있다.
도 4는 본 발명의 일 실시예에 따른 가상머신 관리 시스템(100)을 설명하기 위한 블록도이다.
본 발명의 일 실시예에 따른 가상머신 관리 시스템(100)은 통신모듈(110), 메모리(120) 및 프로세서(130)를 포함한다.
통신모듈(110)은 수상함 전투체계에서의 운용자 정보 및 역할별 정보를 수집한다. 이와 같은 통신모듈(110)은 유선 통신 모듈 및 무선 통신 모듈을 모두 포함할 수 있다. 유선 통신 모듈은 전력선 통신 장치, 전화선 통신 장치, 케이블 홈(MoCA), 이더넷(Ethernet), IEEE1294, 통합 유선 홈 네트워크 및 RS-485 제어 장치로 구현될 수 있다. 또한, 무선 통신 모듈은 WLAN(wireless LAN), Bluetooth, HDR WPAN, UWB, ZigBee, Impulse Radio, 60GHz WPAN, Binary-CDMA, 무선 USB 기술 및 무선 HDMI 기술, 그밖에 5G(5th generation communication), LTE-A(long term evolution-advanced), LTE(long term evolution), Wi-Fi(wireless fidelity) 등의 기능을 구현하기 위한 모듈로 구성될 수 있다.
메모리(120)는 역할별 정보에 따라 가상머신을 관리하기 위한 프로그램들을 저장한다. 여기에서, 메모리(120)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 휘발성 저장장치를 통칭하는 것이다. 예를 들어, 메모리(120)는 콤팩트 플래시(compact flash; CF) 카드, SD(secure digital) 카드, 메모리 스틱(memory stick), 솔리드 스테이트 드라이브(solid-state drive; SSD) 및 마이크로(micro) SD 카드 등과 같은 낸드 플래시 메모리(NAND flash memory), 하드 디스크 드라이브(hard disk drive; HDD) 등과 같은 마그네틱 컴퓨터 기억 장치 및 CD-ROM, DVD-ROM 등과 같은 광학 디스크 드라이브(optical disc drive) 등을 포함할 수 있다.
프로세서(130)는 프로그램 등 소프트웨어를 실행하여 가상머신 관리 시스템(100)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다.
프로세서(130)는 수집된 운용자 정보 및 역할별 정보에 상응하는 소프트웨어 정보를 확인하고, 소프트웨어 정보에 기초하여 역할별로 할당할 가상머신의 성능을 결정하여 역할별로 가상머신을 할당한다.
이때, 프로세서(130)는 역할별 CPU, 메모리, 디스크 사용률과, 실행 소프트웨어 별 최소 CPU 및 GPU 요구량과, 최근 접속 시 CPU, 메모리, 디스크 및 GPU 사용률과, 유휴 자원 정보에 기초하여 가상머신의 성능을 결정할 수 있다.
한편, 본 발명의 일 실시예에서, 프로세서(130)는 가상머신 성능 분석 및 결정, 할당 등을 위해, 인공지능(Artificial Intelligence) 알고리즘으로서 기계학습, 신경망 네트워크(neural network), 또는 딥러닝 알고리즘 중 적어도 하나를 이용할 수 있다. 일 예로, 인공지능(Artificial Intelligence) 알고리즘으로서 기계학습, 신경망 네트워크(neural network), 또는 딥러닝 알고리즘 중 적어도 하나를 이용할 수 있으며, 신경망 네트워크의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network)과 같은 모델을 포함할 수 있다.
이상에서 전술한 본 발명의 일 실시예에 따른 가상머신 관리 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, Ruby, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 가상머신 관리 시스템
110: 통신모듈
120: 메모리
130: 프로세서

Claims (18)

  1. 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법에 있어서,
    상기 수상함 전투체계에서의 운용자 정보 및 역할별 정보를 수집하는 단계;
    상기 수집된 운용자 정보 및 역할별 정보에 상응하는 소프트웨어 정보를 확인하는 단계;
    상기 소프트웨어 정보에 기초하여 상기 역할별로 할당할 가상머신의 성능을 결정하는 단계; 및
    상기 결정된 가상머신의 성능에 따라 상기 역할별로 가상머신을 할당하는 단계를 포함하는 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법.
  2. 제1항에 있어서,
    상기 수상함 전투체계에서의 운용자 정보 및 역할별 정보를 수집하는 단계는,
    상기 수상함 전투체계에서의 운용자 정보를 수집하는 단계;
    하나의 상기 운용자 정보에 대응하는 M개(M은 자연수)의 역할별 정보를 수집하는 단계를 포함하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법.
  3. 제2항에 있어서,
    상기 수집된 운용자 정보 및 역할별 정보에 상응하는 소프트웨어 정보를 확인하는 단계는,
    하나의 상기 역할별 정보에 대응하는 N개(N은 자연수)의 서비스 정보를 확인하는 단계; 및
    상기 N개의 서비스 정보에 대응하는 적어도 하나의 소프트웨어 정보를 확인하는 단계를 포함하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법.
  4. 제1항에 있어서,
    상기 소프트웨어 정보에 기초하여 상기 역할별로 할당할 가상머신의 성능을 결정하는 단계는,
    상기 역할별로 필요한 CPU 코어 개수를 결정하는 단계;
    상기 역할별로 필요한 메모리의 크기를 결정하는 단계;
    상기 역할별로 필요한 디스크의 용량을 계산하는 단계; 및
    상기 역할별로 필요한 GPU의 요구량을 계산하는 단계를 포함하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법.
  5. 제4항에 있어서,
    상기 역할별로 필요한 CPU 코어 개수를 결정하는 단계는,
    상기 역할별로 필요한 CPU 사용률, 실행 소프트웨어별 최소 CPU 요구량, 최근 접속시 CPU 사용률, 총 운용 가능한 가상머신 수, 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 상기 역할별로 필요한 CPU 코어 개수를 결정하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법.
  6. 제4항에 있어서,
    상기 역할별로 필요한 메모리의 크기를 결정하는 단계는,
    상기 역할별로 필요한 메모리 사용률, 실행 소프트웨어별 최소 메모리 요구량, 최근 접속시 메모리 사용률, 총 운용 가능한 가상머신 수, 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 상기 역할별로 필요한 메모리의 크기를 결정하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법.
  7. 제4항에 있어서,
    상기 역할별로 필요한 디스크의 용량을 계산하는 단계는,
    상기 역할별로 필요한 디스크의 사용률, 최근 접속시 디스크 사용률에 기초하여 상기 역할별로 필요한 디스크의 용량을 결정하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법.
  8. 제4항에 있어서,
    상기 역할별로 필요한 GPU의 요구량을 계산하는 단계는,
    실행 소프트웨어별 최소 CPU 요구량, 최근 접속시 GPU 사용률, 총 운용 가능한 가상머신 수, 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 상기 역할별로 필요한 GPU 요구량을 결정하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법.
  9. 제1항에 있어서,
    기 설정된 주기에 따라 상기 할당된 가상머신의 부하율을 확인하는 단계;
    상기 할당된 가상머신의 부하율 중 최대 부하율에 도달한 가상머신이 존재하는지 여부를 판단하는 단계;
    상기 수상함 전투체계 내 추가 여유 자원이 존재하는지 여부를 판단하는 단계; 및
    상기 판단 결과, 최대 부하율에 도달한 가상머신이 존재하고, 수상함 전투체계 내 추가 여유 자원이 존재하는 경우, 상기 최대 부하율에 도달한 가상머신으로의 질의 및 응답에 따라 추가 여유 자원을 할당하는 단계를 더 포함하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법.
  10. 제9항에 있어서,
    상기 판단 결과, 최대 부하율에 도달한 가상머신이 존재하지 않고, 수상함 전투체계 내 추가 여유 자원이 존재하지 않는 경우, 역할별 우선순위에 따라 가상머신의 성능을 재결정 및 재할당하는 단계를 더 포함하는 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 방법.
  11. 수상함 전투체계에서의 운용자 정보 및 역할별 정보를 수집하는 통신모듈,
    상기 역할별 정보에 따라 가상머신을 관리하기 위한 프로그램이 저장된 메모리 및
    상기 메모리에 저장된 프로그램을 실행시킴에 따라, 상기 수집된 운용자 정보 및 역할별 정보에 상응하는 소프트웨어 정보를 확인하고, 상기 소프트웨어 정보에 기초하여 상기 역할별로 할당할 가상머신의 성능을 결정하여 상기 역할별로 가상머신을 할당하는 프로세서를 포함하되,
    상기 프로세서는 역할별 CPU, 메모리, 디스크 사용률과, 실행 소프트웨어 별 최소 CPU 및 GPU 요구량과, 최근 접속 시 CPU, 메모리, 디스크 및 GPU 사용률과, 유휴 자원 정보에 기초하여 상기 가상머신의 성능을 결정하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템.
  12. 제11항에 있어서,
    상기 프로세서는 총 운용 가능한 가상머신의 수와 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 상기 유휴 자원 정보를 산출하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템.
  13. 제11항에 있어서,
    상기 프로세서는 상기 역할별로 필요한 CPU 사용률, 실행 소프트웨어별 최소 CPU 요구량, 최근 접속시 CPU 사용률, 총 운용 가능한 가상머신 수, 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 상기 역할별로 필요한 CPU 코어 개수를 결정하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템.
  14. 제11항에 있어서,
    상기 프로세서는 상기 역할별로 필요한 메모리 사용률, 실행 소프트웨어별 최소 메모리 요구량, 최근 접속시 메모리 사용률, 총 운용 가능한 가상머신 수, 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 상기 역할별로 필요한 메모리의 크기를 결정하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템.
  15. 제11항에 있어서,
    상기 프로세서는 상기 역할별로 필요한 디스크의 사용률, 최근 접속시 디스크 사용률에 기초하여 상기 역할별로 필요한 디스크의 용량을 결정하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템.
  16. 제11항에 있어서,
    상기 프로세서는 실행 소프트웨어별 최소 CPU 요구량, 최근 접속시 GPU 사용률, 총 운용 가능한 가상머신 수, 현재 운용 중인 가상머신 수, 운용 예정인 가상머신 수에 기초하여 상기 역할별로 필요한 GPU 요구량을 결정하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템.
  17. 제11항에 있어서,
    상기 프로세서는 기 설정된 주기에 따라 상기 할당된 가상머신의 부하율을 확인하고, 상기 할당된 가상머신의 부하율 중 최대 부하율에 도달한 가상머신이 존재하는 경우, 상기 수상함 전투체계 내 추가 여유 자원 존재시 상기 최대 부하율에 도달한 가상머신으로의 질의 및 응답에 따라 추가 여유 자원을 할당하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템.
  18. 제11항에 있어서,
    상기 프로세서는 기 설정된 주기에 따라 상기 할당된 가상머신의 부하율을 확인하고, 상기 할당된 가상머신의 부하율 중 최대 부하율에 도달한 가상머신이 존재하는 경우, 상기 수상함 전투체계 내 추가 여유 자원 부존재시 역할별 우선순위에 따라 가상머신의 성능을 재결정 및 재할당하는 것인 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템.
KR1020230126888A 2023-09-22 2023-09-22 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템 및 방법 KR102658677B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230126888A KR102658677B1 (ko) 2023-09-22 2023-09-22 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230126888A KR102658677B1 (ko) 2023-09-22 2023-09-22 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102658677B1 true KR102658677B1 (ko) 2024-04-19

Family

ID=90881846

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230126888A KR102658677B1 (ko) 2023-09-22 2023-09-22 수상함 전투체계의 역할별 자원 사용률에 기반한 가상머신 관리 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102658677B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101744689B1 (ko) * 2016-03-02 2017-06-20 국방과학연구소 가상화 기능을 이용한 전투관리체계 및 그 운용방법
KR101883599B1 (ko) * 2017-04-24 2018-08-30 세종대학교산학협력단 클라우드 컴퓨팅 환경에서 가상화 자원 분배 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101744689B1 (ko) * 2016-03-02 2017-06-20 국방과학연구소 가상화 기능을 이용한 전투관리체계 및 그 운용방법
KR101883599B1 (ko) * 2017-04-24 2018-08-30 세종대학교산학협력단 클라우드 컴퓨팅 환경에서 가상화 자원 분배 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김창진 외 2명. 수상함 전투체계 육상시험체계용 개체생성기 구현에 적합한 병렬처리기법에 관한 연구. 2010년 10월 *

Similar Documents

Publication Publication Date Title
KR101990685B1 (ko) 비직교 다중접속 시스템의 부대역에 대한 전력 및 사용자 분배를 위한 방법 및 장치
US11297130B2 (en) Cluster resource management in distributed computing systems
CN104123184B (zh) 一种用于为构建过程中的任务分配资源的方法和系统
US9442763B2 (en) Resource allocation method and resource management platform
KR101540631B1 (ko) 가상 클러스터의 동적 확장 시스템, 방법 및 그 프로그램이 저장된 기록매체
US9298563B2 (en) Changing a number of disk agents to backup objects to a storage device
US9606735B2 (en) Storage management apparatus, and performance adjusting method
KR101684677B1 (ko) 멀티코어 시스템의 시스템 성능 최적화 장치 및 방법
CN109918201B (zh) 任务卸载的控制方法和系统
US9805140B2 (en) Striping of directed graphs and nodes with improved functionality
CN104424106B (zh) 为存储优化操作分配存储设备的资源的方法和系统
US20070130344A1 (en) Using load balancing to assign paths to hosts in a network
WO2014194695A1 (en) Method and server for pvp team matching in computer games
CN104243405A (zh) 一种请求处理方法、装置及系统
US10967274B1 (en) Dynamic management of processes executing on computing instances
CN110297743B (zh) 一种负载测试方法、装置和存储介质
US9612746B1 (en) Allocation method for meeting system performance and application service level objective (SLO)
CN115543577A (zh) 基于协变量的Kubernetes资源调度优化方法、存储介质及设备
CN116467082A (zh) 一种基于大数据的资源分配方法及系统
Arouj et al. Towards energy-aware federated learning on battery-powered clients
CN115580882A (zh) 动态网络切片资源分配方法及装置、存储介质及电子设备
CN108667864B (zh) 一种进行资源调度的方法和装置
CN110493317B (zh) 处理云平台资源碎片的方法及相关设备
US8316375B2 (en) Load-balancing of processes based on inertia
CN110223435A (zh) 对象随机分配方法、装置、计算机存储介质和电子设备

Legal Events

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