[go: up one dir, main page]

KR102505996B1 - 가상 머신 프로세서의 원격 처리 장치 및 방법 - Google Patents

가상 머신 프로세서의 원격 처리 장치 및 방법 Download PDF

Info

Publication number
KR102505996B1
KR102505996B1 KR1020170148124A KR20170148124A KR102505996B1 KR 102505996 B1 KR102505996 B1 KR 102505996B1 KR 1020170148124 A KR1020170148124 A KR 1020170148124A KR 20170148124 A KR20170148124 A KR 20170148124A KR 102505996 B1 KR102505996 B1 KR 102505996B1
Authority
KR
South Korea
Prior art keywords
processor
virtual
context
virtual processor
virtualization
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020170148124A
Other languages
English (en)
Other versions
KR20190052440A (ko
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/ko
Publication of KR20190052440A publication Critical patent/KR20190052440A/ko
Application granted granted Critical
Publication of KR102505996B1 publication Critical patent/KR102505996B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

본 개시의 일 실시 예에 따른 가상 머신 프로세서의 원격 처리 장치는 제1 프로세서 모듈에 대응되는 제1가상 프로세서를 구비하며, 가상 프로세서 컨텍스트의 처리를 위해 요구되는 외부 장치의 제어, 상기 외부 장치로부터 제공되는 데이터의 관리, 상기 가상 프로세서 컨텍스트의 수행을 제어하는 제1가상화 처리부와, 제2 프로세서 모듈에 대응되는 제2가상 프로세서를 구비하며, 상기 제1가상화 처리부로부터 상기 가상 프로세서 컨텍스트의 처리를 요청받고, 처리 요청된 상기 가상 프로세서 컨텍스트를 처리하는 제2가상화 처리부를 포함할 수 있다.

Description

가상 머신 프로세서의 원격 처리 장치 및 방법{APPARATUS FOR REMOTE PROCESSING FOR VIRTUAL MACHINE PROCESSOR AND METHOD FOR THE SAME}
본 개시는 컴퓨팅 시스템에 관한 것이며, 보다 구체적으로는 가상 머신 프로세서에서 처리되는 컨텍스트를 처리하는 방법 및 장치에 대한 것이다.
프로세서 기술이 발전함에 따라, 단일의 물리 프로세서 내에 복수의 코어 프로세서가 구비되도록 구현하고 있다. 그리고, 복수의 코어 프로세서를 효율적으로 운영할 수 있는 가상화 기술(virtualization technology)이 사용되고 있다.
예를 들어, 하드웨어 자원(예, 복수의 코어 프로세서)을 관리하는 호스트 운영체제(host OS)(또는 커널) 상에 가상화 계층(Virtualization Layer)을 형성하고, 가상화 계층이 하드웨어 자원(예, 복수의 코어 프로세서)에 대한 접근을 관리함으로써, 가상화를 실현할 수 있다. 또는, 하드웨어 자원(예, 복수의 코어 프로세서)과 호스트 운영체제(host OS)(또는 커널) 사이에 가상 머신 모니터(Virtual Machine Monitor; VMM) 혹은 하이퍼바이저를 운영함으로써, 가상화를 실현할 수 있다.
데이터센터(datacenter) 환경에서 다수의 가상 머신(virtual machine, VM)이 하나의 물리 머신 상에서 실행될 수 있다. 가상 머신의 생성, 삭제, 시작 및 재시작 등의 관리는 통상적으로 가상 머신 매니저에 의하여 이루어질 수 있는데, 가상 머신 매니저는 독립적인 애플리케이션의 형태로서 구현되거나, 운영 체제의 일부로서 구현될 수 있다.
다수의 가상 머신 간에는 고립성(isolation)이 제공된다. 고립성은, 여러 가상 머신 중에서 하나의 가상 머신에 문제가 발생된 경우에도, 이러한 문제가 다른 가상 머신에는 영향을 주지 않도록 함으로써 높은 안정성을 제공한다.
가상 머신이 컨텍스트를 처리하는 과정에서, 컨텍스트에서의 직접적인 갱신을 가정하고 있으며 또한 지속적으로 기록할 수 있다. 이러한 환경에서, 가상 머신은 기록된 정보를 사용하여, 임의의 시점에서 정확한 복구가 가능하다.
하지만, 가상머신은 고립성을 유지하도록 구비되므로, 각각의 가상 머신 상에서만 해당 컨텍스트의 수행이 가능하다는 문제가 있다.
본 개시의 기술적 과제는 가상 머신의 연산 처리와 상태 관리를 분리하여 처리할 수 있는 방법 및 장치를 제공하는 것이다.
본 개시의 다른 기술적 과제는 클라우드 서비스 제공자에서 발생할 수 있는 프로세서 자원의 내부 단편화(internal fragmentation)를 실현할 수 있는 방법 및 장치를 제공하는 것이다.
본 개시의 또 다른 기술적 과제는 물리 노드에서 수용 가능한 프로세서 보다 상대적으로 많은 가상 프로세서를 구현하고, 다수의 가상 프로세서를 구비하는 가상 머신을 제공할 수 있는 방법 및 장치를 제공하는 것이다. 본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 양상에 따르면 가상 머신 프로세서의 원격 처리 장치가 제공될 수 있다. 상기 장치는 제1 프로세서 모듈에 대응되는 제1가상 프로세서를 구비하며, 가상 프로세서 컨텍스트의 처리를 위해 요구되는 외부 장치의 제어, 상기 외부 장치로부터 제공되는 데이터의 관리, 상기 가상 프로세서 컨텍스트의 수행을 제어하는 제1가상화 처리부와, 제2 프로세서 모듈에 대응되는 제2가상 프로세서를 구비하며, 상기 제1가상화 처리부로부터 상기 가상 프로세서 컨텍스트의 처리를 요청받고, 처리 요청된 상기 가상 프로세서 컨텍스트를 처리하는 제2가상화 처리부를 포함할 수 있다.
본 개시의 다른 양상에 따르면 가상 머신 프로세서의 원격 처리 방법이 제공될 수 있다. 상기 방법은 가상 머신 프로세서의 원격 처리 방법에 있어서, 제1가상화 처리부가 가상 프로세서 컨텍스트를 확인하는 과정과, 상기 가상 프로세서 컨텍스트의 수행을 요청하는 제어 컨텍스트를 제2가상화 처리부에 제공하는 과정과, 상기 제2가상화 처리부가 상기 제어 컨텍스트를 수신하고, 상기 제2가상화 처리부에 구비된 제2가상 프로세서를 사용하여 상기 제어 컨텍스트에 대응되는 상기 가상 프로세서 컨텍스트를 수행하는 과정과, 상기 제2가상화 처리부가 상기 가상 프로세서 컨텍스트의 수행 결과를 상기 제1가상화 처리부에 제공하는 과정을 포함할 수 있다.
본 개시의 다른 양상에 따르면 매니코어 기반의 가상화 컴퓨팅 시스템이 제공될 수 있다. 상기 시스템은 가상화 컴퓨팅 시스템에 있어서, 매니코어 환경에 기초한 복수의 코 프로세서와 메모리를 구비하는 프로세서 모듈과, 상기 프로세서 모듈을 서로 연결하는 인터커넥터부를 포함하는 매니코어 기반의 하드웨어 장치와, 제1 프로세서 모듈에 대응되는 제1가상 프로세서를 구비하며, 가상 프로세서 컨텍스트의 처리를 위해 요구되는 외부 장치의 제어, 상기 외부 장치로부터 제공되는 데이터의 관리, 상기 가상 프로세서 컨텍스트의 수행을 제어하는 제1가상화 처리부와, 제2 프로세서 모듈에 대응되는 제2가상 프로세서를 구비하며, 상기 제1가상화 처리부로부터 상기 가상 프로세서 컨텍스트의 처리를 요청받고, 처리 요청된 상기 가상 프로세서 컨텍스트를 처리하는 제2가상화 처리부를 포함하는 가상화 처리 장치를 포함할 수 있다.
본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.
본 개시에 따르면, 가상 프로세서의 컨텍스트를 분리하여 원격의 다른 물리 노드에서 수행할 수 있다.
나아가, 서로 다른 물리 노드에서 가상 프로세서에서 처리되어야 하는 컨텍스트를 분리하여 처리할 수 있도록 함으로써, 클라우드 서비스 제공자에서 발생할 수 있는 프로세서 자원의 내부 단편화(internal fragmentation)를 실현할 수 있다.
또한, 물리 노드에서 수용 가능한 프로세서 보다 많은 가상 프로세서를 구현할 수 있으며, 이와 같이 다수의 가상 프로세서를 구비하는 가상 머신을 제공할 수 있다.
또한, 분리된 컨텍스트는 가상 프로세서 서술자에 대한 접근 방법에 대하여 외부/내부 접근 윈도우 구분을 통한 접근 제어를 통제할 수 있도록 함으로써, 가상 머신의 성능 저하를 최소화할 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 단일 칩의 형태의 매니코어 프로세서의 구성을 도시하는 블록도이다.
도 2는 단일 칩의 형태의 매니코어 프로세서에 적용되는 컴퓨팅 시스템의 구조를 도시하는 도면이다.
도 3은 본 개시의 일 실시예에 따른 가상머신 프로세서의 원격 처리 방법이 적용되는 매니코어 환경의 가상화 컴퓨팅 시스템의 구조를 도시하는 도면이다.
도 4는 본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치가 적용되는 가상화 컴퓨팅 시스템의 구성을 예시하는 도면이다.
도 5는 본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치의 동작을 예시하는 도면이다.
도 6은 본 발명의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치에 구비되는 필터부의 상세 동작을 예시하는 도면이다.
도 7a는 본 발명의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치에 구비되는 제1가상화 장치의 동작 과정을 도시하는 도면이다.
도 7b는 본 발명의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치에 구비되는 제2가상화 장치의 동작 과정을 도시하는 도면이다.
이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 개시의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시 예에서의 제1 구성요소는 다른 실시 예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시 예에서의 제2 구성요소를 다른 실시 예에서 제1 구성요소라고 칭할 수도 있다.
본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 개시의 범위에 포함된다.
본 개시에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들은 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 개시의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 개시의 범위에 포함된다.
이하, 첨부한 도면을 참조하여 본 개시의 실시 예들에 대해서 설명한다.
매니코어 프로세서는 코어 프로세서와 메모리를 수십 개 내지 수백 개를 구비하는 프로세서 일 수 있다. 매니코어 프로세서는 도 1에서 예시하는 바와 같이 단일 칩의 형태로 구비될 수 있는데, 단일 칩의 형태의 매니코어 프로세서(100)는 코어 프로세서와 메모리를 포함하는 프로세서 모듈(101-1, … 101-n)을 수십 개 내지 수백 개를 구비할 수 있다. 프로세서 모듈(101-1, … 101-n)은 NoC(Network on chip)(103)를 통해 서로 인터커넥트될 수 있다.
단일 칩의 형태의 매니코어 프로세서(100)는 시스템의 구축 비용, 목적에 따른 제한적인 구조 등 고정적인 하드웨어의 상황에 따라 여러 제약사항이 따른다.
특히, 단일 칩의 형태의 매니코어 프로세서(100)로 구성되더라도, 프로세서 모듈(101-1, … 101-n)을 사용하기 위해서는, 도 2에서 예시하는 분산 시스템(200)의 형태와 같이, 프로세서 모듈(201-1, … 201-n)에 구비되는 코어 프로세서와 메모리 상에, 운영체제 처리부(220)와, 응용 프로그램 처리부(230)가 구현되어야 하는 문제가 있다.
이와 같이 프로세서 모듈(201-1, … 201-n)에 각각 대응되는 운영체제 처리부(220)가 구현될 경우, 프로세서 모듈(201-1, … 201-n) 각각에 대응되는 서로 다른 운영체제가 탑재되도록 구현되므로, 프로세서 모듈(201-1, … 201-n)을 모두 사용할 수 있는 단일의 운영체제가 탑재되지 못하는 문제가 발생된다.
본 개시의 일 실시예는 프로세서 모듈(201-1, … 201-n)을 모두 사용할 수 있는 단일의 운영체제를 탑재할 수 있는 매니코어 환경의 가상화 컴퓨팅 시스템을 개시한다.
도 3은 본 개시의 일 실시예에 따른 가상머신 프로세서의 원격 처리 방법이 적용되는 매니코어 환경의 가상화 컴퓨팅 시스템의 구조를 도시하는 도면이다.
도 3을 참조하면, 매니코어 환경의 가상화 컴퓨팅 시스템은 매니코어 기반의 하드웨어 장치(310), 가상화 처리부(320), 운영체체 처리부(330), 및 응용 프로그램 처리부(340)를 포함할 수 있다.
매니코어 기반의 하드웨어 장치(310)는 복수의 코어 프로세서(301a)와 메모리(301b)를 포함하는 프로세서 모듈(301-1, … 301-n)을 구비할 수 있다. 여기서, 복수의 코어 프로세서(301a)는 수십 개 내지 수백 개를 포함할 수 있고, 프로세서 모듈(301-1, … 301-n)은 1,000개 이상을 포함할 수 있다.
그리고, 매니코어 기반의 하드웨어 장치(310)는 프로세서 모듈(301-1, … 301-n)이 서로 고속 인터커넥트 네트워크로 연결하는 인터커넥터(303)(예, NoC(Network on chip), PCIe(PCI Express))를 포함할 수 있다.
가상화 처리부(320)는 물리적으로 분리되어 있는 시스템 자원을 하나의 시스템 자원으로 운영하는 장치일 수 있다.
가상화 처리부(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)에 구비된 메모리와 가상 메모리를 매칭하는 메모리 관리자, 태스크 관리자와 메모리 관리자의 동작을 스케줄링하는 스케줄러 등을 포함할 수 있다.
특히, 가상화 처리부(320)는 상태 처리부(323) 및 프로세서 처리부(324, 325)를 구비하는 가상 머신 수행부(322)를 포함할 수 있다.
상태 처리부(323)는 적어도 하나의 프로세서 모듈(301-1, … 301-n)에 연결되어 가상의 노드로서 동작될 수 있다. 그리고, 프로세서 처리부(324, 325)는 복수개가 구비될 수 있으며, 복수의 프로세서 처리부(324, 325)는 각각 프로세서 모듈(301-1, … 301-n)에 연결되어 가상의 노드로서 동작될 수 있다.
프로세서 처리부(324, 325)는 가상화 처리부(320)에서 수행되어야 할 컨텍스트 쓰레드(vcpu_context thread)를 처리하고, 상태 처리부(323)는 제어 쓰레드(vcpu_control thread) 처리, 쓰레드(vcpu_context thread)의 처리에 필요한 컨텍스트 제공 및 관리 등을 처리할 수 있다. 또한, 프로세서 처리부(324, 325)는 쓰레드의 처리과정에서 전역 예외에 대응되는 쓰레드는 상태 처리부(323)에 제공할 수 있으며, 상태 처리부(323)가 전역 예외에 대응되는 쓰레드를 처리할 수 있다.
제어 쓰레드(vcpu_control thread)와 컨텍스트 쓰레드(vcpu_context thread)는 별도의 쓰레드로 구성되기 때문에 프로세서 처리부(324, 325)의 상태를 유지하기 위해 데이터 스트럭쳐의 일관성을 유지할 필요가 있다. 이에 따라, 프로세서 처리부(324, 325)는 제어 쓰레드(vcpu_control thread)와 컨텍스트 쓰레드(vcpu_context thread)에 대응되는 데이터 스트럭쳐를 복제하여 가상 메모리내에 저장할 수 있으며, 각각의 메모리에서 데이터 스트럭쳐로 접근 및 관리할 수 있다.
이러한, 상태 처리부(323)와 프로세서 처리부(324, 325)의 동작을 통해 프로세서 자원(예, CPU)의 외현화를 실현할 수 있다.
나아가, 가상화 처리부(320)는 가상 메모리를 외현화 하기 위하여 Page-level granularity인 디렉토리 기반의 캐쉬를 사용할 수 있다. 여기서 사용되는 캐쉬는 fault 기반으로 접근하고 동작한다. (108)원격 메모리를 사용하고자 할 경우 처리되는 커널 데이터 구조의 일관성을 유지하면서 자원을 공유할 수 있다. 예컨대, 제1프로세서 처리부(324)가 쓰레드를 처리하는 과정에서, 제2프로세서 처리부(325)에 할당된 가상 메모리에 접근할 수 있다.
이하, 본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치의 구조를 설명한다.
본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치는 전술한 매니코어 환경의 가상화 컴퓨팅 시스템에 구비된 가상화 처리부(320)에 적용되거나, 다양한 환경의 가상화 컴퓨팅 시스템에 적용될 수 있다.
도 4는 본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치가 적용되는 가상화 컴퓨팅 시스템의 구성을 예시하는 도면이다.
도 4를 참조하면, 가상화 컴퓨팅 시스템은 하드웨어 장치(410), 가상화 처리부(420), 운영체제 처리부(430), 및 응용 프로그램 처리부(440)를 포함할 수 있다.
하드웨어 장치(410)는 복수의 프로세서(401a)와 메모리(401b)를 포함하는 프로세서 모듈(401-1, … 401-n)을 구비할 수 있다. 그리고, 하드웨어 장치(410)는 프로세서 모듈(401-1, … 401-n)이 서로 고속 인터커넥트 네트워크로 연결하는 인터커넥터(403)(예, NoC(Network on chip), PCIe(PCI Express))를 포함할 수 있다.
가상화 처리부(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)가 각각 연결될 수 있다.
상태 커널 관리부(421-1)는 프로세서 모듈(401-1, … 401-n)에 구비되는 자원을 모니터링하는 가상 머신 모니터부(VMM; Virtual Machine Monitor)(422)와, 상태 처리부(425-1)에 구비되는 프로세서의 접근을 제어하는 필터부(423)를 구비할 수 있다.
프로세서 커널 관리부(421-2, … 421-n)는 프로세서 모듈(401-1, … 401-n)에 구비되는 자원을 모니터링하는 가상 머신 모니터부(VMM; Virtual Machine Monitor)(424-2, … 424-n)를 구비할 수 있다.
전술한 가상화 컴퓨팅 시스템에 구비되는 상태 커널 관리부(421-1), 프로세서 커널 관리부(421-2, … 421-n), 상태 처리부(425-1), 및 프로세서 처리부(425-2, … 425-n)는 본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치로 지칭할 수 있다.
이하, 본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치의 동작을 설명한다.
도 5는 본 개시의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치의 상세 구성을 예시하는 도면이다.
상태 처리부(425-1)는 제1가상 프로세서(426-1), 외부 가상화 장치(vCPU/vIO 장치)(427), 및 가상머신 상태 관리부(428)를 포함할 수 있다. 상태 처리부(425-1)는 상태 커널 관리부(421-1)에 구비된 제1가상 머신 모니터부(VMM)(422)와, 필터부(423)에 연결될 수 있으며, 컨텍스트의 처리를 위해 요구되는 외부 가상화 장치(vCPU/vIO 장치)(427)의 제어 및 상기 외부 가상화 장치(vCPU/vIO 장치)(427)로부터 제공되는 데이터의 관리, 상기 컨텍스트의 제공 및 관리를 처리할 수 있다.
필터부(423)는 외부 가상화 장치(vCPU/vIO 장치)(427)로부터 요청되는 상기 제1가상 프로세서(426-1)로의 접근을 제어할 수 있다.
제1가상 머신 모니터(422)는 상기 프로세서 처리부(425-2)로 컨텍스트를 제공하고, 상기 프로세서 처리부(425-2)에서 처리가 불가한 컨텍스트(예컨대, 전역 예외 컨텍스트 등)를 상기 제1가상 프로세서(426-1)에 제공할 수 있다.
또한, 제1가상 머신 모니터(422)는 상기 제1가상 프로세서(426-1)에서 처리되는 컨텍스트를 모니터링하여 가상 머신의 상태를 관리하는 가상머신 상태 관리부(428)에 제공할 수 있다.
한편, 프로세서 처리부(425-2)는 제2가상 프로세서(426-2)를 구비할 수 있고, 제2가상 프로세서(426-2)는 프로세서 커널 관리부(421-2)에 구비된 제2가상 머신 모니터부(VMM)(424-2)에 연결될 수 있다.
제2가상 머신 모니터(424-2)는 제1가상 머신 모니터(422)로부터 수신되는 제어 컨텍스트를 제2가상 프로세서(426-2)로 전달하고, 제2가상 프로세서(426-2)는 상기 제어 컨텍스트를 처리한다.
그리고, 제2가상 머신 모니터(424-2)는 제2가상 프로세서(426-2)에서 처리되는 제어 컨텍스트를 모니터링할 수 있다. 상기 제2가상 프로세서(426-2)가 컨텍스트를 처리하면서 예외적인 처리가 발생될 수 있는데, 제2가상 머신 모니터(424-2)는 이때 발생하는 예외에 대해서 지역적으로 처리 가능한 예외 상황은 제2가상 프로세서(426-2) 자체에서 처리하고, 상기 제2가상 프로세서(426-2)에서 처리가 불가한 컨텍스트(예컨대, 전역 예외 컨텍스트 등)를 제1가상 머신 모니터(422)에 제공 및 처리를 요청할 수 있다.
이와 같이, 가상 머신에서 수행해야 하는 어플리케이션의 컨텍스트들은 기본적으로 프로세서 처리부(425-2)의 상기 제2가상 프로세서(426-2)에서 수행하고, 이에 대한 제어, 컨텍스트의 제공 및 관리, 그리고 전역 예외에 대한 처리는 상태 처리부(425-1)의 제1가상 프로세서(426-1)에서 수행된다. 이렇게 가상 머신에서 수행해야 하는 어플리케이션의 컨텍스트들에 대응되는 로직들을 제1가상 프로세서(426-1)와 제2가상 프로세서(426-2)로 나뉘어 서로 다른 두 노드 상에서 분리하여 수행한다.
나아가, 전술한 상태 처리부(425-1)와 상태 커널 관리부(421-1)를 제1가상화 장치로 지칭하고, 프로세서 처리부(425-2)와 프로세서 커널 관리부(421-2)에 제2가상화 장치로 지칭할 수 있다. 비록 본 개시의 일 실시예에서, 제2가상화 장치가 1개인 것을 예시하고 있으나, 가상화 환경에 대응하여 제2가상화 장치의 개수는 다양하게 변경될 수 있음은 물론이다.
도 6은 본 발명의 일 실시예에 따른 가상 머신 프로세서의 원격 처리 장치에 구비되는 필터부의 상세 동작을 예시하는 도면이다.
외부 가상화 장치(vCPU/vIO 장치)(427)와 같은 외부 장치에 의해 제공되는 메시지 또는 컨텍스트를 원격 지에 구비되는 제2가상 프로세서(426-2)에 전달하기 위해서는, 가상 프로세서 서술자(650)에 접근하여 메시지 또는 컨텍스트에 대한 요청을 기록하여야 한다. 이와 같이 메시지 또는 컨텍스트에 대한 요청이 기록될 경우, 레이스의 발생이 야기될 수 있다.
나아가, 가상 머신 모니터의 기능적 확장에 따라, 수많은 메시지 또는 컨텍스트가 가상 프로세서 서술자(650)에 접근 또는 기록될 수 있으므로, 가상 프로세서 서술자(650)에 대한 접근 또는 기록을 제어하기 위한 장치가 요구된다.
시스템 전반에 알려져 있는 가상 프로세서 서술자(650)로의 접근은 외부 접근 윈도우 영역(620)을 통해서 접근이 되어야 하고, 제1가상 프로세서(426-1)에서의 접근은 내부 접근 윈도우 영역(630)을 통해 접근해야 한다.
이를 고려하여, 필터부(423)는 외부 접근 윈도우 영역(620)을 통한 접근은 갱신에 대한 예외가 발생될 수 있도록 해당 가상 프로세서에 대한 요청큐(600)에 할당하고 이를 제1가상 프로세서(426-1)가 처리할 수 있는 구조로 구비될 수 있다. 이러한 필터부(423)의 구성으로써, 전술한 레이스의 발생을 방지할 수 있다.
도 7a는 본 발명의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치에 구비되는 제1가상화 장치의 동작 과정을 도시하는 도면이고, 도 7b는 본 발명의 다른 실시예에 따른 가상 머신 프로세서의 원격 처리 장치에 구비되는 제2가상화 장치의 동작 과정을 도시하는 도면이다.
도 7a를 참조하면, 상태 처리부(425-1)는 제1가상 프로세서(426-1)의 초기화를 처리한다(S311).
예를 들어, 통신 가능한 두 노드, 즉, 상태 처리부(425-1)와, 프로세서 처리부(425-2)에서 각각 제1가상 프로세서(426-1)와 제2가상 프로세서(426-2)가 수행된다.
제1가상 프로세서(426-1)의 초기화를 위해서 가상 머신 상태 관리부(428)에 의해서 가상 머신에 대한 상태가 정의되고 이에 따라서 하나의 가상 프로세서 컨텍스트를 생성한다.
제1가상 프로세서(426-1)는 제2가상 프로세서(426-2)와의 연결을 생성하며 연결된 제2가상 프로세서(426-2)의 요청을 대기하는 것을 확인한 후 제2가상 프로세서(426-2)의 수행을 요청한다(S312).
이후, 제1가상 프로세서(426-1)는 제2가상 프로세서(426-2)의 수행 결과를 대기한다(S313). 그리고, 제1가상 프로세서(426-1)는 제2가상 프로세서(426-2)의 수행 결과를 전송받게 되면 이의 결과에 따른 전역 예외 처리를 우선적으로 확인하여 처리하고, 다시 S312 단계를 진행하여 제2가상 프로세서(426-2)의 수행 요청을 처리한다(S314).
한편, S314 단계에서, 전역 예외에 대한 처리가 없을 경우, 제1가상 프로세서(426-1)는 입출력 이벤트를 대기하고(S315), 해당 입출력 이벤트가 발생되면 S312 단계를 진행하여 입출력 이벤트에 대응되는 컨텍스트를 제2가상 프로세서(426-2)에 전달한다.
제1가상 프로세서(426-1)는 가상 프로세서의 동작이 완료될 경우 가상 프로세서의 종료를 지시하는 제어 컨텍스트를 제2가상 프로세서(426-2)에 전달할 수 있다(S316).
한편, 도 3b를 참조하면, 프로세서 처리부(425-2)는 제2가상 프로세서(426-2)의 초기화를 처리한다(S321). 그리고, 제2가상 프로세서(426-2)는 제1가상 프로세서(426-1)로부터 콘택스트 처리 요청을 대기한다(S322).
제2가상 프로세서(426-2)는 제1가상 프로세서(426-1)로부터 콘택스트 처리 요청을 수신하게 되면, 해당되는 콘택스트의 처리를 수행한다(S323). 이때, 제2가상 프로세서(426-2)는 요청된 콘택스트가 처리 가능한 콘택스트인지 여부를 확인할 수 있다(S324).
요청된 콘택스트가 처리 가능한 콘택스트인 경우(S324-예) 제2가상 프로세서(426-2)는 S325 단계를 진행하고, 요청된 콘택스트가 처리 불가능한 콘택스트인 경우(S324-아니오) S330 단계를 진행한다.
다음으로, 제2가상 프로세서(426-2)는 프로세서 처리부(425-2)의 호스트 상태를 저장하고(S325), 요청된 가상 프로세서 콘택스트를 로드하여(S326), 로드된 가상 프로세서 콘택스트를 수행한다(S327).
가상 프로세서 콘택스트를 수행 과정에서 콘택스트에서 예외가 발생될 경우(S328-예), 제2가상 프로세서(426-2)는 S325 단계에서 저장된 프로세서 처리부(425-2)의 호스트 상태를 사용하여 복구를 처리한다(S329). 그리고, 제2가상 프로세서(426-2)는 발생된 예외가 지역적으로 처리가 가능한 예외인지 여부를 확인하고(S330), 지역적으로 처리가 가능한 예외인 경우(S330-예), 지역 예외 처리로 분류하여 지역 예외 처리를 수행한다(S331). 반면, 앞서 발생된 예외가, 제2가상 프로세서(426-2)에서 지역 예외로 처리 불가능할 경우, 제2가상 프로세서(426-2)는 S332 단계를 진행하여 해당 컨텍스트를 수행할 수 없음에 대한 결과를 상태 처리부(425-1)로 전달할 수 있다.
종래의 가상 머신 시스템에서 가상 프로세서는 물리적으로 단일 노드에 구비된 프로세서에서만 수행되어야 하는 문제가 있다. 이에 반하여, 본 발명에서 제시하는 가상 머신 프로세서의 원격 처리 장치 및 방법에 따르면, 가상 프로세서의 컨텍스트를 분리하여 원격의 다른 물리 노드에서 수행할 수 있다. 이와 같이, 서로 다른 물리 노드에서 가상 프로세서에서 처리되어야 하는 컨텍스트를 분리하여 처리할 수 있도록 함으로써, 클라우드 서비스 제공자에서 발생할 수 있는 프로세서 자원의 내부 단편화(internal fragmentation)를 실현할 수 있다.
나아가, 물리 노드에서 수용 가능한 프로세서 보다 많은 가상 프로세서를 구현할 수 있으며, 이와 같이 다수의 가상 프로세서를 구비하는 가상 머신을 제공할 수 있다.
또한, 분리된 컨텍스트는 가상 프로세서 서술자에 대한 접근 방법에 대하여 외부/내부 접근 윈도우 구분을 통한 접근 제어를 통제할 수 있도록 함으로써, 가상 머신의 성능 저하를 최소화할 수 있다.
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(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), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.

Claims (12)

  1. 가상 머신 프로세서의 원격 처리 장치에 있어서,
    제1 프로세서 모듈에 대응되는 제1가상 프로세서와 상기 제1가상 프로세서로의 접근을 제어하는 필터부를 구비하며, 가상 프로세서 컨텍스트의 처리를 위해 요구되는 외부 장치의 제어, 상기 외부 장치로부터 제공되는 데이터의 관리, 상기 가상 프로세서 컨텍스트의 수행을 제어하는 제1가상화 처리부와,
    제2 프로세서 모듈에 대응되는 제2가상 프로세서를 구비하며, 상기 제1가상화 처리부로부터 상기 가상 프로세서 컨텍스트의 처리를 요청받고, 처리 요청된 상기 가상 프로세서 컨텍스트를 처리하는 제2가상화 처리부를 포함하고,
    상기 필터부는,
    미리 설정된 외부 접근 윈도우 영역을 통하여 갱신에 대한 예외가 발생될 수 있도록 갱신 예외 처리를 상기 제1 가상 프로세서에 대한 요청큐에 할당하여 상기 제1가상 프로세서에 의해 처리함으로써, 가상 프로세서 서술자로의 접근을 제어하고, 미리 설정된 내부 접근 윈도우 영역을 통하여 상기 제1 가상 프로세서에서의 접근을 제어하며,
    상기 제1가상화 처리부는,
    상기 제1가상 프로세서를 구비하는 상태 관리부와,
    제어 컨텍스트를 제공하는 제1가상 머신 모니터를 구비하는 상태 커널 관리부를 포함하되,
    상기 제1가상 머신 모니터는, 상기 제2가상화 처리부로 상기 가상 프로세서 컨텍스트의 수행을 요청하고,
    상기 제1가상 머신 모니터는,
    상기 제2가상화 처리부로부터 상기 제2가상화 처리부에 의해 처리가 불가능한 전역 예외 처리 컨텍스트를 수신하고, 상기 전역 예외 처리 컨텍스트를 상기 제1가상 프로세서로 전달하는 것을 특징으로 하는 가상 머신 프로세서의 원격 처리 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 제2가상화 처리부는,
    상기 제2가상 프로세서를 구비하는 프로세서 처리부와,
    상기 제1가상화 처리부로부터 제공되는 제어 컨텍스트를 확인하고, 상기 제어 컨텍스트에 대응되는 상기 가상 프로세서 컨텍스트를 상기 제2가상 프로세서에 전달하는 제2가상 머신 모니터를 구비하는 프로세서 커널 관리부를 포함하는 것을 특징으로 하는 가상 머신 프로세서의 원격 처리 장치.
  5. 제4항에 있어서,
    상기 제2가상 머신 모니터는,
    상기 제2가상 프로세서에 의해 처리가 불가능한 상기 가상 프로세서 컨텍스트를 확인하여 전역 예외 처리 컨텍스트로 설정하고, 상기 전역 예외 처리 컨텍스트를 상기 제1가상화 처리부로 전달하는 것을 특징으로 하는 가상 머신 프로세서의 원격 처리 장치.
  6. 제4항에 있어서,
    상기 제2가상 머신 모니터는,
    상기 제2가상 프로세서가 처리하는 상기 가상 프로세서 컨텍스트를 수행하는 과정에서 지역적인 예외가 발생되는지 여부를 확인하고,
    상기 제2가상 프로세서의 상태를 복구하고, 상기 제2가상 프로세서로 상기 지역적인 예외가 발생된 컨텍스트의 재실행을 요청하는 것을 특징으로 하는 가상 머신 프로세서의 원격 처리 장치.
  7. 가상 머신 프로세서의 원격 처리 방법에 있어서,
    제1 가상 프로세서에서 가상 프로세서 컨텍스트를 확인하는 과정과,
    상기 제1 가상 프로세서에서 상기 가상 프로세서 컨텍스트의 수행을 요청하는 제어 컨텍스트를 제2가상 프로세서로 제공하는 과정과,
    상기 제1 가상 프로세서에서 상기 제어 컨텍스트에 대응되는 상기 가상 프로세서 컨텍스트의 수행 결과를 상기 제2가상 프로세서로부터 수신하는 과정을 포함하고,
    미리 설정된 외부 접근 윈도우 영역을 통하여 갱신에 대한 예외가 발생될 수 있도록 갱신 예외 처리를 상기 제1 가상 프로세서에 대한 요청큐에 할당하여 상기 제1가상 프로세서에 의해 처리함으로써, 가상 프로세서 서술자로의 접근을 제어하고, 미리 설정된 내부 접근 윈도우 영역을 통하여 상기 제1 가상 프로세서에서의 접근을 제어하는 과정을 더 포함하고,
    상기 제2가상 프로세서는,
    상기 제2가상 프로세서에 의해 처리가 불가능한 상기 가상 프로세서 컨텍스트를 확인하는 과정과,
    상기 제2가상 프로세서에 의해 처리가 불가능한 상기 가상 프로세서 컨텍스트를 전역 예외 처리 컨텍스트로 설정하는 과정과,
    상기 전역 예외 처리 컨텍스트를 상기 제1가상 프로세서로 전달하는 과정을 수행하는 가상 머신 프로세서의 원격 처리 방법.
  8. 삭제
  9. 제7항에 있어서,
    상기 제1가상 프로세서에서 상기 제2가상 프로세서로부터 상기 전역 예외 처리 컨텍스트를 수신하는 과정과,
    상기 제1가상 프로세서에서 상기 전역 예외 처리 컨텍스트를 수행하는 과정을 포함하는 것을 특징으로 하는 가상 머신 프로세서의 원격 처리 방법.
  10. 삭제
  11. 삭제
  12. 삭제
KR1020170148124A 2017-11-08 2017-11-08 가상 머신 프로세서의 원격 처리 장치 및 방법 Active KR102505996B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170148124A KR102505996B1 (ko) 2017-11-08 2017-11-08 가상 머신 프로세서의 원격 처리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170148124A KR102505996B1 (ko) 2017-11-08 2017-11-08 가상 머신 프로세서의 원격 처리 장치 및 방법

Publications (2)

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

Family

ID=66672266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170148124A Active KR102505996B1 (ko) 2017-11-08 2017-11-08 가상 머신 프로세서의 원격 처리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102505996B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101707601B1 (ko) 2015-12-31 2017-02-16 숭실대학교산학협력단 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법
KR101729680B1 (ko) * 2015-12-01 2017-04-25 한국전자통신연구원 경량 하이퍼바이저에 기반하는 운영체제의 제공 방법 및 장치
KR101744689B1 (ko) * 2016-03-02 2017-06-20 국방과학연구소 가상화 기능을 이용한 전투관리체계 및 그 운용방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050246453A1 (en) * 2004-04-30 2005-11-03 Microsoft Corporation Providing direct access to hardware from a virtual environment
KR101077908B1 (ko) * 2009-10-15 2011-10-31 성균관대학교산학협력단 서버 가상화 장치
US9298910B2 (en) * 2011-06-08 2016-03-29 Mcafee, Inc. System and method for virtual partition monitoring
CA2975071C (en) * 2015-01-27 2021-03-23 Nec Corporation Management of network functions virtualization and orchestration apparatus, system, management method, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101729680B1 (ko) * 2015-12-01 2017-04-25 한국전자통신연구원 경량 하이퍼바이저에 기반하는 운영체제의 제공 방법 및 장치
KR101707601B1 (ko) 2015-12-31 2017-02-16 숭실대학교산학협력단 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법
KR101744689B1 (ko) * 2016-03-02 2017-06-20 국방과학연구소 가상화 기능을 이용한 전투관리체계 및 그 운용방법

Also Published As

Publication number Publication date
KR20190052440A (ko) 2019-05-16

Similar Documents

Publication Publication Date Title
US9760408B2 (en) Distributed I/O operations performed in a continuous computing fabric environment
US9996401B2 (en) Task processing method and virtual machine
US11301350B1 (en) Automated testing of systems and applications
US10416996B1 (en) System and method for translating affliction programming interfaces for cloud platforms
US7992032B2 (en) Cluster system and failover method for cluster system
JP6089349B2 (ja) マルチコアアーキテクチャでのリソース分離を支援するための方法およびシステム
US10404795B2 (en) Virtual machine high availability using shared storage during network isolation
US9110717B2 (en) Managing use of lease resources allocated on fallover in a high availability computing environment
US20140358972A1 (en) Interconnect partition binding api, allocation and management of application-specific partitions
US20220100599A1 (en) Automated testing of systems and applications
US8006254B2 (en) Bequeathing privilege to a dynamically loaded module
US11983100B2 (en) Automated testing of systems and applications
EP3785111B1 (en) Live update of a kernel device module
JP2016508647A5 (ko)
KR102204670B1 (ko) 프록시 기반 멀티스레딩 메시지 전달 통신을 위한 기술
US11188369B2 (en) Interrupt virtualization
US9529656B2 (en) Computer recovery method, computer system, and storage medium
US8156510B2 (en) Process retext for dynamically loaded modules
Guay et al. Early experiences with live migration of SR-IOV enabled InfiniBand
KR102505996B1 (ko) 가상 머신 프로세서의 원격 처리 장치 및 방법
US20240241779A1 (en) Signaling host kernel crashes to dpu
JP6219514B2 (ja) 仮想マルチパス状態アクセスを提供するコンピューティングデバイス、仮想マルチパス用のリモートコンピューティングデバイス、仮想マルチパス状態アクセスを提供する方法、仮想マルチパス用の方法、コンピューティングデバイス、コンピューティングデバイスに複数の方法を実行させるプログラム、及び、機械可読記録媒体
US20240160354A1 (en) Node cache migration
US20210357342A1 (en) Interrupt migration
US11204820B2 (en) Failure detection for central electronics complex group management

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20171108

PG1501 Laying open of application
A201 Request for examination
AMND Amendment
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20201109

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20171108

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20220621

Patent event code: PE09021S01D

AMND Amendment
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20221010

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20220621

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

X091 Application refused [patent]
AMND Amendment
PX0901 Re-examination

Patent event code: PX09011S01I

Patent event date: 20221010

Comment text: Decision to Refuse Application

Patent event code: PX09012R01I

Patent event date: 20220822

Comment text: Amendment to Specification, etc.

Patent event code: PX09012R01I

Patent event date: 20201109

Comment text: Amendment to Specification, etc.

PX0701 Decision of registration after re-examination

Patent event date: 20230118

Comment text: Decision to Grant Registration

Patent event code: PX07013S01D

Patent event date: 20230110

Comment text: Amendment to Specification, etc.

Patent event code: PX07012R01I

Patent event date: 20221010

Comment text: Decision to Refuse Application

Patent event code: PX07011S01I

Patent event date: 20220822

Comment text: Amendment to Specification, etc.

Patent event code: PX07012R01I

Patent event date: 20201109

Comment text: Amendment to Specification, etc.

Patent event code: PX07012R01I

X701 Decision to grant (after re-examination)
GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20230228

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20230302

End annual number: 3

Start annual number: 1

PG1601 Publication of registration