KR20190052440A - Apparatus for remote processing for virtual machine processor and method for the same - Google Patents

Apparatus for remote processing for virtual machine processor and method for the same Download PDF

Info

Publication number
KR20190052440A
KR20190052440A KR1020170148124A KR20170148124A KR20190052440A KR 20190052440 A KR20190052440 A KR 20190052440A KR 1020170148124 A KR1020170148124 A KR 1020170148124A KR 20170148124 A KR20170148124 A KR 20170148124A KR 20190052440 A KR20190052440 A KR 20190052440A
Authority
KR
South Korea
Prior art keywords
processor
context
virtual
virtualization
virtual processor
Prior art date
Application number
KR1020170148124A
Other languages
Korean (ko)
Other versions
KR102505996B1 (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 KR1020170148124A priority Critical patent/KR102505996B1/en
Publication of KR20190052440A publication Critical patent/KR20190052440A/en
Application granted granted Critical
Publication of KR102505996B1 publication Critical patent/KR102505996B1/en

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/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/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 Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

According to one embodiment of the present disclosure, a remote processing apparatus for a virtual machine processor may comprise: a first virtualization processing unit having a first virtual processor corresponding to a first processor module controlling control of an external device required for processing of virtual processor context, management of data provided from the external device, and performance of the virtual processor context; and a second virtualization processing unit having a second virtual processor corresponding to a second processor module, receiving a request of processing the virtual processor context from the first virtualization processing unit, and processing the virtual processor context requested for the processing.

Description

가상 머신 프로세서의 원격 처리 장치 및 방법{APPARATUS FOR REMOTE PROCESSING FOR VIRTUAL MACHINE PROCESSOR AND METHOD FOR THE SAME}TECHNICAL FIELD [0001] The present invention relates to a remote processing apparatus and method for a virtual machine processor,

본 개시는 컴퓨팅 시스템에 관한 것이며, 보다 구체적으로는 가상 머신 프로세서에서 처리되는 컨텍스트를 처리하는 방법 및 장치에 대한 것이다.This disclosure relates to computing systems, and more particularly, to a method and apparatus for processing contexts processed in a virtual machine processor.

프로세서 기술이 발전함에 따라, 단일의 물리 프로세서 내에 복수의 코어 프로세서가 구비되도록 구현하고 있다. 그리고, 복수의 코어 프로세서를 효율적으로 운영할 수 있는 가상화 기술(virtualization technology)이 사용되고 있다. As processor technology develops, a plurality of core processors are implemented in a single physical processor. In addition, a virtualization technology capable of efficiently operating a plurality of core processors is being used.

예를 들어, 하드웨어 자원(예, 복수의 코어 프로세서)을 관리하는 호스트 운영체제(host OS)(또는 커널) 상에 가상화 계층(Virtualization Layer)을 형성하고, 가상화 계층이 하드웨어 자원(예, 복수의 코어 프로세서)에 대한 접근을 관리함으로써, 가상화를 실현할 수 있다. 또는, 하드웨어 자원(예, 복수의 코어 프로세서)과 호스트 운영체제(host OS)(또는 커널) 사이에 가상 머신 모니터(Virtual Machine Monitor; VMM) 혹은 하이퍼바이저를 운영함으로써, 가상화를 실현할 수 있다. For example, a virtualization layer may be formed on a host OS (or a kernel) that manages hardware resources (e.g., a plurality of core processors), and a virtualization layer may be formed by hardware resources Processor), thereby realizing virtualization. Alternatively, virtualization can be realized by operating a virtual machine monitor (VMM) or a hypervisor between a hardware resource (e.g., a plurality of core processors) and a host operating system (or kernel).

데이터센터(datacenter) 환경에서 다수의 가상 머신(virtual machine, VM)이 하나의 물리 머신 상에서 실행될 수 있다. 가상 머신의 생성, 삭제, 시작 및 재시작 등의 관리는 통상적으로 가상 머신 매니저에 의하여 이루어질 수 있는데, 가상 머신 매니저는 독립적인 애플리케이션의 형태로서 구현되거나, 운영 체제의 일부로서 구현될 수 있다. In a datacenter environment, multiple virtual machines (VMs) can be running on one physical machine. Management such as creating, deleting, starting, and restarting a virtual machine can typically be performed by a virtual machine manager, which may be implemented as a standalone application or as part of an operating system.

다수의 가상 머신 간에는 고립성(isolation)이 제공된다. 고립성은, 여러 가상 머신 중에서 하나의 가상 머신에 문제가 발생된 경우에도, 이러한 문제가 다른 가상 머신에는 영향을 주지 않도록 함으로써 높은 안정성을 제공한다.Isolation is provided between multiple virtual machines. Isolation provides high reliability by preventing these problems from affecting other virtual machines, even if one of the virtual machines experiences a problem.

가상 머신이 컨텍스트를 처리하는 과정에서, 컨텍스트에서의 직접적인 갱신을 가정하고 있으며 또한 지속적으로 기록할 수 있다. 이러한 환경에서, 가상 머신은 기록된 정보를 사용하여, 임의의 시점에서 정확한 복구가 가능하다. As the virtual machine processes the context, it assumes a direct update in the context and can also record it continuously. In this environment, the virtual machine can use the recorded information to recover accurately at any time.

하지만, 가상머신은 고립성을 유지하도록 구비되므로, 각각의 가상 머신 상에서만 해당 컨텍스트의 수행이 가능하다는 문제가 있다. However, since the virtual machine is provided to maintain the isolation, there is a problem that the corresponding context can be executed only on each virtual machine.

본 개시의 기술적 과제는 가상 머신의 연산 처리와 상태 관리를 분리하여 처리할 수 있는 방법 및 장치를 제공하는 것이다. SUMMARY OF THE INVENTION It is an object of the present invention to provide a method and apparatus capable of separately processing arithmetic processing and state management of a virtual machine.

본 개시의 다른 기술적 과제는 클라우드 서비스 제공자에서 발생할 수 있는 프로세서 자원의 내부 단편화(internal fragmentation)를 실현할 수 있는 방법 및 장치를 제공하는 것이다. It is another object of the present disclosure to provide a method and apparatus for implementing internal fragmentation of processor resources that may occur in a cloud service provider.

본 개시의 또 다른 기술적 과제는 물리 노드에서 수용 가능한 프로세서 보다 상대적으로 많은 가상 프로세서를 구현하고, 다수의 가상 프로세서를 구비하는 가상 머신을 제공할 수 있는 방법 및 장치를 제공하는 것이다. 본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.It is yet another object of the present disclosure to provide a method and apparatus that can implement a virtual processor that is relatively larger than an acceptable processor at a physical node and can provide a virtual machine having a plurality of virtual processors. The technical objects to be achieved by the present disclosure are not limited to the above-mentioned technical subjects, and other technical subjects which are not mentioned are to be clearly understood from the following description to those skilled in the art It will be possible.

본 개시의 일 양상에 따르면 가상 머신 프로세서의 원격 처리 장치가 제공될 수 있다. 상기 장치는 제1 프로세서 모듈에 대응되는 제1가상 프로세서를 구비하며, 가상 프로세서 컨텍스트의 처리를 위해 요구되는 외부 장치의 제어, 상기 외부 장치로부터 제공되는 데이터의 관리, 상기 가상 프로세서 컨텍스트의 수행을 제어하는 제1가상화 처리부와, 제2 프로세서 모듈에 대응되는 제2가상 프로세서를 구비하며, 상기 제1가상화 처리부로부터 상기 가상 프로세서 컨텍스트의 처리를 요청받고, 처리 요청된 상기 가상 프로세서 컨텍스트를 처리하는 제2가상화 처리부를 포함할 수 있다.According to an aspect of the present disclosure, a remote processing apparatus of a virtual machine processor can be provided. The apparatus includes a first virtual processor corresponding to a first processor module and is configured to control an external device required for the processing of a virtual processor context, to manage data provided from the external device, to control execution of the virtual processor context And a second virtual processor corresponding to the second processor module, wherein the first virtualization processor receives a request for processing of the virtual processor context from the first virtualization processor, And may include a virtualization processing unit.

본 개시의 다른 양상에 따르면 가상 머신 프로세서의 원격 처리 방법이 제공될 수 있다. 상기 방법은 가상 머신 프로세서의 원격 처리 방법에 있어서, 제1가상화 처리부가 가상 프로세서 컨텍스트를 확인하는 과정과, 상기 가상 프로세서 컨텍스트의 수행을 요청하는 제어 컨텍스트를 제2가상화 처리부에 제공하는 과정과, 상기 제2가상화 처리부가 상기 제어 컨텍스트를 수신하고, 상기 제2가상화 처리부에 구비된 제2가상 프로세서를 사용하여 상기 제어 컨텍스트에 대응되는 상기 가상 프로세서 컨텍스트를 수행하는 과정과, 상기 제2가상화 처리부가 상기 가상 프로세서 컨텍스트의 수행 결과를 상기 제1가상화 처리부에 제공하는 과정을 포함할 수 있다. According to another aspect of the present disclosure, a method for remotely processing a virtual machine processor can be provided. The method includes the steps of: identifying a virtual processor context by a first virtualization processor; providing a control context requesting execution of the virtual processor context to a second virtualization processor; The second virtualization processing unit receiving the control context and performing the virtual processor context corresponding to the control context using a second virtual processor provided in the second virtualization processing unit; And providing the execution result of the virtual processor context to the first virtualization processing unit.

본 개시의 다른 양상에 따르면 매니코어 기반의 가상화 컴퓨팅 시스템이 제공될 수 있다. 상기 시스템은 가상화 컴퓨팅 시스템에 있어서, 매니코어 환경에 기초한 복수의 코 프로세서와 메모리를 구비하는 프로세서 모듈과, 상기 프로세서 모듈을 서로 연결하는 인터커넥터부를 포함하는 매니코어 기반의 하드웨어 장치와, 제1 프로세서 모듈에 대응되는 제1가상 프로세서를 구비하며, 가상 프로세서 컨텍스트의 처리를 위해 요구되는 외부 장치의 제어, 상기 외부 장치로부터 제공되는 데이터의 관리, 상기 가상 프로세서 컨텍스트의 수행을 제어하는 제1가상화 처리부와, 제2 프로세서 모듈에 대응되는 제2가상 프로세서를 구비하며, 상기 제1가상화 처리부로부터 상기 가상 프로세서 컨텍스트의 처리를 요청받고, 처리 요청된 상기 가상 프로세서 컨텍스트를 처리하는 제2가상화 처리부를 포함하는 가상화 처리 장치를 포함할 수 있다. According to another aspect of the present disclosure, a Mannich-based virtualization computing system can be provided. The system includes a manifold-based hardware device including a processor module having a plurality of coprocessors and memories based on a manifold environment, and an interconnecting portion connecting the processor modules to each other, A first virtualization processor for controlling an external device required for the processing of the virtual processor context, managing data provided from the external device, and controlling execution of the virtual processor context; And a second virtualization processor that has a second virtual processor corresponding to the second processor module and is requested to process the virtual processor context from the first virtualization processor and processes the virtual processor context requested to be processed, Processing device.

본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.The features briefly summarized above for this disclosure are only exemplary aspects of the detailed description of the disclosure which follow, and are not intended to limit the scope of the disclosure.

본 개시에 따르면, 가상 프로세서의 컨텍스트를 분리하여 원격의 다른 물리 노드에서 수행할 수 있다. According to the present disclosure, the context of a virtual processor can be isolated and performed at another remote physical node.

나아가, 서로 다른 물리 노드에서 가상 프로세서에서 처리되어야 하는 컨텍스트를 분리하여 처리할 수 있도록 함으로써, 클라우드 서비스 제공자에서 발생할 수 있는 프로세서 자원의 내부 단편화(internal fragmentation)를 실현할 수 있다. Furthermore, it is possible to realize internal fragmentation of the processor resources that may occur in the cloud service provider by separating and processing the contexts to be processed by the virtual processors in different physical nodes.

또한, 물리 노드에서 수용 가능한 프로세서 보다 많은 가상 프로세서를 구현할 수 있으며, 이와 같이 다수의 가상 프로세서를 구비하는 가상 머신을 제공할 수 있다.In addition, it is possible to implement more virtual processors than processors that can be accommodated in a physical node, and thus a virtual machine having a plurality of virtual processors can be provided.

또한, 분리된 컨텍스트는 가상 프로세서 서술자에 대한 접근 방법에 대하여 외부/내부 접근 윈도우 구분을 통한 접근 제어를 통제할 수 있도록 함으로써, 가상 머신의 성능 저하를 최소화할 수 있다.In addition, the separated context can control the access control through the external / internal access window classification for the access method to the virtual processor descriptor, thereby minimizing the performance degradation of the virtual machine.

본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable from the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below will be.

도 1은 단일 칩의 형태의 매니코어 프로세서의 구성을 도시하는 블록도이다.
도 2는 단일 칩의 형태의 매니코어 프로세서에 적용되는 컴퓨팅 시스템의 구조를 도시하는 도면이다.
도 3은 본 개시의 일 실시예에 따른 가상머신 프로세서의 원격 처리 방법이 적용되는 매니코어 환경의 가상화 컴퓨팅 시스템의 구조를 도시하는 도면이다.
도 4는 본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치가 적용되는 가상화 컴퓨팅 시스템의 구성을 예시하는 도면이다.
도 5는 본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치의 동작을 예시하는 도면이다.
도 6은 본 발명의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치에 구비되는 필터부의 상세 동작을 예시하는 도면이다.
도 7a는 본 발명의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치에 구비되는 제1가상화 장치의 동작 과정을 도시하는 도면이다.
도 7b는 본 발명의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치에 구비되는 제2가상화 장치의 동작 과정을 도시하는 도면이다.
1 is a block diagram showing the configuration of a Mannich processor in the form of a single chip.
2 is a diagram showing the structure of a computing system applied to a Mannich processor in the form of a single chip.
3 is a diagram illustrating a structure of a virtualization computing system in a Manioc environment in which a method of remotely processing a virtual machine processor according to an embodiment of the present disclosure is applied.
4 is a diagram illustrating a configuration of a virtualization computing system to which a remote processing apparatus of a virtual machine processor according to another embodiment of the present disclosure is applied.
5 is a diagram illustrating operation of a remote processing device of a virtual machine processor according to another embodiment of the present disclosure;
6 is a diagram illustrating a detailed operation of a filter unit included in a remote processing apparatus of a virtual machine processor according to another embodiment of the present invention.
FIG. 7A is a diagram illustrating an operation process of a first virtualization apparatus provided in a remote processing apparatus of a virtual machine processor according to another embodiment of the present invention.
FIG. 7B is a diagram illustrating an operation process of a second virtualization apparatus provided in a remote processing apparatus of a virtual machine processor according to another embodiment of the present invention.

이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings, which will be easily understood by those skilled in the art. However, the present disclosure may be embodied in many different forms and is not limited to the embodiments described herein.

본 개시의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.In the following description of the embodiments of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present disclosure rather unclear. Parts not related to the description of the present disclosure in the drawings are omitted, and like parts are denoted by similar reference numerals.

본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In the present disclosure, when an element is referred to as being "connected", "coupled", or "connected" to another element, it is understood that not only a direct connection relationship but also an indirect connection relationship May also be included. Also, when an element is referred to as " comprising " or " having " another element, it is meant to include not only excluding another element but also another element .

본 개시에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시 예에서의 제1 구성요소는 다른 실시 예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시 예에서의 제2 구성요소를 다른 실시 예에서 제1 구성요소라고 칭할 수도 있다. In the present disclosure, the terms first, second, etc. are used only for the purpose of distinguishing one element from another, and do not limit the order or importance of elements, etc. unless specifically stated otherwise. Thus, within the scope of this disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and similarly a second component in one embodiment may be referred to as a first component .

본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 개시의 범위에 포함된다. In the present disclosure, the components that are distinguished from each other are intended to clearly illustrate each feature and do not necessarily mean that components are separate. That is, a plurality of components may be integrated into one hardware or software unit, or a single component may be distributed into a plurality of hardware or software units. Thus, unless otherwise noted, such integrated or distributed embodiments are also included within the scope of this disclosure.

본 개시에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들은 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 개시의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 개시의 범위에 포함된다. In the present disclosure, the components described in the various embodiments are not necessarily essential components, and some may be optional components. Thus, embodiments consisting of a subset of the components described in one embodiment are also included within the scope of the present disclosure. Also, embodiments that include other elements in addition to the elements described in the various embodiments are also included in the scope of the present disclosure.

이하, 첨부한 도면을 참조하여 본 개시의 실시 예들에 대해서 설명한다.Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings.

매니코어 프로세서는 코어 프로세서와 메모리를 수십 개 내지 수백 개를 구비하는 프로세서 일 수 있다. 매니코어 프로세서는 도 1에서 예시하는 바와 같이 단일 칩의 형태로 구비될 수 있는데, 단일 칩의 형태의 매니코어 프로세서(100)는 코어 프로세서와 메모리를 포함하는 프로세서 모듈(101-1, … 101-n)을 수십 개 내지 수백 개를 구비할 수 있다. 프로세서 모듈(101-1, … 101-n)은 NoC(Network on chip)(103)를 통해 서로 인터커넥트될 수 있다. The ManiCORE processor may be a processor having dozens or even hundreds of core processors and memory. Manicore processors may be provided in the form of a single chip, as illustrated in FIG. 1, where the Manic core processor 100 in the form of a single chip includes processor modules 101-1, ..., 101- n may be several tens to several hundreds. The processor modules 101-1, ..., 101-n may be interconnected via a NoC (Network on Chip)

단일 칩의 형태의 매니코어 프로세서(100)는 시스템의 구축 비용, 목적에 따른 제한적인 구조 등 고정적인 하드웨어의 상황에 따라 여러 제약사항이 따른다. The Mannich processor 100 in the form of a single chip is subjected to various constraints depending on the state of the fixed hardware such as the construction cost of the system and the limited structure according to the purpose.

특히, 단일 칩의 형태의 매니코어 프로세서(100)로 구성되더라도, 프로세서 모듈(101-1, … 101-n)을 사용하기 위해서는, 도 2에서 예시하는 분산 시스템(200)의 형태와 같이, 프로세서 모듈(201-1, … 201-n)에 구비되는 코어 프로세서와 메모리 상에, 운영체제 처리부(220)와, 응용 프로그램 처리부(230)가 구현되어야 하는 문제가 있다. In particular, in order to use the processor modules 101-1, ..., 101-n, even in the case of the single-chip type Mannich processor 100, as in the form of the distributed system 200 illustrated in FIG. 2, There is a problem that the operating system processing unit 220 and the application program processing unit 230 must be implemented on the core processor and the memory provided in the modules 201-1 to 201-n.

이와 같이 프로세서 모듈(201-1, … 201-n)에 각각 대응되는 운영체제 처리부(220)가 구현될 경우, 프로세서 모듈(201-1, … 201-n) 각각에 대응되는 서로 다른 운영체제가 탑재되도록 구현되므로, 프로세서 모듈(201-1, … 201-n)을 모두 사용할 수 있는 단일의 운영체제가 탑재되지 못하는 문제가 발생된다. When the operating system processing unit 220 corresponding to each of the processor modules 201-1 to 201-n is implemented as described above, it is preferable that different operating systems corresponding to the processor modules 201-1 to 201- A problem arises in that a single operating system that can use all of the processor modules 201-1 to 201-n can not be mounted.

본 개시의 일 실시예는 프로세서 모듈(201-1, … 201-n)을 모두 사용할 수 있는 단일의 운영체제를 탑재할 수 있는 매니코어 환경의 가상화 컴퓨팅 시스템을 개시한다.One embodiment of the present disclosure discloses a virtualized computing system in a Mannich environment capable of mounting a single operating system capable of using all of the processor modules 201-1, ... 201-n.

도 3은 본 개시의 일 실시예에 따른 가상머신 프로세서의 원격 처리 방법이 적용되는 매니코어 환경의 가상화 컴퓨팅 시스템의 구조를 도시하는 도면이다.3 is a diagram illustrating a structure of a virtualization computing system in a Manioc environment in which a method of remotely processing a virtual machine processor according to an embodiment of the present disclosure is applied.

도 3을 참조하면, 매니코어 환경의 가상화 컴퓨팅 시스템은 매니코어 기반의 하드웨어 장치(310), 가상화 처리부(320), 운영체체 처리부(330), 및 응용 프로그램 처리부(340)를 포함할 수 있다.Referring to FIG. 3, the virtualization computing system of the Mannier environment may include a Mannier-based hardware device 310, a virtualization processing unit 320, an operating system processing unit 330, and an application processing unit 340.

매니코어 기반의 하드웨어 장치(310)는 복수의 코어 프로세서(301a)와 메모리(301b)를 포함하는 프로세서 모듈(301-1, … 301-n)을 구비할 수 있다. 여기서, 복수의 코어 프로세서(301a)는 수십 개 내지 수백 개를 포함할 수 있고, 프로세서 모듈(301-1, … 301-n)은 1,000개 이상을 포함할 수 있다.The manifold-based hardware device 310 may include processor modules 301-1, ..., 301-n including a plurality of core processors 301a and a memory 301b. Here, the plurality of core processors 301a may include tens to hundreds, and the processor modules 301-1 to 301-n may include more than 1,000.

그리고, 매니코어 기반의 하드웨어 장치(310)는 프로세서 모듈(301-1, … 301-n)이 서로 고속 인터커넥트 네트워크로 연결하는 인터커넥터(303)(예, NoC(Network on chip), PCIe(PCI Express))를 포함할 수 있다. The Mannier-based hardware device 310 is connected to the interconnectors 303 (e.g., NoC (Network on chip), PCIe (PCI), etc.) interconnecting the processor modules 301-1, Express)).

가상화 처리부(320)는 물리적으로 분리되어 있는 시스템 자원을 하나의 시스템 자원으로 운영하는 장치일 수 있다.The virtualization processing unit 320 may be a device that operates system resources that are physically separated as one system resource.

가상화 처리부(320)는 프로세서 모듈(301-1, … 301-n) 각각에 연결되는 하이퍼바이저 (321-1, … 321-n)를 구비할 수 있다. 하이퍼바이저(321-1, … 321-n)는 프로세서 모듈(301-1, … 301-n)에 구비되는 자원을 모니터링하는 모니터부, 프로세서 모듈(301-1, … 301-n)에 할당되는 태스크를 관리하는 태스크 관리자, 프로세서 모듈(301-1, … 301-n)에 구비된 메모리와 가상 메모리를 매칭하는 메모리 관리자, 태스크 관리자와 메모리 관리자의 동작을 스케줄링하는 스케줄러 등을 포함할 수 있다. The virtualization processing unit 320 may include hypervisors 321-1, ..., 321-n connected to the processor modules 301-1, ..., 301-n, respectively. The hypervisors 321-1 to 321-n are allocated to the monitor modules and the processor modules 301-1 to 301-n for monitoring resources provided in the processor modules 301-1 to 301-n A task manager for managing tasks, a memory manager for matching memory and virtual memory provided in the processor modules 301-1 to 301-n, a task manager, and a scheduler for scheduling operations of the memory manager.

특히, 가상화 처리부(320)는 상태 처리부(323) 및 프로세서 처리부(324, 325)를 구비하는 가상 머신 수행부(322)를 포함할 수 있다.Particularly, the virtualization processing unit 320 may include a virtual machine execution unit 322 including a state processing unit 323 and processor processing units 324 and 325.

상태 처리부(323)는 적어도 하나의 프로세서 모듈(301-1, … 301-n)에 연결되어 가상의 노드로서 동작될 수 있다. 그리고, 프로세서 처리부(324, 325)는 복수개가 구비될 수 있으며, 복수의 프로세서 처리부(324, 325)는 각각 프로세서 모듈(301-1, … 301-n)에 연결되어 가상의 노드로서 동작될 수 있다. The state processing unit 323 may be connected to at least one of the processor modules 301-1 to 301-n and may be operated as a virtual node. A plurality of processor processing units 324 and 325 may be provided and a plurality of processor processing units 324 and 325 may be connected to the processor modules 301-1 to 301-n to be operated as virtual nodes have.

프로세서 처리부(324, 325)는 가상화 처리부(320)에서 수행되어야 할 컨텍스트 쓰레드(vcpu_context thread)를 처리하고, 상태 처리부(323)는 제어 쓰레드(vcpu_control thread) 처리, 쓰레드(vcpu_context thread)의 처리에 필요한 컨텍스트 제공 및 관리 등을 처리할 수 있다. 또한, 프로세서 처리부(324, 325)는 쓰레드의 처리과정에서 전역 예외에 대응되는 쓰레드는 상태 처리부(323)에 제공할 수 있으며, 상태 처리부(323)가 전역 예외에 대응되는 쓰레드를 처리할 수 있다.The processor processors 324 and 325 process the context thread vcpu_context thread to be executed by the virtualization processor 320 and the state processor 323 processes the control thread vcpu_control thread and the vcpu_context thread Context provisioning and management, and the like. In addition, the processor processors 324 and 325 may provide the thread corresponding to the global exception to the state processor 323 in the processing of the thread, and the state processor 323 may process the thread corresponding to the global exception .

제어 쓰레드(vcpu_control thread)와 컨텍스트 쓰레드(vcpu_context thread)는 별도의 쓰레드로 구성되기 때문에 프로세서 처리부(324, 325)의 상태를 유지하기 위해 데이터 스트럭쳐의 일관성을 유지할 필요가 있다. 이에 따라, 프로세서 처리부(324, 325)는 제어 쓰레드(vcpu_control thread)와 컨텍스트 쓰레드(vcpu_context thread)에 대응되는 데이터 스트럭쳐를 복제하여 가상 메모리내에 저장할 수 있으며, 각각의 메모리에서 데이터 스트럭쳐로 접근 및 관리할 수 있다.Since the control thread (vcpu_control thread) and the context thread (vcpu_context thread) are composed of separate threads, it is necessary to maintain the consistency of the data structure in order to maintain the state of the processor processing units (324, 325). Accordingly, the processor processors 324 and 325 may copy the data structure corresponding to the control thread (vcpu_control thread) and the context thread (vcpu_context thread) and store the data structure in the virtual memory, and access and manage the data structure in each memory .

이러한, 상태 처리부(323)와 프로세서 처리부(324, 325)의 동작을 통해 프로세서 자원(예, CPU)의 외현화를 실현할 수 있다.The externalization of the processor resources (e.g., CPU) can be realized through the operation of the state processing unit 323 and the processor processing units 324 and 325.

나아가, 가상화 처리부(320)는 가상 메모리를 외현화 하기 위하여 Page-level granularity인 디렉토리 기반의 캐쉬를 사용할 수 있다. 여기서 사용되는 캐쉬는 fault 기반으로 접근하고 동작한다. (108)원격 메모리를 사용하고자 할 경우 처리되는 커널 데이터 구조의 일관성을 유지하면서 자원을 공유할 수 있다. 예컨대, 제1프로세서 처리부(324)가 쓰레드를 처리하는 과정에서, 제2프로세서 처리부(325)에 할당된 가상 메모리에 접근할 수 있다.Further, the virtualization processor 320 may use a directory-based cache, which is a page-level granularity, to externalize the virtual memory. The cache used here operates on a fault-based basis. (108) When using remote memory, resources can be shared while maintaining the consistency of the kernel data structure to be processed. For example, in the process of the first processor 324 processing a thread, the virtual memory allocated to the second processor 325 may be accessed.

이하, 본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치의 구조를 설명한다. Hereinafter, the structure of a remote processing apparatus of a virtual machine processor according to another embodiment of the present disclosure will be described.

본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치는 전술한 매니코어 환경의 가상화 컴퓨팅 시스템에 구비된 가상화 처리부(320)에 적용되거나, 다양한 환경의 가상화 컴퓨팅 시스템에 적용될 수 있다.The remote processing apparatus of the virtual machine processor according to another embodiment of the present disclosure may be applied to the virtualization processing unit 320 provided in the virtualization computing system of the above-described Manny core environment, or may be applied to the virtualization computing system of various environments.

도 4는 본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치가 적용되는 가상화 컴퓨팅 시스템의 구성을 예시하는 도면이다.4 is a diagram illustrating a configuration of a virtualization computing system to which a remote processing apparatus of a virtual machine processor according to another embodiment of the present disclosure is applied.

도 4를 참조하면, 가상화 컴퓨팅 시스템은 하드웨어 장치(410), 가상화 처리부(420), 운영체제 처리부(430), 및 응용 프로그램 처리부(440)를 포함할 수 있다.Referring to FIG. 4, the virtualization computing system may include a hardware device 410, a virtualization processing unit 420, an operating system processing unit 430, and an application processing unit 440.

하드웨어 장치(410)는 복수의 프로세서(401a)와 메모리(401b)를 포함하는 프로세서 모듈(401-1, … 401-n)을 구비할 수 있다. 그리고, 하드웨어 장치(410)는 프로세서 모듈(401-1, … 401-n)이 서로 고속 인터커넥트 네트워크로 연결하는 인터커넥터(403)(예, NoC(Network on chip), PCIe(PCI Express))를 포함할 수 있다. The hardware device 410 may include processor modules 401-1, ..., 401-n including a plurality of processors 401a and a memory 401b. The hardware device 410 includes an interconnector 403 (e.g., a network on chip (NoC), PCIe (PCI Express)) for connecting the processor modules 401-1 to 401-n to each other via a high-speed interconnect network .

가상화 처리부(420)는 프로세서 모듈(401-1, … 401-n) 각각에 연결되는 커널 관리부(421-1, … 421-n)를 구비할 수 있는데, 상태 커널 관리부(421-1)와, 프로세서 커널 관리부(421-2, … 421-n)로 구분될 수 있다. 또한, 가상화 처리부(420)는 사용자 관리부(425-1, … 425-n)를 구비할 수 있는데, 사용자 관리부(425-1, … 425-n)는 상태 처리부(425-1)와 프로세서 처리부(425-2, … 425-n)로 구분될 수 있다. 이에 기초하여, 상태 커널 관리부(421-1)와 상태 처리부(425-1)가 연결될 수 있으며, 프로세서 커널 관리부(421-2, … 421-n)와 프로세서 처리부(425-2, … 425-n)가 각각 연결될 수 있다.The virtualization processing unit 420 may include kernel management units 421-1 to 421-n connected to the processor modules 401-1 to 401-n, respectively. The virtualization management unit 420 includes a state kernel management unit 421-1, Processor kernel management units 421-2, ..., 421-n. The virtualization processing unit 420 may include user management units 425-1 to 425-n. The user management units 425-1 to 425-n include a status processing unit 425-1 and a processor 425-2, ..., 425-n. ... 421-n and the processor processors 425-2, ... 425-n, ..., 421-n, ..., and 425-n may be connected to the state kernel manager 421-1 and the state processor 425-1, Respectively.

상태 커널 관리부(421-1)는 프로세서 모듈(401-1, … 401-n)에 구비되는 자원을 모니터링하는 가상 머신 모니터부(VMM; Virtual Machine Monitor)(422)와, 상태 처리부(425-1)에 구비되는 프로세서의 접근을 제어하는 필터부(423)를 구비할 수 있다.The state kernel management unit 421-1 includes a virtual machine monitor unit (VMM) 422 for monitoring resources provided in the processor modules 401-1 to 401-n, a state processing unit 425-1 And a filter unit 423 for controlling access to the processor.

프로세서 커널 관리부(421-2, … 421-n)는 프로세서 모듈(401-1, … 401-n)에 구비되는 자원을 모니터링하는 가상 머신 모니터부(VMM; Virtual Machine Monitor)(424-2, … 424-n)를 구비할 수 있다.Processor kernel management units 421-2 to 421-n each include a virtual machine monitor unit (VMM) 424-2 for monitoring resources provided in the processor modules 401-1 to 401-n, 424-n.

전술한 가상화 컴퓨팅 시스템에 구비되는 상태 커널 관리부(421-1), 프로세서 커널 관리부(421-2, … 421-n), 상태 처리부(425-1), 및 프로세서 처리부(425-2, … 425-n)는 본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치로 지칭할 수 있다.The processor kernel management units 421-2 to 421-n, the state processing unit 425-1 and the processor processing units 425-2 to 425-n provided in the virtualization computing system described above, n may be referred to as a remote processing device of a virtual machine processor according to another embodiment of the present disclosure.

이하, 본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치의 동작을 설명한다.The operation of the remote processing apparatus of the virtual machine processor according to another embodiment of the present disclosure will be described below.

도 5는 본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치의 상세 구성을 예시하는 도면이다. 5 is a diagram illustrating a detailed configuration of a remote processing apparatus of a virtual machine processor according to another embodiment of the present disclosure;

상태 처리부(425-1)는 제1가상 프로세서(426-1), 외부 가상화 장치(vCPU/vIO 장치)(427), 및 가상머신 상태 관리부(428)를 포함할 수 있다. 상태 처리부(425-1)는 상태 커널 관리부(421-1)에 구비된 제1가상 머신 모니터부(VMM)(422)와, 필터부(423)에 연결될 수 있으며, 컨텍스트의 처리를 위해 요구되는 외부 가상화 장치(vCPU/vIO 장치)(427)의 제어 및 상기 외부 가상화 장치(vCPU/vIO 장치)(427)로부터 제공되는 데이터의 관리, 상기 컨텍스트의 제공 및 관리를 처리할 수 있다. The status processor 425-1 may include a first virtual processor 426-1, an external virtualization device (vCPU / vIO device) 427, and a virtual machine status manager 428. [ The state processing unit 425-1 may be connected to the first virtual machine monitoring unit VMM 422 provided in the state kernel management unit 421-1 and the filter unit 423, Management of data provided from the external virtualization device (vCPU / vIO device) 427, and control of the external virtualization device (vCPU / vIO device) 427, provision and management of the context.

필터부(423)는 외부 가상화 장치(vCPU/vIO 장치)(427)로부터 요청되는 상기 제1가상 프로세서(426-1)로의 접근을 제어할 수 있다.The filter unit 423 may control access to the first virtual processor 426-1 requested by the external virtualization unit (vCPU / vIO device) 427. [

제1가상 머신 모니터(422)는 상기 프로세서 처리부(425-2)로 컨텍스트를 제공하고, 상기 프로세서 처리부(425-2)에서 처리가 불가한 컨텍스트(예컨대, 전역 예외 컨텍스트 등)를 상기 제1가상 프로세서(426-1)에 제공할 수 있다. The first virtual machine monitor 422 provides the context to the processor processing unit 425-2 and the context that can not be processed by the processor processing unit 425-2 (e.g., a global exception context, etc.) Processor 426-1.

또한, 제1가상 머신 모니터(422)는 상기 제1가상 프로세서(426-1)에서 처리되는 컨텍스트를 모니터링하여 가상 머신의 상태를 관리하는 가상머신 상태 관리부(428)에 제공할 수 있다. The first virtual machine monitor 422 may monitor the context processed by the first virtual processor 426-1 and provide the virtual machine state management unit 428 for managing the state of the virtual machine.

한편, 프로세서 처리부(425-2)는 제2가상 프로세서(426-2)를 구비할 수 있고, 제2가상 프로세서(426-2)는 프로세서 커널 관리부(421-2)에 구비된 제2가상 머신 모니터부(VMM)(424-2)에 연결될 수 있다. The processor processor 425-2 may include a second virtual processor 426-2 and the second virtual processor 426-2 may include a second virtual machine 421-2 provided in the processor kernel manager 421-2, Monitor (VMM) 424-2.

제2가상 머신 모니터(424-2)는 제1가상 머신 모니터(422)로부터 수신되는 제어 컨텍스트를 제2가상 프로세서(426-2)로 전달하고, 제2가상 프로세서(426-2)는 상기 제어 컨텍스트를 처리한다. The second virtual machine monitor 424-2 transfers the control context received from the first virtual machine monitor 422 to the second virtual processor 426-2 and the second virtual processor 426-2 transfers the control context received from the first virtual machine monitor 422 to the second virtual processor 426-2, Process the context.

그리고, 제2가상 머신 모니터(424-2)는 제2가상 프로세서(426-2)에서 처리되는 제어 컨텍스트를 모니터링할 수 있다. 상기 제2가상 프로세서(426-2)가 컨텍스트를 처리하면서 예외적인 처리가 발생될 수 있는데, 제2가상 머신 모니터(424-2)는 이때 발생하는 예외에 대해서 지역적으로 처리 가능한 예외 상황은 제2가상 프로세서(426-2) 자체에서 처리하고, 상기 제2가상 프로세서(426-2)에서 처리가 불가한 컨텍스트(예컨대, 전역 예외 컨텍스트 등)를 제1가상 머신 모니터(422)에 제공 및 처리를 요청할 수 있다. Then, the second virtual machine monitor 424-2 can monitor the control context processed in the second virtual processor 426-2. An exceptional process may be generated while the second virtual processor 426-2 processes the context. The second virtual machine monitor 424-2 determines that the exception that can be processed locally for the exception occurring at this time is the second (For example, a global exception context or the like) that can not be processed by the second virtual processor 426-2 is provided to the first virtual machine monitor 422, and processing is performed by the second virtual processor 426-2 Can be requested.

이와 같이, 가상 머신에서 수행해야 하는 어플리케이션의 컨텍스트들은 기본적으로 프로세서 처리부(425-2)의 상기 제2가상 프로세서(426-2)에서 수행하고, 이에 대한 제어, 컨텍스트의 제공 및 관리, 그리고 전역 예외에 대한 처리는 상태 처리부(425-1)의 제1가상 프로세서(426-1)에서 수행된다. 이렇게 가상 머신에서 수행해야 하는 어플리케이션의 컨텍스트들에 대응되는 로직들을 제1가상 프로세서(426-1)와 제2가상 프로세서(426-2)로 나뉘어 서로 다른 두 노드 상에서 분리하여 수행한다.In this way, the contexts of the application to be executed in the virtual machine are basically performed by the second virtual processor 426-2 of the processor processing unit 425-2, and the control, the provision and management of the context, Is performed in the first virtual processor 426-1 of the status processing unit 425-1. The logic corresponding to the contexts of the application to be executed in the virtual machine is divided into the first virtual processor 426-1 and the second virtual processor 426-2 and separated and executed on two different nodes.

나아가, 전술한 상태 처리부(425-1)와 상태 커널 관리부(421-1)를 제1가상화 장치로 지칭하고, 프로세서 처리부(425-2)와 프로세서 커널 관리부(421-2)에 제2가상화 장치로 지칭할 수 있다. 비록 본 개시의 일 실시예에서, 제2가상화 장치가 1개인 것을 예시하고 있으나, 가상화 환경에 대응하여 제2가상화 장치의 개수는 다양하게 변경될 수 있음은 물론이다.Further, the status processor 425-1 and the status kernel manager 421-1 may be referred to as a first virtualization device, and the processor virtualization device 425-2 and the processor kernel manager 421-2 may be referred to as a second virtualization device . ≪ / RTI > Although one embodiment of the present disclosure exemplifies one second virtualization device, it goes without saying that the number of the second virtualization devices may be variously changed corresponding to the virtualization environment.

도 6은 본 발명의 일 실시예에 따른 가상 머신 프로세서의 원격 처리 장치에 구비되는 필터부의 상세 동작을 예시하는 도면이다.6 is a diagram illustrating a detailed operation of a filter unit included in a remote processing apparatus of a virtual machine processor according to an embodiment of the present invention.

외부 가상화 장치(vCPU/vIO 장치)(427)와 같은 외부 장치에 의해 제공되는 메시지 또는 컨텍스트를 원격 지에 구비되는 제2가상 프로세서(426-2)에 전달하기 위해서는, 가상 프로세서 서술자(650)에 접근하여 메시지 또는 컨텍스트에 대한 요청을 기록하여야 한다. 이와 같이 메시지 또는 컨텍스트에 대한 요청이 기록될 경우, 레이스의 발생이 야기될 수 있다. In order to deliver a message or context provided by an external device, such as an external virtualization device (vCPU / vIO device) 427, to a second virtual processor 426-2 provided at the remote location, access to the virtual processor descriptor 650 And record the request for the message or context. When a request for a message or a context is recorded in this way, the occurrence of a race can be caused.

나아가, 가상 머신 모니터의 기능적 확장에 따라, 수많은 메시지 또는 컨텍스트가 가상 프로세서 서술자(650)에 접근 또는 기록될 수 있으므로, 가상 프로세서 서술자(650)에 대한 접근 또는 기록을 제어하기 위한 장치가 요구된다. Further, in accordance with the functional extension of the virtual machine monitor, a number of messages or contexts may be accessed or written to the virtual processor descriptor 650, an apparatus for controlling access or recording to the virtual processor descriptor 650 is required.

시스템 전반에 알려져 있는 가상 프로세서 서술자(650)로의 접근은 외부 접근 윈도우 영역(620)을 통해서 접근이 되어야 하고, 제1가상 프로세서(426-1)에서의 접근은 내부 접근 윈도우 영역(630)을 통해 접근해야 한다. Access to the virtual processor descriptor 650, which is known throughout the system, should be accessed through the outer access window area 620 and access from the first virtual processor 426-1 should be via the inner access window area 630 Should approach.

이를 고려하여, 필터부(423)는 외부 접근 윈도우 영역(620)을 통한 접근은 갱신에 대한 예외가 발생될 수 있도록 해당 가상 프로세서에 대한 요청큐(600)에 할당하고 이를 제1가상 프로세서(426-1)가 처리할 수 있는 구조로 구비될 수 있다. 이러한 필터부(423)의 구성으로써, 전술한 레이스의 발생을 방지할 수 있다. In consideration of this, the filter unit 423 allocates the access through the outer access window area 620 to the request queue 600 for the virtual processor so that an exception for the update can be generated, and allocates it to the first virtual processor 426 -1) can be processed. With the configuration of the filter portion 423, it is possible to prevent the occurrence of the above-described race.

도 7a는 본 발명의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치에 구비되는 제1가상화 장치의 동작 과정을 도시하는 도면이고, 도 7b는 본 발명의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치에 구비되는 제2가상화 장치의 동작 과정을 도시하는 도면이다.FIG. 7A is a flowchart illustrating an operation of a first virtualization apparatus included in a remote processing apparatus of a virtual machine processor according to another embodiment of the present invention. FIG. FIG. 2 is a diagram illustrating an operation process of a second virtualization apparatus provided in a processing apparatus. FIG.

도 7a를 참조하면, 상태 처리부(425-1)는 제1가상 프로세서(426-1)의 초기화를 처리한다(S311). Referring to FIG. 7A, the state processing unit 425-1 processes the initialization of the first virtual processor 426-1 (S311).

예를 들어, 통신 가능한 두 노드, 즉, 상태 처리부(425-1)와, 프로세서 처리부(425-2)에서 각각 제1가상 프로세서(426-1)와 제2가상 프로세서(426-2)가 수행된다.For example, the first virtual processor 426-1 and the second virtual processor 426-2 execute in the two communicable nodes, that is, the status processor 425-1 and the processor processor 425-2, do.

제1가상 프로세서(426-1)의 초기화를 위해서 가상 머신 상태 관리부(428)에 의해서 가상 머신에 대한 상태가 정의되고 이에 따라서 하나의 가상 프로세서 컨텍스트를 생성한다. For initialization of the first virtual processor 426-1, the state of the virtual machine is defined by the virtual machine state manager 428 and accordingly, one virtual processor context is created.

제1가상 프로세서(426-1)는 제2가상 프로세서(426-2)와의 연결을 생성하며 연결된 제2가상 프로세서(426-2)의 요청을 대기하는 것을 확인한 후 제2가상 프로세서(426-2)의 수행을 요청한다(S312). The first virtual processor 426-1 creates a connection with the second virtual processor 426-2 and after confirming that it waits for the request of the connected second virtual processor 426-2, (S312).

이후, 제1가상 프로세서(426-1)는 제2가상 프로세서(426-2)의 수행 결과를 대기한다(S313). 그리고, 제1가상 프로세서(426-1)는 제2가상 프로세서(426-2)의 수행 결과를 전송받게 되면 이의 결과에 따른 전역 예외 처리를 우선적으로 확인하여 처리하고, 다시 S312 단계를 진행하여 제2가상 프로세서(426-2)의 수행 요청을 처리한다(S314). Thereafter, the first virtual processor 426-1 waits for the result of the second virtual processor 426-2 (S313). Upon receiving the execution result of the second virtual processor 426-2, the first virtual processor 426-1 first confirms and processes the global exception process according to the result, and then proceeds to step S312, 2 processing request of the virtual processor 426-2 (S314).

한편, S314 단계에서, 전역 예외에 대한 처리가 없을 경우, 제1가상 프로세서(426-1)는 입출력 이벤트를 대기하고(S315), 해당 입출력 이벤트가 발생되면 S312 단계를 진행하여 입출력 이벤트에 대응되는 컨텍스트를 제2가상 프로세서(426-2)에 전달한다. If there is no processing for the global exception in step S314, the first virtual processor 426-1 waits for an input / output event (S315). If the input / output event is generated, the first virtual processor 426-1 proceeds to step S312, And transfers the context to the second virtual processor 426-2.

제1가상 프로세서(426-1)는 가상 프로세서의 동작이 완료될 경우 가상 프로세서의 종료를 지시하는 제어 컨텍스트를 제2가상 프로세서(426-2)에 전달할 수 있다(S316).When the operation of the virtual processor is completed, the first virtual processor 426-1 may transmit the control context indicating the termination of the virtual processor to the second virtual processor 426-2 (S316).

한편, 도 3b를 참조하면, 프로세서 처리부(425-2)는 제2가상 프로세서(426-2)의 초기화를 처리한다(S321). 그리고, 제2가상 프로세서(426-2)는 제1가상 프로세서(426-1)로부터 콘택스트 처리 요청을 대기한다(S322). Referring to FIG. 3B, the processor processor 425-2 processes the initialization of the second virtual processor 426-2 (S321). Then, the second virtual processor 426-2 waits for a context processing request from the first virtual processor 426-1 (S322).

제2가상 프로세서(426-2)는 제1가상 프로세서(426-1)로부터 콘택스트 처리 요청을 수신하게 되면, 해당되는 콘택스트의 처리를 수행한다(S323). 이때, 제2가상 프로세서(426-2)는 요청된 콘택스트가 처리 가능한 콘택스트인지 여부를 확인할 수 있다(S324). When the second virtual processor 426-2 receives the context processing request from the first virtual processor 426-1, the second virtual processor 426-2 performs the processing of the corresponding context (S323). At this time, the second virtual processor 426-2 can check whether the requested context is a processable process (S324).

요청된 콘택스트가 처리 가능한 콘택스트인 경우(S324-예) 제2가상 프로세서(426-2)는 S325 단계를 진행하고, 요청된 콘택스트가 처리 불가능한 콘택스트인 경우(S324-아니오) S330 단계를 진행한다.If the requested context is a processable context (S324-Yes), the second virtual processor 426-2 proceeds to step S325, and if the requested context is a non-processable context (S324-No), the process proceeds to step S330 do.

다음으로, 제2가상 프로세서(426-2)는 프로세서 처리부(425-2)의 호스트 상태를 저장하고(S325), 요청된 가상 프로세서 콘택스트를 로드하여(S326), 로드된 가상 프로세서 콘택스트를 수행한다(S327). Next, the second virtual processor 426-2 stores the host status of the processor processor 425-2 (S325), loads the requested virtual processor context (S326), and loads the loaded virtual processor context (S327).

가상 프로세서 콘택스트를 수행 과정에서 콘택스트에서 예외가 발생될 경우(S328-예), 제2가상 프로세서(426-2)는 S325 단계에서 저장된 프로세서 처리부(425-2)의 호스트 상태를 사용하여 복구를 처리한다(S329). 그리고, 제2가상 프로세서(426-2)는 발생된 예외가 지역적으로 처리가 가능한 예외인지 여부를 확인하고(S330), 지역적으로 처리가 가능한 예외인 경우(S330-예), 지역 예외 처리로 분류하여 지역 예외 처리를 수행한다(S331). 반면, 앞서 발생된 예외가, 제2가상 프로세서(426-2)에서 지역 예외로 처리 불가능할 경우, 제2가상 프로세서(426-2)는 S332 단계를 진행하여 해당 컨텍스트를 수행할 수 없음에 대한 결과를 상태 처리부(425-1)로 전달할 수 있다. If an exception occurs in the context during the execution of the virtual processor context (S328-Yes), the second virtual processor 426-2 uses the host state of the processor processor 425-2 stored in step S325 to recover (S329). The second virtual processor 426-2 checks whether the generated exception is a locally processable exception (S330). If the exception is a locally processable exception (S330- Yes), the second virtual processor 426-2 classifies the exception as a region exception process And performs an area exception process (S331). On the other hand, if the previously generated exception can not be handled as a region exception in the second virtual processor 426-2, the second virtual processor 426-2 proceeds to step S332 and determines that the corresponding context can not be executed To the state processing unit 425-1.

종래의 가상 머신 시스템에서 가상 프로세서는 물리적으로 단일 노드에 구비된 프로세서에서만 수행되어야 하는 문제가 있다. 이에 반하여, 본 발명에서 제시하는 가상 머신 프로세서의 원격 처리 장치 및 방법에 따르면, 가상 프로세서의 컨텍스트를 분리하여 원격의 다른 물리 노드에서 수행할 수 있다. 이와 같이, 서로 다른 물리 노드에서 가상 프로세서에서 처리되어야 하는 컨텍스트를 분리하여 처리할 수 있도록 함으로써, 클라우드 서비스 제공자에서 발생할 수 있는 프로세서 자원의 내부 단편화(internal fragmentation)를 실현할 수 있다. In a conventional virtual machine system, a virtual processor has to be physically performed only in a processor provided in a single node. On the other hand, according to the remote processing apparatus and method of the virtual machine processor proposed in the present invention, the context of the virtual processor can be separated and executed in another remote physical node. In this way, by separating and processing the contexts to be processed by the virtual processors in different physical nodes, internal fragmentation of the processor resources that can occur in the cloud service provider can be realized.

나아가, 물리 노드에서 수용 가능한 프로세서 보다 많은 가상 프로세서를 구현할 수 있으며, 이와 같이 다수의 가상 프로세서를 구비하는 가상 머신을 제공할 수 있다.Furthermore, it is possible to implement more virtual processors than the processors that can be accommodated at the physical node, and thus a virtual machine having a plurality of virtual processors can be provided.

또한, 분리된 컨텍스트는 가상 프로세서 서술자에 대한 접근 방법에 대하여 외부/내부 접근 윈도우 구분을 통한 접근 제어를 통제할 수 있도록 함으로써, 가상 머신의 성능 저하를 최소화할 수 있다. In addition, the separated context can control the access control through the external / internal access window classification for the access method to the virtual processor descriptor, thereby minimizing the performance degradation of the virtual machine.

본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.Although the exemplary methods of this disclosure are represented by a series of acts for clarity of explanation, they are not intended to limit the order in which the steps are performed, and if necessary, each step may be performed simultaneously or in a different order. In order to implement the method according to the present disclosure, the illustrative steps may additionally include other steps, include the remaining steps except for some steps, or may include additional steps other than some steps.

본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.The various embodiments of the disclosure are not intended to be all-inclusive and are intended to be illustrative of the typical aspects of the disclosure, and the features described in the various embodiments may be applied independently or in a combination of two or more.

또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다. In addition, various embodiments of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof. In the case of hardware implementation, one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays A general processor, a controller, a microcontroller, a microprocessor, and the like.

본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다. The scope of the present disclosure is to be accorded the broadest interpretation as understanding of the principles of the invention, as well as software or machine-executable instructions (e.g., operating system, applications, firmware, Instructions, and the like are stored and are non-transitory computer-readable medium executable on the device or computer.

Claims (12)

가상 머신 프로세서의 원격 처리 장치에 있어서,
제1 프로세서 모듈에 대응되는 제1가상 프로세서를 구비하며, 가상 프로세서 컨텍스트의 처리를 위해 요구되는 외부 장치의 제어, 상기 외부 장치로부터 제공되는 데이터의 관리, 상기 가상 프로세서 컨텍스트의 수행을 제어하는 제1가상화 처리부와,
제2 프로세서 모듈에 대응되는 제2가상 프로세서를 구비하며, 상기 제1가상화 처리부로부터 상기 가상 프로세서 컨텍스트의 처리를 요청받고, 처리 요청된 상기 가상 프로세서 컨텍스트를 처리하는 제2가상화 처리부를 포함하는 것을 특징으로 하는 가상 머신 프로세서의 원격 처리 장치.
A remote processing apparatus of a virtual machine processor,
A first processor that is associated with a first processor module and is configured to control an external device required for processing a virtual processor context, manage data provided from the external device, and control the execution of the virtual processor context A virtualization processing unit,
And a second virtualization processor having a second virtual processor corresponding to the second processor module and requesting the processing of the virtual processor context from the first virtualization processor and processing the virtual processor context requested to be processed Wherein the remote processing unit of the virtual machine processor comprises:
제1항에 있어서,
상기 제1가상화 처리부는,
상기 제1가상 프로세서를 구비하는 상태 관리부와,
상기 제1가상 프로세서로의 접근을 제어하는 필터부 및 상기 제2가상화 처리부로 상기 가상 프로세서 컨텍스트의 수행을 요청하는 제어 컨텍스트를 제공하는 제1가상 머신 모니터를 구비하는 상태 커널 관리부를 포함하는 것을 특징으로 하는 가상 머신 프로세서의 원격 처리 장치.
The method according to claim 1,
The first virtualization processing unit,
A state management unit having the first virtual processor,
And a state machine management unit having a filter unit for controlling access to the first virtual processor and a first virtual machine monitor for providing a control context for requesting execution of the virtual processor context to the second virtualization processor Wherein the remote processing unit of the virtual machine processor comprises:
제2항에 있어서,
상기 제1가상 머신 모니터는,
상기 제2가상화 처리부로부터 상기 제2가상화 처리부에 의해 처리가 불가능한 전역 예외 처리 컨텍스트를 수신하고, 상기 전역 예외 처리 컨텍스트를 상기 제1가상 프로세서로 전달하는 것을 특징으로 하는 가상 머신 프로세서의 원격 처리 장치.
3. The method of claim 2,
Wherein the first virtual machine monitor comprises:
Wherein the second virtualization processor receives a global exception processing context that can not be processed by the second virtualization processor from the second virtualization processor and transfers the global exception processing context to the first virtual processor.
제2항에 있어서,
상기 필터부는,
시스템 전반에 대응되는 가상 프로세서 서술자로의 접근은 외부 접근 윈도우를 통해 접근하고,
상기 제1가상 프로세서에서 처리되는 가상 프로세서의 서술자로의 접근은 내부 접근 윈도우를 통해 접근하는 것을 특징으로 하는 가상 머신 프로세서의 원격 처리 장치.
3. The method of claim 2,
The filter unit includes:
Access to the system-wide virtual processor descriptor is accessed through an external access window,
Wherein access to a descriptor of a virtual processor processed in the first virtual processor is accessed through an inner access window.
제1항에 있어서,
상기 제2가상화 처리부는,
상기 제2가상 프로세서를 구비하는 프로세서 처리부와,
상기 제1가상화 처리부로부터 제공되는 상기 제어 컨텍스트를 확인하고, 상기 제어 컨텍스트에 대응되는 상기 가상 프로세서 컨텍스트를 상기 제2가상 프로세서에 전달하는 컨텍스트제2가상 머신 모니터를 구비하는 프로세서 커널 관리부를 포함하는 것을 특징으로 하는 가상 머신 프로세서의 원격 처리 장치.
The method according to claim 1,
Wherein the second virtualization processing unit comprises:
A processor processor having the second virtual processor,
And a context second virtual machine monitor for checking the control context provided from the first virtualization processor and for transferring the virtual processor context corresponding to the control context to the second virtual processor Characterized in that the remote processing unit of the virtual machine processor.
제5항에 있어서,
상기 제2가상 머신 모니터는,
상기 제2가상 프로세서에 의해 처리가 불가능한 상기 가상 프로세서 컨텍스트를 확인하여 전역 예외 처리 컨텍스트로 설정하고, 상기 전역 예외 처리 컨텍스트를 상기 제1가상화 처리부로 전달하는 것을 특징으로 하는 가상 머신 프로세서의 원격 처리 장치.
6. The method of claim 5,
Wherein the second virtual machine monitor comprises:
Wherein the virtual processor is configured to identify the virtual processor context that can not be processed by the second virtual processor and to set the virtual processor context as a global exception processing context and to transfer the global exception processing context to the first virtualization processor .
제5항에 있어서,
상기 제2가상 머신 모니터는,
상기 제2가상 프로세서가 처리하는 상기 가상 프로세서 컨텍스트를 수행하는 과정에서 지역적인 예외가 발생되는지 여부를 확인하고,
상기 제2가상 프로세서의 상태를 복구하고, 상기 제2가상 프로세서로 상기 지역적인 예외가 발생된 컨텍스트의 재실행을 요청하는 것을 특징으로 하는 가상 머신 프로세서의 원격 처리 장치.
6. The method of claim 5,
Wherein the second virtual machine monitor comprises:
The method comprising: checking whether a local exception occurs in performing the virtual processor context processed by the second virtual processor;
And restores the state of the second virtual processor and requests the second virtual processor to re-execute the context in which the local exception occurred.
가상 머신 프로세서의 원격 처리 방법에 있어서,
제1가상화 처리부가 가상 프로세서 컨텍스트를 확인하는 과정과,
상기 가상 프로세서 컨텍스트의 수행을 요청하는 제어 컨텍스트를 제2가상화 처리부에 제공하는 과정과,
상기 제2가상화 처리부가 상기 제어 컨텍스트를 수신하고, 상기 제2가상화 처리부에 구비된 제2가상 프로세서를 사용하여 상기 제어 컨텍스트에 대응되는 상기 가상 프로세서 컨텍스트를 수행하는 과정과,
상기 제2가상화 처리부가 상기 가상 프로세서 컨텍스트의 수행 결과를 상기 제1가상화 처리부에 제공하는 과정을 포함하는 가상 머신 프로세서의 원격 처리 방법.
A method for remotely processing a virtual machine processor,
The first virtualization processing unit verifying the virtual processor context,
Providing a control context requesting execution of the virtual processor context to a second virtualization processor;
The second virtualization processing unit receiving the control context and performing the virtual processor context corresponding to the control context using a second virtual processor provided in the second virtualization processing unit;
And the second virtualization processing unit providing the execution result of the virtual processor context to the first virtualization processing unit.
제8항에 있어서,
상기 제2가상화 처리부가 상기 제2가상 프로세서에 의해 처리가 불가능한 상기 가상 프로세서 컨텍스트를 확인하는 과정과,
상기 제2가상 프로세서에 의해 처리가 불가능한 상기 가상 프로세서 컨텍스트를 전역 예외 처리 컨텍스트로 설정하는 과정과,
상기 전역 예외 처리 컨텍스트를 상기 제1가상화 처리부로 전달하는 과정을 포함하는 가상 머신 프로세서의 원격 처리 방법.
9. The method of claim 8,
The second virtualization processor checking the virtual processor context that is not processable by the second virtual processor;
Setting a virtual processor context that can not be processed by the second virtual processor to a global exception processing context;
And transferring the global exception handling context to the first virtualization processor.
제9항에 있어서,
상기 제1가상화 처리부가 상기 제2가상화 처리부로부터 상기 전역 예외 처리 컨텍스트를 수신하는 과정과,
상기 전역 예외 처리 컨텍스트를 상기 제1가상화 처리부에 구비된 상기 제1가상 프로세서로 전달하는 과정과,
상기 제1가상 프로세서가 상기 전역 예외 처리 컨텍스트를 수행하는 과정을 포함하는 것을 특징으로 하는 가상 머신 프로세서의 원격 처리 방법.
10. The method of claim 9,
The first virtualization processing unit receiving the global exception processing context from the second virtualization processing unit;
Transferring the global exception handling context to the first virtual processor of the first virtualization processor;
And executing the global exception processing context by the first virtual processor.
제8항에 있어서,
상기 제2가상화 처리부가 상기 가상 프로세서 컨텍스트를 수행하는 과정에서 지역적인 예외가 발생되는지 여부를 확인하는 과정과,
상기 제2가상 프로세서의 상태를 복구하는 과정과,
상기 제2가상 프로세서에 의해 상기 지역적인 예외가 발생된 컨텍스트를 재실행하는 과정을 포함하는 것을 특징으로 하는 가상 머신 프로세서의 원격 처리 방법.
9. The method of claim 8,
Checking whether a local exception occurs in the process of performing the virtual processor context by the second virtualization processing unit;
Recovering a state of the second virtual processor;
And re-executing the context in which the local exception was generated by the second virtual processor.
가상화 컴퓨팅 시스템에 있어서,
매니코어 환경에 기초한 복수의 코 프로세서와 메모리를 구비하는 프로세서 모듈과, 상기 프로세서 모듈을 서로 연결하는 인터커넥터부를 포함하는 매니코어 기반의 하드웨어 장치와,
제1 프로세서 모듈에 대응되는 제1가상 프로세서를 구비하며, 가상 프로세서 컨텍스트의 처리를 위해 요구되는 외부 장치의 제어, 상기 외부 장치로부터 제공되는 데이터의 관리, 상기 가상 프로세서 컨텍스트의 수행을 제어하는 제1가상화 처리부와, 제2 프로세서 모듈에 대응되는 제2가상 프로세서를 구비하며, 상기 제1가상화 처리부로부터 상기 가상 프로세서 컨텍스트의 처리를 요청받고, 처리 요청된 상기 가상 프로세서 컨텍스트를 처리하는 제2가상화 처리부를 포함하는 가상화 처리 장치를 포함하는 매니코어 기반의 가상화 컴퓨팅 시스템.
In a virtualized computing system,
A manifold-based hardware device including a processor module having a plurality of coprocessors and memories based on a manifold environment, and an interconnecting section for interconnecting the processor modules,
A first processor that is associated with a first processor module and is configured to control an external device required for processing a virtual processor context, manage data provided from the external device, and control the execution of the virtual processor context A second virtualization processor for requesting a process of the virtual processor context from the first virtualization processor and processing the virtual processor context requested to be processed, the virtualization processor including a virtualization processor and a second virtual processor corresponding to the second processor module, Wherein the virtualization processing unit includes a virtualization processing unit.
KR1020170148124A 2017-11-08 2017-11-08 Apparatus for remote processing for virtual machine processor and method for the same KR102505996B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170148124A KR102505996B1 (en) 2017-11-08 2017-11-08 Apparatus for remote processing for virtual machine processor and method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170148124A KR102505996B1 (en) 2017-11-08 2017-11-08 Apparatus for remote processing for virtual machine processor and method for the same

Publications (2)

Publication Number Publication Date
KR20190052440A true KR20190052440A (en) 2019-05-16
KR102505996B1 KR102505996B1 (en) 2023-03-08

Family

ID=66672266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170148124A KR102505996B1 (en) 2017-11-08 2017-11-08 Apparatus for remote processing for virtual machine processor and method for the same

Country Status (1)

Country Link
KR (1) KR102505996B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060047639A (en) * 2004-04-30 2006-05-18 마이크로소프트 코포레이션 Providing direct access to hardware from a virtual environment
KR20110041087A (en) * 2009-10-15 2011-04-21 성균관대학교산학협력단 Apparatus for server virtualization
KR20140031947A (en) * 2011-06-08 2014-03-13 맥아피 인코퍼레이티드 System and method for virtual partition monitoring
KR101707601B1 (en) * 2015-12-31 2017-02-16 숭실대학교산학협력단 Virtual machine monitor and schduling method of virtual machine monitor
KR101729680B1 (en) * 2015-12-01 2017-04-25 한국전자통신연구원 Method and apparatus for providing operating system based on lightweight hypervisor
KR101744689B1 (en) * 2016-03-02 2017-06-20 국방과학연구소 A combat management system using function of virtualization and a method for operating the same
KR20170107532A (en) * 2015-01-27 2017-09-25 닛본 덴끼 가부시끼가이샤 Management of network function virtualization, and orchestration device, system, management method and program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060047639A (en) * 2004-04-30 2006-05-18 마이크로소프트 코포레이션 Providing direct access to hardware from a virtual environment
KR20110041087A (en) * 2009-10-15 2011-04-21 성균관대학교산학협력단 Apparatus for server virtualization
KR20140031947A (en) * 2011-06-08 2014-03-13 맥아피 인코퍼레이티드 System and method for virtual partition monitoring
KR20170107532A (en) * 2015-01-27 2017-09-25 닛본 덴끼 가부시끼가이샤 Management of network function virtualization, and orchestration device, system, management method and program
KR101729680B1 (en) * 2015-12-01 2017-04-25 한국전자통신연구원 Method and apparatus for providing operating system based on lightweight hypervisor
KR101707601B1 (en) * 2015-12-31 2017-02-16 숭실대학교산학협력단 Virtual machine monitor and schduling method of virtual machine monitor
KR101744689B1 (en) * 2016-03-02 2017-06-20 국방과학연구소 A combat management system using function of virtualization and a method for operating the same

Also Published As

Publication number Publication date
KR102505996B1 (en) 2023-03-08

Similar Documents

Publication Publication Date Title
US11627041B2 (en) Dynamic reconfiguration of resilient logical modules in a software defined server
JP5874879B2 (en) I / O device control method and virtual computer system
US9519795B2 (en) Interconnect partition binding API, allocation and management of application-specific partitions
US9760408B2 (en) Distributed I/O operations performed in a continuous computing fabric environment
US9411646B2 (en) Booting secondary processors in multicore system using kernel images stored in private memory segments
JP6328134B2 (en) Method, apparatus, and program for performing communication channel failover in a clustered computer system
JP5710017B2 (en) Method and system for cell recovery in a telecommunications network
US10474496B1 (en) Dynamic multitasking for distributed storage systems by detecting events for triggering a context switch
US9176834B2 (en) Tolerating failures using concurrency in a cluster
US20160226788A1 (en) Managing use of lease resources allocated on fallover in a high availability computing environment
JP2016508647A5 (en)
WO2014090008A1 (en) Task processing method and virtual machine
US20150006978A1 (en) Processor system
US9529656B2 (en) Computer recovery method, computer system, and storage medium
US8141084B2 (en) Managing preemption in a parallel computing system
US20140143372A1 (en) System and method of constructing a memory-based interconnect between multiple partitions
US9830263B1 (en) Cache consistency
US11126575B1 (en) Interrupt recovery management
US10620856B2 (en) Input/output (I/O) fencing with persistent reservation information in shared virtual storage environments
Guay et al. Early experiences with live migration of SR-IOV enabled InfiniBand
US9952941B2 (en) Elastic virtual multipath resource access using sequestered partitions
US9880888B2 (en) Executing an operating system in a multiprocessor computer system
KR102505996B1 (en) Apparatus for remote processing for virtual machine processor and method for the same
US11204820B2 (en) Failure detection for central electronics complex group management
CN118093152A (en) Multi-core system information scheduling method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant