KR101395007B1 - 복수의 프로세서를 이용한 스냅샷 이미지 처리 장치 및 방법 - Google Patents

복수의 프로세서를 이용한 스냅샷 이미지 처리 장치 및 방법 Download PDF

Info

Publication number
KR101395007B1
KR101395007B1 KR1020120148883A KR20120148883A KR101395007B1 KR 101395007 B1 KR101395007 B1 KR 101395007B1 KR 1020120148883 A KR1020120148883 A KR 1020120148883A KR 20120148883 A KR20120148883 A KR 20120148883A KR 101395007 B1 KR101395007 B1 KR 101395007B1
Authority
KR
South Korea
Prior art keywords
snapshot
snapshot image
memory
processors
image
Prior art date
Application number
KR1020120148883A
Other languages
English (en)
Inventor
이현진
Original Assignee
주식회사 아로마소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아로마소프트 filed Critical 주식회사 아로마소프트
Priority to KR1020120148883A priority Critical patent/KR101395007B1/ko
Application granted granted Critical
Publication of KR101395007B1 publication Critical patent/KR101395007B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Abstract

복수의 프로세서를 이용한 스냅샷 이미지 처리 장치 및 방법이 개시된다. 본 발명의 바람직한 일 실시예에 따르면, 스냅샷 저장부에서 메모리로 스냅샷 이미지를 로딩하는 경우 발생되는 메모리 폴트 정보가 저장되는 메모리 폴트 정보 저장부와 메모리 폴트 정보를 이용하여 초기 스냅샷 이미지를 결정하는 초기 스냅샷 결정부와 초기 스냅샷 결정부에서 결정된 초기 스냅샷 이미지는 복수개의 프로세서 중 적어도 하나의 프로세서에서 처리되고, 초기 스냅샷 이미지를 제외한 다른 스냅샷 이미지는 복수개의 프로세서 중 다른 프로세서에서 처리되도록 스냅샷 이미지를 스냅샷 저장부에서 메모리로 로딩되도록 제어하는 제어부를 포함하는 스냅샷 이미지 처리 장치가 제공된다.
본 발명에 따르면, 스냅샷 이미지의 크기가 증가되는 경우에도 메모리로의 스냅샷 이미지 로딩 시간을 단축할 수 있는 장점이 있다.

Description

복수의 프로세서를 이용한 스냅샷 이미지 처리 장치 및 방법{Apparatus and method for processing snapshot image by using snapshot image compression}
본 발명은 스냅샷 이미지 처리 장치 및 방법에 관한 것으로서, 보다 상세하게는 복수의 프로세서를 이용한 스냅샷 이미지 처리 장치 및 방법에 관한 것이다.
최근 전기/전자 장치들의 발달로 종래의 개인용 컴퓨터(PC)나 노트북뿐만 아니라 PMP, PDA, 스마트폰 등의 다양한 휴대 단말이 널리 사용되고 있다.
이러한 다양한 전기/전자 장치들은 점점 더 컴퓨터와의 구분이 모호해지고 있으며, 따라서 휴대 단말을 포함하는 다양한 전기/전자 장치들이 모두 일종의 컴퓨터로서 통칭하여 컴퓨팅 장치라 할 수 있다.
한편, 다양한 전기/전자 장치들이 컴퓨팅 장치로서 기능함에 따라 운영체제(OS: Operation System)가 탑재되고 있다.
그리고 다양한 전기/전자 장치들에 운영체제가 탑재됨에 따라 사용자가 해당 전기/전자 장치들을 사용하기 위해서는 초기 시작 시간인 부트 시간 동안 기다려야 하는 문제가 있어 부트(boot) 시간을 단축하기 위한 다양한 부팅 방법들이 제시되고 있다.
종래의 일반적인 부팅 방식은 부팅에 필요한 각 소프트웨어 컴포넌트(software component)들을 순차적으로 로딩 하는 과정에서 많은 시간을 필요로 했으며, 이로 인해 부트 시간이 길어질 수 밖에 없었다.
이러한 중간의 많은 시간을 필요로 하는 과정을 생략하고 부팅을 수행하는 방법으로서 스냅샷(snapshot) 기반의 부팅 방법이 제안되었다.
이러한 스냅샷 기반의 부팅 방법에서는 스냅샷 이미지를 스냅샷 저장부에 저장하고, 저장된 스냅샷 이미지(snapshot image)를 순서대로 메모리로 로딩하여 초기 화면을 생성하므로 초기화 작업 없이 빠르게 부팅이 이루어지도록 하는 것이다.
한편, 스냅샷 이미지를 메모리로 로딩하는 과정은 스냅샷 이미지가 별도로 저장된 스냅샷 저장부에서 컴퓨팅 장치의 CPU(Central Process Unit)에 포함된 프로세서(processor)가 처리하는 데이터가 로딩되는 메모리로 스냅샷 이미지가 로딩되고, 로딩된 스냅샷 이미지가 우선하여 컴퓨팅 장치의 화면에 표시되도록 함으로써 부트 시간을 단축하게 된다.
그러나 이러한 스냅샷 기반 부팅 방법에서도 역시 시스템 런타임(system runtime)시 구동되고 있는 서비스가 점점 많아지게 되면서 스냅샷 이미지의 크기가 증가하게 되고, 이로 인해 스냅샷 이미지를 메모리에 로딩하는 시간이 증가되어 결국 부트 시간이 증가되게 되는 문제점이 있다.
상기한 바와 같은 종래의 문제점을 해결하기 위해, 본 발명은 스냅샷 이미지의 크기가 증가되는 경우에도 부트 시간을 단축할 수 있게 하는 복수의 프로세서를 이용한 스냅샷 이미지 처리 장치 및 방법을 제안하는 것이다.
본 발명의 또 다른 목적들은 이하의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일 측면에 따르면 스냅샷 이미지 처리 장치가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 복수개의 프로세서(processor), 스냅샷 이미지(snapshot image)가 저장되는 스냅샷 저장부 및 상기 스냅샷 이미지가 로딩(loading)되고 상기 복수개의 프로세서가 사용하는 메모리를 포함하는 컴퓨팅 장치에 포함되어 상기 스냅샷 이미지를 처리하는 장치에 있어서, 상기 스냅샷 저장부에서 상기 메모리로 상기 스냅샷 이미지를 로딩하는 경우 발생되는 메모리 폴트(memory fault) 정보가 저장되는 메모리 폴트 정보 저장부; 상기 메모리 폴트 정보를 이용하여 초기 스냅샷 이미지(pre-snapshot image)를 결정하는 초기 스냅샷 결정부; 및 상기 초기 스냅샷 결정부에서 결정된 상기 초기 스냅샷 이미지는 상기 복수개의 프로세서 중 적어도 하나의 프로세서에서 처리되고, 상기 초기 스냅샷 이미지를 제외한 다른 스냅샷 이미지는 복수개의 프로세서 중 다른 프로세서에서 처리되도록 상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 제어하는 제어부를 포함하는 것을 특징으로 하는 스냅샷 이미지 처리 장치가 제공된다.
상기 메모리는 상기 복수개의 프로세서가 각각 사용하는 복수개의 메모리로 구성될 수 있다.
상기 복수개의 프로세서는 하나의 프로세서에 복수개의 코어(core)를 포함하는 멀티 코어(multi core) 프로세서일 수 있다.
상기 메모리 폴트 정보 저장부에 저장되는 상기 메모리 폴트 정보는 상기 메모리 폴트의 발생 여부 및 상기 메모리 폴트의 발생 순서 정보를 포함할 수 있다.
상기 제어부에서 상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 제어하는 것은, 상기 복수개의 프로세서 각각의 성능 정보를 더 이용할 수 있다.
상기 제어부는 상기 초기 스냅샷 결정부에서 결정된 상기 초기 스냅샷 이미지만을 상기 복수개의 프로세서 각각에서 먼저 처리하도록 상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 제어할 수 있다.
본 발명의 다른 일 측면에 따르면 스냅샷 이미지 처리 방법이 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 복수개의 프로세서(processor), 스냅샷 이미지(snapshot image)가 저장되는 스냅샷 저장부 및 상기 스냅샷 이미지가 로딩(loading)되는 메모리를 포함하는 컴퓨팅 장치에서 상기 스냅샷 이미지를 처리하는 방법에 있어서, 상기 스냅샷 저장부에서 상기 메모리로 상기 스냅샷 이미지를 로딩하는 경우 발생되는 메모리 폴트(memory fault) 정보가 저장하는 단계; 상기 메모리 폴트 정보를 이용하여 초기 스냅샷 이미지(pre-snapshot image)를 결정하는 단계; 및 상기 초기 스냅샷 이미지를 상기 복수개의 프로세서 중 적어도 하나의 프로세서에서 처리되도록 하고, 상기 초기 스냅샷 이미지를 제외한 다른 스냅샷 이미지는 상기 복수개의 프로세서 중 다른 프로세서에서 처리되도록 상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 하는 단계를 포함하는 것을 특징으로 하는 스냅샷 이미지 처리 방법이 제공된다.
상기 메모리는 상기 복수개의 프로세서가 각각 사용하는 복수개의 메모리로 구성될 수 있다.
상기 복수개의 프로세서는 하나의 프로세서에 복수개의 코어(core)를 포함하는 멀티 코어 프로세서일 수 있다.
상기 메모리 폴트 정보는 상기 메모리 폴트의 발생 여부 및 상기 메모리 폴트의 발생 순서 정보를 포함할 수 있다.
상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 하는 것은, 상기 복수개의 프로세서 각각의 성능 정보를 더 이용하여 수행될 수 있다.
상기 초기 스냅샷 이미지를 상기 복수개의 프로세서 중 적어도 하나의 프로세서에서 처리되도록 하고, 상기 초기 스냅샷 이미지를 제외한 다른 스냅샷 이미지는 상기 복수개의 프로세서 중 다른 프로세서에서 처리되도록 상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 하는 단계는, 상기 초기 스냅샷 이미지만을 상기 복수개의 프로세서 각각에서 먼저 처리하도록 상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 하는 것일 수 있다.
본 발명의 또 다른 일 측면에 따르면 스냅샷 이미지 처리 방법을 구현하기 위한 프로그램을 기록한 기록매체가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 복수개의 프로세서(processor), 스냅샷 이미지(snapshot image)가 저장되는 스냅샷 저장부 및 상기 스냅샷 이미지가 로딩(loading)되는 메모리를 포함하는 컴퓨팅 장치에서 상기 스냅샷 이미지를 처리하는 방법을 구현하기 위한 프로그램을 기록한 기록매체에 있어서, 상기 스냅샷 저장부에서 상기 메모리로 상기 스냅샷 이미지를 로딩하는 경우 발생되는 메모리 폴트(memory fault) 정보가 저장하는 단계; 상기 메모리 폴트 정보를 이용하여 초기 스냅샷 이미지(pre-snapshot image)를 결정하는 단계; 및 상기 초기 스냅샷 이미지를 상기 복수개의 프로세서 중 적어도 하나의 프로세서에서 처리되도록 하고, 상기 초기 스냅샷 이미지를 제외한 다른 스냅샷 이미지는 상기 복수개의 프로세서 중 다른 프로세서에서 처리되도록 상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 하는 단계를 포함하는 것을 특징으로 하는 스냅샷 이미지 처리 방법을 구현하기 위한 프로그램을 기록한 기록매체가 제공된다.
상기 메모리는 상기 복수개의 프로세서가 각각 사용하는 복수개의 메모리로 구성될 수 있다.
상기 복수개의 프로세서는 하나의 프로세서에 복수개의 코어(core)를 포함하는 멀티 코어 프로세서일 수 있다.
상기 메모리 폴트 정보는 상기 메모리 폴트의 발생 여부 및 상기 메모리 폴트의 발생 순서 정보를 포함할 수 있다.
상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 하는 것은, 상기 복수개의 프로세서 각각의 성능 정보를 더 이용하여 수행될 수 있다.
상기 초기 스냅샷 이미지를 상기 복수개의 프로세서 중 적어도 하나의 프로세서에서 처리되도록 하고, 상기 초기 스냅샷 이미지를 제외한 다른 스냅샷 이미지는 상기 복수개의 프로세서 중 다른 프로세서에서 처리되도록 상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 하는 단계는, 상기 초기 스냅샷 이미지만을 상기 복수개의 프로세서 각각에서 먼저 처리하도록 상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 하는 것일 수 있다.
이상에서 설명한 바와 같이, 본 발명에 의한 스냅샷 이미지 압축을 이용한 스냅샷 이미지 처리 장치 및 방법에 의하면, 스냅샷 이미지의 크기가 증가되는 경우에도 메모리로의 스냅샷 이미지 로딩 시간을 단축할 수 있는 장점이 있다.
도 1은 본 발명의 바람직한 일 실시예에 따른 스냅샷 이미지 처리 장치의 구성을 도시한 도면.
도 2는 본 발명의 바람직한 일 실시예에 따른 스냅샷 이미지 처리 방법이 적용되는 과정을 도시한 순서도.
도 3은 본 발명의 바람직한 일 실시예에 따른 스냅샷 이미지 처리 방법에 의해 메모리에 스냅샷 이미지들이 로딩되는 것을 예시하여 도시한 도면.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
한편, 본 발명에서 스냅샷 이미지 자체의 생성 방법은 다양한 방법에 의해 가능하며, 본 발명에서는 이에 대하여 특별한 한정은 없다.
예를 들면, 시스템 리소스 정보에 기초하여 부팅을 위한 프로세스 및 프로세스에 의존성을 가진 라이브러리(library) 정보로부터 최적화된 스냅샷 이미지를 생성하도록 하는 것이 가능할 수 있으나 이에 한정되는 것은 아니다.
먼저 도 1을 참조하여 본 발명의 바람직한 일 실시예에 따른 스냅샷 이미지 처리 장치의 구성에 대해 살펴보기로 한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 스냅샷 이미지 처리 장치의 구성을 도시한 도면이다.
도 1에 도시된 바와 같이 본 발명의 바람직한 일 실시예에 따른 스냅샷 이미지 처리 장치(100)는 메모리 폴트 정보 저장부(110), 초기 스냅샷 결정부(120) 및 제어부(130)를 포함한다.
한편, 스냅샷 이미지는 스냅샷 기능을 실행하기 위한 신호가 입력될 때마다, 스냅샷 이미지 처리 장치(100)에서 스냅샷 이미지를 생성하고 스냅샷 저장부(200)에 저장된다.
이후, 데이터를 복원하기 위한 신호가 입력되면, 스냅샷 이미지 처리 장치(100)는 스냅샷 저장부(200)에 저장된 스냅샷 이미지를 컴퓨팅 장치의 CPU(central Process Unit)가 처리할 데이터가 로딩되는 메모리(210)로 로딩하여 데이터를 복원할 수 있게 된다.
이와 같이, 사용자는 스냅샷 기능을 이용하여 특정 시점('스냅샷 기능을 실행하기 위한 신호가 입력된 시점')에서 사용되었던 데이터를 용이하게 복원할 수 있게 되며 이를 통해 컴퓨팅 장치의 부트 시간을 단축하게 한다.
따라서 도 1에 도시된 바와 같이 본 발명에 의한 스냅샷 이미지 처리 장치도 스냅샷 저장부(200) 및 메모리(210)와 연결되며, 스냅샷 이미지 처리 장치(100), 스냅샷 저장부(200) 및 메모리(210)는 하나의 컴퓨팅 장치에 포함될 수 있음은 자명하다.
그리고 스냅샷 이미지 처리 장치(100)는 컴퓨팅 장치에 포함되어 구현되거나 별도로 구현될 수 있다.
한편, 본 발명에 의한 스냅샷 이미지 처리 장치(100)가 포함되는 컴퓨팅 장치는 복수개의 프로세서(processor)를 포함한다.
컴퓨팅 장치가 복수개의 프로세서(processor)를 포함하는 것은 CPU가 복수 개이거나, 하나의 CPU에 다수의 프로세서가 포함되는 경우뿐만 아니라 하나의 프로세서에 복수개의 코어를 포함하여 데이터 처리 속도를 높인 멀티코어(multi core) 프로세서를 포함하는 경우까지 모두 포함한다.
한편, 메모리(210)의 경우 컴퓨팅 장치의 CPU 등이 프로그램 등을 실행할 때 데이터 등이 로딩되는 메모리로서, 예를 들면, 램(RAM: Random Access Memory) 또는 롬(ROM: Read Only Memory)일 수 있다.
그리고 프로세서가 복수 개인 경우 메모리도 프로세서의 개수에 따라 복수 개가 존재하거나 또는 하나의 메모리를 복수개의 프로세서가 분할하여 각각 사용하도록 구성되는 것도 가능할 것이나, 이에 한정되는 것은 아니다.
스냅샷 저장부(200)는 스냅샷 이미지가 저장되며, 스냅샷 이미지 처리 장치(100)는 메모리(210)에 저장된 데이터를 포함하는 스냅샷(snapshot) 이미지를 생성하고 스냅샷 저장부(200)에 저장한다.
스냅샷 저장부(200)에 저장되는 스냅샷 이미지는 분할되어 저장될 수 있으며 분할된 스냅샷 이미지 각각은 메모리 폴트의 유무와 메모리 폴트 순서에 따른 정보와 함께 저장된다.
또한, 스냅샷 이미지가 복수개인 경우 스냅샷 이미지는 분할되지 않고 각각 메모리 폴트의 유무와 메모리 폴트의 순서에 따른 정보가 매칭되어 저장될 수 있다.
만약 스냅샷 이미지를 분할하여 저장하는 경우라면 스냅샷 이미지의 크기에 따라 균등하게 분할되거나, 스냅샷 이미지가 다수의 페이지로 구성되는 경우 페이지에 따라 나뉘어 저장될 수 있으며, 스냅샷 이미지 자체의 분할 방법에 대한 제한은 없다.
다만 이하의 설명에서는 분할된 스냅샷 이미지들의 경우에도 스냅샷 이미지라 표기하기로 하나, 스냅샷 이미지는 하나의 스냅샷 이미지가 분할된 것이거나, 복수개의 스냅샷 이미지 각각일 수도 있음은 전술한 바와 같다.
한편, 본 발명에서는 스냅샷 이미지가 스냅샷 저장부(200)에 저장될 때에는 컴퓨팅 장치의 CPU가 메모리(210)에 스냅샷 저장부(200)에 저장된 스냅샷 이미지를 저장할 때 메모리 폴트의 발생 여부와 메모리 폴트의 발생 순서 정보와 함께 저장된다.
종래에는 스냅샷 저장부(200)에 저장된 스냅샷 이미지를 메모리(210)에 로딩하는 경우 일반적으로 스냅샷 저장부(200)에 저장된 순서에 따라 스냅샷 이미지를 메모리(210)로 로딩한다.
그러나 본 발명에서는 스냅샷 저장부(200)에 저장된 순서에 따라 스냅샷 이미지를 메모리(210)로 로딩하는 것이 아니라 초기 스냅샷 결정부(120)에서 결정된 초기 스냅샷 이미지 정보에 따라 초기 스냅샷 이미지를 메모리(210)로 로딩하여 복수개의 프로세서 중 적어도 하나의 프로세서에서 처리하도록 하고, 나머지 스냅샷 이미지의 경우 메모리(210)로 로딩하되 다른 프로세서에서 처리하도록 한다.
따라서 만약 프로세서가 복수 개이고 프로세서 각각에 대하여 메모리가 존재하는 경우라면 초기 스냅샷 이미지가 로딩되는 메모리와 나머지 스냅샷 이미지가 로딩되는 메모리가 달라지게 된다.
그러나 프로세서는 복수 개이지만 프로세서가 하나의 메모리를 공유하는 경우라면 초기 스냅샷 이미지가 로딩되는 메모리와 나머지 스냅샷 이미지가 로딩되는 메모리가 같은 메모리이지만 각각의 프로세서가 사용하는 영역 등이 달라지게 될 것이다.
한편, 초기 스냅샷 이미지와 나머지 스냅샷 이미지는 복수개의 프로세서에서 동시에 스냅샷 이미지를 처리하도록 동시에 메모리에 로딩될 수 있다.
그리고, 초기 스냅샷 이미지의 경우 복수개의 프로세서 중에서 가장 처리 속도가 빠른 하나의 프로세서가 처리하도록 하거나, 초기 스냅샷 이미지의 데이터 크기가 큰 경우에는 복수개의 프로세서 모두 초기 스냅샷 이미지를 처리하도록 하는 것도 가능할 것이다.
다만 메모리 폴트 정보에 따라 초기 스냅샷 이미지(pre-snapshot image)를 결정하고 초기 스냅샷 이미지와 나머지 스냅샷 이미지를 구분하여 각각 다른 프로세서에서 처리할 수 있도록 메모리(210)로 로딩한다.
메모리 폴트 정보는 메모리 폴트의 발생 여부와 메모리 폴트의 발생 순서 정보를 포함한다.
일반적으로 메모리 폴트는 CPU가 데이터 처리를 위해 CPU가 데이터 처리를 위해 메모리(210)에서 데이터를 읽어 오는 과정에서 발생되며, 따라서 메모리(210)로 데이터가 로딩되어 있지 않거나 메모리(210)에 로딩된 데이터를 CPU가 읽어 오지 못하는 경우 발생될 수 있는 것이다.
따라서 종래에 스냅샷 저장부(200)에 저장된 순서에 따른 로딩이나 스냅샷 이미지의 메모리(210)로의 로딩 순서에 의한 경우와 비교하여 보다 효율적이므로 스냅샷 이미지가 CPU에서 처리되도록 하는 것이 가능하게 되는 것이다.
한편, 메모리 폴트가 발생하게 되면 메모리 폴트의 복구에 많은 시간이 소요된다.
이러한 점을 고려하여 메모리 폴트가 발생되는 스냅샷 이미지의 경우 우선적으로 초기 스냅샷 이미지로 결정하는 것이다.
뿐만 아니라 초기 스냅샷 이미지와 나머지 스냅샷 이미지를 처리하는 프로세서를 각각 분리하여 각각의 프로세서에서 스냅샷 이미지를 처리하도록 함으로써 결국 컴퓨팅 장치의 부트 시간을 단축하게 된다.
그리고 초기 스냅샷 이미지를 결정하는 것을 메모리 폴트 정보에 따라 이루어지게 함으로써 단순히 스냅샷 이미지가 메모리(210)로 로딩되는 순서에 의하는 것보다 스냅샷 이미지가 컴퓨팅 장치를 통해 표시되는 것이 보다 정확하고 확실하게 된다.
예를 들어, 단순히 스냅샷 이미지가 메모리(210)로 로딩되는 순서에 의한다면 메모리(210)에 로딩은 되었지만 컴퓨팅 장치의 CPU가 메모리(210)에서 데이터를 읽는 순서는 메모리(210)로의 로딩 순서와 다르다면, 이로 인하여 스냅샷 이미지가 표시되지 못하는 경우는 발생하지 않게 되기 때문이다.
그리고 만약 바탕 화면의 변경 등 스냅샷 이미지의 변경이나 갱신이 발생하는 경우에도 메모리 폴트 정보에 따라 즉각 스냅샷 이미지의 변경이나 갱신을 반영할 수 있게 된다.
한편, 제어부(130)는 스냅샷 이미지 처리 장치를 구성하는 구성 요소들을 제어하는 제어 신호를 생성하여 스냅샷 이미지가 스냅샷 저장부(200)에 저장되고, 메모리(210)에 로딩되도록 한다.
또한, 메모리 폴트 정보 저장부(120)에 메모리 폴트 정보가 저장되도록 하고, 메모리 폴트 정보에 따라 초기 스냅샷 결정부(120)에서 결정된 초기 스냅샷 이미지가 메모리(210)로 로딩되도록 한다
특히 초기 스냅샷 결정부(120)에서 결정된 초기 스냅샷 이미지는 복수의 프로세서 중 적어도 하나의 프로세서가 처리하도록 스냅샷 저장부(200)에서 메모리(210)로 로딩되도록 제어하고, 초기 스냅샷 이미지를 제외한 다른 스냅샷 이미지는 복수의 프로세서 중 다른 프로세서가 처리하도록 스냅샷 저장부(200)에서 메모리(210)로 로딩되도록 제어할 수 잇다.
한편, 본 발명에 의한 스냅샷 이미지 처리 장치(100)는 전술한 바와 같이 컴퓨팅 장치에 포함되어 구성될 수 있으며, 또한 본 발명에 의한 스냅샷 이미지 처리 장치(100)를 구성하는 구성 요소들 중 적어도 일부는 컴퓨팅 장치의 구성 요소들로서 구성되는 것도 가능하다.
예를 들어, 메모리 폴트 정보 저장부(110)의 경우 컴퓨팅 장치에 포함되는 저장부에 포함되어 구성될 수 있으며, 제어부(130)의 경우에도 컴퓨팅 장치의 CPU로 구성하여 CPU에 의해 제어 신호를 생성하도록 하는 것도 가능하다.
이하에서는 도 2를 참조하여 본 발명의 바람직한 일 실시예에 따른 스냅샷 이미지 처리 방법에 대해 살펴보기로 한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 스냅샷 이미지 처리 방법이 적용되는 과정을 도시한 순서도이다.
도 2에 도시된 바와 같이 본 발명의 바람직한 일 실시예에 따른 스냅샷 이미지 처리 방법은 먼저 컴퓨팅 장치에 포함된 스냅샷 저장부(200)에 스냅샷 이미지를 저장할 때 각각의 스냅샷 이미지가 메모리(210)로 로딩되는 경우 메모리 폴트가 발생하는지 여부와 메모리 폴트가 발생한다면 발생되는 순서를 저장한다(S200).
그리고 메모리 폴트 정보에 따라 초기 스냅샷 이미지를 결정한다(S202).
메모리 폴트 정보는 전술한 바와 같이 메모리 폴트의 발생 여부와 메모리 폴트가 발생하는 순서에 대한 정보가 포함된다.
초기 스냅샷 이미지의 결정은 또한 스냅샷 이미지의 메모리로의 로딩 시간과 메모리에 로딩된 스냅샷 이미지를 복수개의 프로세서 각각에서 처리하는 시간 등을 고려하여 초기 스냅샷 이미지를 결정할 수 있다.
초기 스냅샷 이미지가 결정되고, 컴퓨팅 장치로부터 데이터 복원 신호가 수신되면 초기 스냅샷 이미지는 초기 스냅샷 이미지는 복수의 프로세서 중 적어도 하나의 프로세서(설명의 편의를 위해 제1 프로세서라 함)가 처리하도록 스냅샷 저장부(200)에서 메모리(210)로 로딩된다(S204).
그리고 초기 스냅샷 이미지를 제외한 다른 스냅샷 이미지는 복수의 프로세서 중 다른 프로세서(설명의 편의를 위해 제2 프로세서라 함)가 처리하도록 스냅샷 저장부(200)에서 메모리(210)로 로딩된다(S206).
도 2에서는 설명의 편의를 위해 단계 204와 단계 206을 구분하였으나, 실제로 복수의 프로세서가 각각 사용하는 메모리로 스냅샷 이미지를 동시에 로딩하는 것도 가능하므로 단계 204 및 단계206은 동시에 이루어질 수 있음은 전술한 바와 같다.
이러한 본 발명에 의한 스냅샷 이미지 처리 방법은 프로그램의 형태로 구현될 수 있음은 자명하다.
이상의 본 발명에 의한 스냅샷 이미지 처리 방법을 도 3의 예시를 통해 살펴보기로 한다.
도 3의 예시와 같이, 스냅샷 이미지가 a, b, c, d, e가 있다고 가정한다.
종래에는 메모리(210)로 로딩되는 순서에 따라 스냅샷 이미지 a가 2번째, 스냅샷 이미지 b가 1번째, 스냅샷 이미지 c가 4번째, 스냅샷 이미지 d가 5번째, 스냅샷 이미지 e가 3번째라고 결정될 수 있다.
그러나 본 발명에서는 로딩 순서가 아니라 메모리 폴트의 발생 여부와 발생 순서에 따라 스냅샷 이미지 a가 2번째, 스냅샷 이미지 b가 1번째, 스냅샷 이미지 c가 4번째, 스냅샷 이미지 d가 5번째, 스냅샷 이미지 e가 3번째라고 결정된다.
만약 스냅샷 이미지 a가 메모리(210)로 로딩되는 순서는 2번째이지만 스냅샷 이미지 a가 없어도 스냅샷 이미지를 표시함에 있어 메모리 폴트가 발생하지 않는다면 스냅샷 이미지 a는 초기 스냅샷 이미지가 되지 않을 수 있다.
그러나, 도 3에서는 모든 스냅샷 이미지에 대해 메모리 폴트가 발생하는 것으로 가정하고 도시하였으며, 이 중 b, a, e가 초기 스냅샷 이미지라 가정하자.
한편, 본 발명에 의한 스냅샷 이미지 처리 장치를 포함하는 컴퓨팅 장치는 복수개의 프로세서를 포함한다.
도 1의 예시에서는 2개의 프로세서 또는 듀얼 코어 프로세서라고 가정한다.
이 경우 초기 스냅샷 이미지인 b, a, e의 경우 2개의 프로세서 중 프로세서1에서 처리하고, 나머지 스냅샷 이미지인 c, d의 경우 프로세서2에서 처리하도록 한다.
따라서 프로세서가 처리하기 위해서는 스냅샷 저장부(200)에 저장된 스냅샷 이미지가 프로세서가 사용하는 메모리(210)에 로딩되어야 하는 것이므로, 초기 스냅샷 이미지인 b, a, e의 경우 프로세서1이 사용하는 메모리(210)에 로딩되고, 나머지 스냅샷 이미지인 c, d의 경우 프로세서2가 사용하는 메모리(210)로 로딩되도록 하는 것이다.
한편, 또 다른 방법으로는 초기 스냅샷 이미지인 b, a, e에 대해서만 프로세서들이 먼저 처리하도록 하는 것도 가능하다.
예를 들면, 데이터의 크기와 프로세서의 처리 능력 등을 고려하여 초기 스냅샷 이미지 중 프로세서1은 스냅샷 이미지 b를 처리하도록 하고, 프로세서2는 a, e를 처리하도록 하는 것도 가능하다.
이렇게 복수개의 프로세서를 포함하는 컴퓨팅 장치에서 스냅샷 이미지를 각각의 프로세서가 나누어 처리하도록 하는 경우 보다 빠르게 스냅샷 이미지를 컴퓨팅 장치에서 처리할 수 있고, 이에 따라 컴퓨팅 장치의 보다 빠른 부팅이 가능할 수 있게 된다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
100: 스냅샷 이미지 처리 장치 110: 메모리 폴트 정보 저장부
120: 초기 스냅샷 결정부 130: 제어부
200: 스냅샷 저장부 210: 메모리

Claims (13)

  1. 복수개의 프로세서(processor), 스냅샷 이미지(snapshot image)가 저장되는 스냅샷 저장부 및 상기 스냅샷 이미지가 로딩(loading)되고 상기 복수개의 프로세서가 사용하는 메모리를 포함하는 컴퓨팅 장치에 포함되어 상기 스냅샷 이미지를 처리하는 장치에 있어서,
    상기 스냅샷 저장부에서 상기 메모리로 상기 스냅샷 이미지를 로딩하는 경우 발생되는 메모리 폴트(memory fault) 정보가 저장되는 메모리 폴트 정보 저장부;
    상기 메모리 폴트 정보를 이용하여 초기 스냅샷 이미지(pre-snapshot image)를 결정하는 초기 스냅샷 결정부; 및
    상기 초기 스냅샷 결정부에서 결정된 상기 초기 스냅샷 이미지는 상기 복수개의 프로세서 각각의 성능 정보를 이용하여 상기 복수개의 프로세서 중 적어도 하나의 프로세서에서 처리되고, 상기 초기 스냅샷 이미지를 제외한 다른 스냅샷 이미지는 복수개의 프로세서 중 다른 프로세서에서 처리되도록 상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 제어하는 제어부를 포함하는 것을 특징으로 하는 스냅샷 이미지 처리 장치.
  2. 제1항에 있어서,
    상기 메모리는 상기 복수개의 프로세서가 각각 사용하는 복수개의 메모리로 구성되는 것을 특징으로 하는 스냅샷 이미지 처리 장치.
  3. 제1항에 있어서,
    상기 복수개의 프로세서는 하나의 프로세서에 복수개의 코어(core)를 포함하는 멀티 코어(multi core) 프로세서인 것을 특징으로 하는 스냅샷 이미지 처리 장치.
  4. 제1항에 있어서,
    상기 메모리 폴트 정보 저장부에 저장되는 상기 메모리 폴트 정보는 상기 메모리 폴트의 발생 여부 및 상기 메모리 폴트의 발생 순서 정보를 포함하는 것을 특징으로 하는 스냅샷 이미지 처리 장치.
  5. 삭제
  6. 제1항에 있어서,
    상기 제어부는 상기 초기 스냅샷 결정부에서 결정된 상기 초기 스냅샷 이미지만을 상기 복수개의 프로세서 각각에서 먼저 처리하도록 상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 제어하는 것을 특징으로 하는 스냅샷 이미지 처리 장치.
  7. 복수개의 프로세서(processor), 스냅샷 이미지(snapshot image)가 저장되는 스냅샷 저장부 및 상기 스냅샷 이미지가 로딩(loading)되는 메모리를 포함하는 컴퓨팅 장치에서 상기 스냅샷 이미지를 처리하는 방법에 있어서,
    상기 스냅샷 저장부에서 상기 메모리로 상기 스냅샷 이미지를 로딩하는 경우 발생되는 메모리 폴트(memory fault) 정보가 저장하는 단계;
    상기 메모리 폴트 정보를 이용하여 초기 스냅샷 이미지(pre-snapshot image)를 결정하는 단계; 및
    상기 복수개의 프로세서 각각의 성능 정보를 이용하여 상기 초기 스냅샷 이미지를 상기 복수개의 프로세서 중 적어도 하나의 프로세서에서 처리되도록 하고, 상기 초기 스냅샷 이미지를 제외한 다른 스냅샷 이미지는 상기 복수개의 프로세서 중 다른 프로세서에서 처리되도록 상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 하는 단계를 포함하는 것을 특징으로 하는 스냅샷 이미지 처리 방법.
  8. 제7항에 있어서,
    상기 메모리는 상기 복수개의 프로세서가 각각 사용하는 복수개의 메모리로 구성되는 것을 특징으로 하는 스냅샷 이미지 처리 방법.
  9. 제7항에 있어서,
    상기 복수개의 프로세서는 하나의 프로세서에 복수개의 코어(core)를 포함하는 멀티 코어 프로세서인 것을 특징으로 하는 스냅샷 이미지 처리 방법.
  10. 제7항에 있어서,
    상기 메모리 폴트 정보는 상기 메모리 폴트의 발생 여부 및 상기 메모리 폴트의 발생 순서 정보를 포함하는 것을 특징으로 하는 스냅샷 이미지 처리 방법.
  11. 삭제
  12. 제7항에 있어서,
    상기 초기 스냅샷 이미지를 상기 복수개의 프로세서 중 적어도 하나의 프로세서에서 처리되도록 하고, 상기 초기 스냅샷 이미지를 제외한 다른 스냅샷 이미지는 상기 복수개의 프로세서 중 다른 프로세서에서 처리되도록 상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 하는 단계는,
    상기 초기 스냅샷 이미지만을 상기 복수개의 프로세서 각각에서 먼저 처리하도록 상기 스냅샷 이미지를 상기 스냅샷 저장부에서 상기 메모리로 로딩되도록 하는 것을 특징으로 하는 스냅샷 이미지 처리 방법.
  13. 제7항 내지 제10항 및 제12항 중 어느 한 항에 있어서,
    상기 스냅샷 이미지 처리 방법을 구현하기 위한 프로그램을 기록한 기록매체.
KR1020120148883A 2012-12-18 2012-12-18 복수의 프로세서를 이용한 스냅샷 이미지 처리 장치 및 방법 KR101395007B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120148883A KR101395007B1 (ko) 2012-12-18 2012-12-18 복수의 프로세서를 이용한 스냅샷 이미지 처리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120148883A KR101395007B1 (ko) 2012-12-18 2012-12-18 복수의 프로세서를 이용한 스냅샷 이미지 처리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101395007B1 true KR101395007B1 (ko) 2014-05-14

Family

ID=50894090

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120148883A KR101395007B1 (ko) 2012-12-18 2012-12-18 복수의 프로세서를 이용한 스냅샷 이미지 처리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101395007B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112489448A (zh) * 2019-09-11 2021-03-12 浙江宇视科技有限公司 抓拍输出过滤方法及抓拍输出过滤装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110022146A (ko) * 2009-08-27 2011-03-07 삼성전자주식회사 휴대용 단말기에서 하이버네이션 부팅 방법 및 장치
KR20110136639A (ko) * 2010-06-15 2011-12-21 삼성전자주식회사 스냅샷 이미지의 동기화 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110022146A (ko) * 2009-08-27 2011-03-07 삼성전자주식회사 휴대용 단말기에서 하이버네이션 부팅 방법 및 장치
KR20110136639A (ko) * 2010-06-15 2011-12-21 삼성전자주식회사 스냅샷 이미지의 동기화 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112489448A (zh) * 2019-09-11 2021-03-12 浙江宇视科技有限公司 抓拍输出过滤方法及抓拍输出过滤装置

Similar Documents

Publication Publication Date Title
US9690595B2 (en) Booting method for computer system with multiple central processing units
US9558016B2 (en) Platform system, method for changing support hardware configuration of universal extensible firmware interface basic input output system and computer program product
US10372493B2 (en) Thread and/or virtual machine scheduling for cores with diverse capabilities
US9658863B2 (en) Information processing apparatus and control method therefor
US20140164751A1 (en) Multi-phase resume from hibernate
US20070180315A1 (en) Reconfigurable processor and reconfiguration method executed by the reconfigurable processor
US20090083736A1 (en) Virtualized computer, monitoring method of the virtualized computer and a computer readable medium thereof
CN110574045A (zh) 用于优化后的深度网络处理的图形匹配
JP2010044578A (ja) マルチコアプロセッサ
US9575827B2 (en) Memory management program, memory management method, and memory management device
US10073687B2 (en) System and method for cross-building and maximizing performance of non-native applications using host resources
JPWO2013088818A1 (ja) 仮想計算機システム、仮想化機構、及びデータ管理方法
EP2869189A1 (en) Boot up of a multiprocessor computer
Cain et al. Verifying sequential consistency using vector clocks
CN111782335A (zh) 通过进程内操作系统的扩展应用机制
US20160283250A1 (en) Boot controlling processing apparatus
US9442790B2 (en) Computer and dumping control method
US11544092B2 (en) Model specific register (MSR) instrumentation
KR101395007B1 (ko) 복수의 프로세서를 이용한 스냅샷 이미지 처리 장치 및 방법
EP2546744B1 (en) Software control device, software control method, and software control program
US7890740B2 (en) Processor comprising a first and a second mode of operation and method of operating the same
KR20190027460A (ko) 멀티 프로세서를 방식의 정지영상 처리 장치 및 방법
US20080072009A1 (en) Apparatus and method for handling interrupt disabled section and page pinning apparatus and method
US10838737B1 (en) Restoration of memory content to restore machine state
US8732721B2 (en) Method for reducing trap overhead when executing a guest in a virtual machine

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180508

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee