KR102213673B1 - Power saving computer using artificial inteligence-based core parking - Google Patents
Power saving computer using artificial inteligence-based core parking Download PDFInfo
- Publication number
- KR102213673B1 KR102213673B1 KR1020200126172A KR20200126172A KR102213673B1 KR 102213673 B1 KR102213673 B1 KR 102213673B1 KR 1020200126172 A KR1020200126172 A KR 1020200126172A KR 20200126172 A KR20200126172 A KR 20200126172A KR 102213673 B1 KR102213673 B1 KR 102213673B1
- Authority
- KR
- South Korea
- Prior art keywords
- cpu
- module
- cores
- core
- artificial intelligence
- Prior art date
Links
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 34
- 238000013136 deep learning model Methods 0.000 claims abstract description 6
- 238000005259 measurement Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 description 16
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G06T5/002—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
Abstract
Description
본 발명은 컴퓨터에서 CPU의 성능을 제어하여 전력을 절감할 수 있도록 하는 전력절감 컴퓨터에 관한 것으로, 더욱 상세하게는 사용자가 컴퓨터에서 수행하는 작업 상태에 따라 실행되고 있는 있는 응용 프로그램의 종류를 분석하여 CPU 성능을 조절함으로써 컴퓨터에서 소비되는 전력을 절감할 수 있도록 하는 인공지능 기반 코어파킹을 이용한 전력절감 컴퓨터에 관한 것이다.The present invention relates to a power saving computer that allows the computer to control the performance of a CPU to save power, and more particularly, by analyzing the type of application program being executed according to the state of work performed by the user on the computer. The present invention relates to a power-saving computer using artificial intelligence-based core parking that can reduce the power consumed by the computer by adjusting the CPU performance.
개인용 컴퓨터가 확대되고 전세계적으로 보급됨에 따라 가정이나 학교, 사무공간 등에서 컴퓨터의 사용에 따른 전력 소비가 크게 늘어나고 있다.As personal computers are expanded and spread all over the world, power consumption is greatly increasing due to the use of computers in homes, schools, and office spaces.
컴퓨터를 구성하는 핵심 부품인 CPU는 두뇌에 해당되는 부분으로서 코어를 포함하고 있는데, CPU 코어는 속도에 가장 큰 영향을 미치는 부품으로서 성능이 높은 CPU일 수록 코어 수가 늘어나서 연산량이 많은 경우 각 코어에서 병렬처리를 하여 전체적인 연산속도를 줄임으로써 한번에 많은 프로그램을 끊김없이 실행시킬 수 있다.The CPU, which is a core part of a computer, contains cores as the part that corresponds to the brain. CPU cores are the parts that have the greatest impact on speed. The higher the performance CPU, the higher the number of cores. By processing and reducing the overall operation speed, many programs can be executed seamlessly at once.
이와 같이 CPU의 성능이 크게 향상됨에 따라 사용자는 하나의 컴퓨터 안에서 다양한 업무를 동시에 처리하는 것이 가능해 졌지만, CPU 성능에 비례하여 전력 소모량이 커지고 있다.As the CPU performance is greatly improved, it is possible for users to simultaneously process various tasks in one computer, but the power consumption is increasing in proportion to the CPU performance.
그런데 일반적으로 하나의 연산을 수행할 때 CPU 내의 모든 코어가 다 사용되지는 않고, 최근 CPU들은 전력소모를 줄이기 위해 코어 파킹(Core Parking)이라 기능을 지원하고 있어서 CPU 사용이 미약할 때 CPU에 전력을 차단하여 절전을 하도록 하고 있지만, 사용자들은 기본적으로 고성능 기능을 기본 설정으로 하여 사용할 뿐 코어 파킹 기능을 효율적으로 활용하고 있지 못하다.However, in general, not all cores in the CPU are used when performing one operation, and recently CPUs support a function called Core Parking to reduce power consumption. Although it is designed to save power by blocking the system, users basically use the high-performance function as a default setting, but are not effectively using the core parking function.
컴퓨터에서 코어 파킹 기능을 이용하여 전력을 절감하는 기술이 개시된 발명으로는 국내등록특허공보 제10-1927872호(발명의 명칭: 사용량 모니터링 및 코어 파킹을 이용한 전력 절감형 컴퓨터)와 국내등록특허공보 제10-2067680호(발명의 명칭: CPU 전력 절감 방법 및 장치) 등이 있다. Inventions in which a technology for saving power by using the core parking function in a computer was disclosed include Korean Patent Publication No. 10-1927872 (Name of the invention: Power saving computer using usage monitoring and core parking) and Korean Patent Publication No. 10-2067680 (title of the invention: CPU power saving method and device) and the like.
그러나, 위와 같은 종래 기술에서 특허문헌 1은 CPU 사용량을 측정하는 CPU 사용량 측정 모듈, 상기 CPU 사용량 분석 모듈, 그리고 CPU 성능조절 모듈로 이루어져서, 사용자 프로그램의 사용 패턴을 실시간으로 분석 및 추출하여 이를 기반으로 CPU 성능을 조절 가능하도록 하고, 프로세스(프로그램) 정보를 로딩하여 그 프로그램의 CPU 사용량을 측정해 임계치 이상이 될 경우 사용량 경고와 함께 CPU 성능향상을 유도하는 기술이 개시되어 있으나, 사용자가 컴퓨터를 사용하면서 다양한 프로그램을 사용하게 되는데, 예를 들어 인터넷을 사용중일 경우 단순한 화면을 띄어 놓는 경우와 유튜브 등의 동영상을 틀어 놓는 경우에 CPU 등 리소스 사용량은 천차만별이며 단순히 임계치 설정으로 인하여 조절하는 것은 어려움이 있다.However, in the prior art as described above,
또한, 특허문헌 2는 일정 주기로 CPU 사용률을 측정하여 이전 주기보다 CPU 사용률이 높을 경우에는 CPU 리소스 허용치를 미조정하고 낮을 경우에는 CPU 리소스 허용치를 조정함으로써 여러 번의 주기를 거치면서 CPU 리소스 허용치 하양 조정률을 다르게 적용하면서 전력절감과 동시에 CPU에 의한 작업에 영향을 미치지 않도록 하는 기술이 개시되어 있으나, In addition, Patent Document 2 measures the CPU utilization rate at a certain period, and if the CPU utilization rate is higher than the previous period, the CPU resource allowance is fine-adjusted, and if it is lower, the CPU resource allowance is adjusted, so that the CPU resource allowance white adjustment rate is changed through several cycles. While applying, a technology that reduces power and does not affect the work by the CPU has been disclosed.
특허문헌 1과 마찬가지로 사용자가 사용하는 프로그램은 다이나믹 하게 CPU 사용량이 달라지게 되는바, 인터넷을 사용할 때만 하더라도 사용자가 어떤 작업을 하느냐에 따라 CPU 사용량은 엄청 변하게 되며 여러 번의 주기를 설정한다고 해도 시간이 오래 걸릴 뿐만 아니라 다양한 패턴에는 적용할 수 없는 문제점이 있다.As in
따라서 사용자가 컴퓨터를 사용하는 작업환경을 고려하여 적절한 CPU 성능을 제공하여 사용자 개인마다 최적화된 CPU 사용을 가능하게 할 수 있는 연구의 필요성이 대두되었다.Therefore, a need for research has emerged that can enable optimized CPU usage for each user by providing appropriate CPU performance in consideration of the work environment in which the user uses a computer.
본 발명은 상기한 사정을 감안하여 발명한 것으로, 본 발명이 해결하고자 하는 과제는 컴퓨터의 사용환경, 즉 사용자가 사용중인 컴퓨터 화면을 분석하여 지금 사용자가 사용하고 있는 작업의 상태, 예컨대 미디어 재생 중인지, 문서 작업 중인지, 인터넷 서핑 중인지 등을 판별하여 이를 기반으로 CPU 성능을 조절하도록 된 인공지능 기반 코어파킹을 이용한 전력절감 컴퓨터를 제공하고자 함에 있다.The present invention was invented in view of the above circumstances, and the problem to be solved by the present invention is to analyze the computer's use environment, that is, the computer screen the user is using, It is intended to provide a power-saving computer using artificial intelligence-based core parking that determines whether you are working on documents or surfing the Internet, and adjusts CPU performance based on this.
또한, 컴퓨터의 사용환경을 분석할 때 컴퓨터 화면의 캡쳐 이미지와 딥러닝을 통해 현재 사용자가 무엇을 하고 있는지를 판별하여 그에 맞게 CPU 코어 파킹 및/또는 CPU 클럭 조절을 통해 CPU의 성능 조절을 실행함으로써 프로세스 체크만으로는 판단할 수 없는 다양한 케이스에 적용할 수 있도록 된 인공지능 기반 코어파킹을 이용한 전력절감 컴퓨터를 제공하고자 함에 있다.In addition, when analyzing the computer's usage environment, it determines what the current user is doing through the capture image of the computer screen and deep learning, and performs CPU performance adjustment through CPU core parking and/or CPU clock adjustment accordingly. The goal is to provide a power saving computer using artificial intelligence-based core parking that can be applied to various cases that cannot be judged by process check alone.
이하 본 발명의 목적을 달성하기 위한 구체적 해결 수단에 대하여 설명한다.Hereinafter, a specific solution for achieving the object of the present invention will be described.
본 발명의 일실시예에 따른 인공지능 기반 코어파킹을 이용한 전력절감 컴퓨터는, CPU와 메모리의 사용량을 측정하는 CPU/메모리 사용량 측정모듈; 화면 캡쳐 프로그램을 이용하여 컴퓨터에서 실행되는 응용 프로그램의 수행 결과 모니터에 디스플레이되는 화면 이미지를 캡쳐하는 화면캡쳐모듈; 상기 화면캡쳐모듈에서 캡쳐한 화면 캡쳐 이미지를 딥러닝 모델로 분석하여 현재 응용 프로그램에 의해 실행중인 작업종류를 판단하는 인공지능모듈; 상기 CPU/메모리 사용량 측정모듈로부터 CPU 사용량 데이터와 메모리 사용량 데이터를 수신하여 평균 CPU 사용량과 평균 메모리 사용량을 산출하여, 평균 CPU 사용량과 평균 메모리 사용량 그리고 상기 인공지능모듈로부터 수신되는 작업종류를 기반으로 기 설정된 코어파킹 기준테이블과 비교하여 활성화 시킬 코어수를 결정하는 코어수 판단모듈; 상기 코어수 판단모듈에서 결정된 코어수 만큼 활성화되는 CPU 코어 수를 조절하는 코어 제어모듈을 포함하여 이루어져 있다.A power saving computer using artificial intelligence-based core parking according to an embodiment of the present invention includes: a CPU/memory usage measurement module for measuring usage of CPU and memory; A screen capture module for capturing a screen image displayed on a monitor as a result of execution of an application program executed on a computer using a screen capture program; An artificial intelligence module that analyzes the screen capture image captured by the screen capture module as a deep learning model to determine the type of work being executed by the current application program; By receiving CPU usage data and memory usage data from the CPU/memory usage measurement module, the average CPU usage and the average memory usage are calculated, based on the average CPU usage, the average memory usage, and the type of work received from the artificial intelligence module. A core number determination module for determining the number of cores to be activated by comparing with the set core parking reference table; And a core control module that adjusts the number of CPU cores activated by the number of cores determined by the number of cores determination module.
상기 제어모듈은 상기 코어수 판단모듈에서 결정된 코어수에 따라 활성화되는 CPU 코어 수와 함께 CPU 클럭을 조정하도록 이루어진 것을 특징으로 한다.The control module is characterized in that it is configured to adjust the CPU clock together with the number of activated CPU cores according to the number of cores determined by the number of cores determination module.
상기 인공지능모듈은 화면 캡쳐 프로그램에서 캡쳐된 화면 캡쳐 이미지를 소정 사이즈로 줄이고 노이즈를 제거하며 RGB 이미지를 Gray 이미지로 변환하는 전처리부를 포함하여 이루어지는 것을 특징으로 한다.The artificial intelligence module is characterized in that it comprises a pre-processing unit that reduces the screen capture image captured by the screen capture program to a predetermined size, removes noise, and converts the RGB image into a gray image.
상기와 같이 본 발명은 컴퓨터 모니터에 출력되는 화면이 인터넷 창일 경우 인터넷 안에서 단순한 서핑을 하는 경우나 미디어 재생 등과 같이 복잡한 작업을 할 때에도 모니터 화면과 딥러닝을 통해 사용자가 실행시키는 응용프로그램을 분석하여 작업 환경에 적합하게 CPU의 코어 파킹과 클럭속도를 조절하여 CPU의 성능을 제어함으로써 컴퓨터의 사용에 따른 전력을 절감할 수 있고, 또한 별다른 하드웨어 추가 없이 어플리케이션 단에서 실행이 가능하므로 별도의 비용이 들지 않는 장점이 있다.As described above, the present invention works by analyzing the application program executed by the user through the monitor screen and deep learning even when a simple surfing in the Internet or a complex operation such as media playback is performed when the screen output on the computer monitor is an Internet window. By controlling the CPU performance by controlling the CPU's core parking and clock speed appropriate to the environment, power can be saved according to the use of the computer. Also, it can be executed at the application level without additional hardware, so there is no additional cost. There is an advantage.
도 1은 본 발명의 일 실시예에 따른 인공지능 기반 코어파킹을 이용한 전력절감 컴퓨터의 구성도,
도 2는 본 발명에 따른 인공지능모듈의 작업종류 판별을 위한 데이터 구성의 일례를 나타내는 도면,
도 3은 도 2는 본 발명에 따른 인공지능모듈의 학습모델의 일례를 나타내는 도면,
도 4는 본 발명에 따라 화면 캡쳐 이미지로부터 CPU 코어 파킹을 제어하는 방법을 설명하는 흐름도,
도 5는 본 발명에 따라 코어 파킹 방법을 설명하는 흐름도.1 is a block diagram of a power saving computer using artificial intelligence-based core parking according to an embodiment of the present invention;
2 is a view showing an example of a data configuration for determining the type of work of the artificial intelligence module according to the present invention,
3 is a view showing an example of a learning model of the artificial intelligence module according to the present invention,
4 is a flow chart illustrating a method of controlling CPU core parking from a screen capture image according to the present invention;
5 is a flowchart illustrating a core parking method according to the present invention.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 쉽게 실시할 수 있는 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작원리를 상세하게 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.Hereinafter, exemplary embodiments in which the present invention can be easily implemented by those of ordinary skill in the art will be described in detail with reference to the accompanying drawings. However, when it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
도 1은 본 발명의 일 실시예에 따른 인공지능 기반 코어파킹을 이용한 전력절감 컴퓨터의 구성도를 나타낸다.1 is a block diagram of a power saving computer using artificial intelligence-based core parking according to an embodiment of the present invention.
본 발명에 따른 인공지능 기반 코어파킹을 이용한 전력절감 컴퓨터는 CPU/메모리 사용량 측정모듈(10), 화면캡쳐모듈(20), 인공지능모듈(30), 코어수 판단모듈(40) 그리고 코어 제어모듈(50)을 포함하여 이루어져 있다.The power saving computer using the artificial intelligence-based core parking according to the present invention includes a CPU/memory
CPU/메모리 사용량 측정모듈(10)은 CPU와 메모리의 사용량을 측정하는 프로그램이 구비되어 CPU와 메모리의 사용량을 각각 측정하는 기능을 수행하는데, 이때 CPU와 메모리의 사용량 측정은 소정 주기마다 수행하며, 상기 소정 주기는 디폴트값과 함께 사용자에 의해 설정할 수 있다. 상기 소정 주기의 디폴트값으로는 CPU의 성능에 부담을 주지 않으면서 CPU와 메모리의 사용량을 측정하는데 적합한 값으로 예컨대 30초 정도로 설정할 수 있다.The CPU/memory
화면캡쳐모듈(20)은 화면 캡쳐 프로그램을 이용하여 사용자의 작업에 따라 컴퓨터에서 실행되는 응용 프로그램의 수행 결과 모니터에 디스플레이되는 화면 이미지를 캡쳐하는 기능을 수행하는데, 특히 백그라운드에서 실행되는 프로그램이 아니라 화면에 표시되고 있는 작업 화면을 비트맵 파일이나 이미지 형식의 파일 포맷으로 캡쳐하는 기능을 수행한다.The
인공지능모듈(30)에서는 상기 화면캡쳐모듈(20)에서 캡쳐한 화면 캡쳐 이미지를 딥러닝 모델을 이용하여 분석한 후 현재 응용 프로그램에 의해 실행중인 작업종류를 판단하며, 이때 백그라운드에서 실행되는 응용 프로그램이 아니라 화면에 표시되고 있는 작업종류(예컨대 문서 작업, 메일 작업, CAD 작업, 인터넷 서핑, 미디어 재생 등)를 판단하는 기능을 수행한다.The
이하에서는 인공지능모듈(30)에서 딥러닝 모델을 사용하여 상기 화면 캡쳐 이미지를 분석하여 작업종류를 판단하는 동작에 대하여 보다 상세히 설명한다.Hereinafter, an operation of determining the type of work by analyzing the screen captured image using a deep learning model in the
상기 화면캡쳐모듈(20)에서 캡쳐한 화면 캡쳐 이미지는 예컨대 풀 HD 화면의 경우 1920×1080으로서 이미지 사이즈가 너무 크기 때문에 작업종류 분석에 필요한 정도의 소정 사이즈로 줄일 필요가 있다. 이를 위해 전처리부(31)에서 사용하는 방법으로는 Nearest-neighbor interpolation, bilinear interpolation, bicubic interpolation, box sampling, vectorization, Deep convolutional neural networks 등의 방법이 적용될 수 있다. 또한 전처리부(31)에서는 노이즈를 제거하기 위한 필터링 동작을 수행함과 아울러, 캡쳐된 RGB 이미지를 Gray 이미지로 변환하여 작업종류 분석에 필요한 정도로 연산량을 줄일 수 있다. 이는 일반 RGB 이미지의 경우 각 픽셀마다 적색, 청색, 녹색 값을 가지고 있는데 반하여 Gray 이미지로 변환할 경우 1가지 값만 저장하면 되어서 연산량이 훨씬 줄어들기 때문이다.The screen capture image captured by the
이와 같이 전처리부(31)에서 전처리된 화면 캡쳐 이미지를 인공지능모듈(30)이 분석하여 현재 사용자가 컴퓨터에서 수행하고 있는 작업종류를 도출할 수 있게 된다. 이때 사용되는 모델로는 CNN(Convolution Neural Network), RNN(Recurrent Neural Network), GAN(Generative Neural Network) 등의 네트워크가 사용될 수 있다.As described above, the
사용자의 작업종류를 도출하기 위한 모델을 구성하기 위해서는 데이터들이 필요한데, 데이터의 구성으로는 예컨대 화면 캡쳐 이미지와 그 화면 캡쳐 이미지에 따른 사용자의 작업종류(문서 작업, 메일 작업, CAD 작업, 인터넷 서핑, 미디어 재생 등), 그리고 라벨(Label)로 이루어질 수 있으며, 여기서 라벨은 개발자나 회사 데이터를 이용한 경험적인 값을 의미한다. 도 2는 이러한 데이터 구성의 일례를 나타내는 것으로, 도 2의 (a)에 도시된 화면 캡쳐 이미지는 Exel 화면이므로 라벨값은 예컨대 "0"(0은 문서작업을 의미)으로 분류되고, 도 2의 (b)에 도시된 화면 캡쳐 이미지는 유튜브의 영상 재생 화면이므로 라벨값은 예컨대 "1"(1은 미디어 작업을 의미)로 분류된다. 이와 같이 인공지능모듈(30)에서는 화면 캡쳐 이미지를 분석하여 작업종류에 따라 라벨값을 부여한다.Data is required to construct a model for deriving the user's work type. The data includes, for example, a screen capture image and the user's work type according to the screen capture image (document work, mail work, CAD work, Internet surfing, Media playback, etc.), and a label, where the label means an empirical value using developer or company data. FIG. 2 shows an example of such a data structure. Since the screen capture image shown in FIG. 2A is an Exel screen, the label value is classified as “0” (0 means document work), for example, and Since the screen capture image shown in (b) is a video playback screen of YouTube, the label value is classified as, for example, "1" (1 means media work). In this way, the
이와 더불어 인공지능모듈(30)에서는 학습모델을 구비하고 있는데, 예컨대 도 3과 같이 학습모델을 CNN으로 구성하는 경우 CNN 레이어를 거치게 되면 인접 픽셀 간의 특징을 효과적으로 인식이 가능하고, 복수의 필터를 사용하기 때문에 이미지의 특징값을 효과적으로 추출이 가능하다. 이때 추출된 이미지의 특징값을 모으고 또한 강화를 함으로써 학습을 진행한다. 이와 같은 학습모델을 거치게 되면 문서 작업의 패턴과 미디어 재생의 패턴 등 작업종류마다 패턴이 다르기 때문에 각 작업환경에 맞는 패턴을 추출할 수 있다. 마지막 레이어는 분류(Classfication)으로 구성하여 이 이미지가 미디어 작업인지, 문서 작업인지 혹은 기타 다른 작업인지를 판별하게 된다.In addition, the
코어수 판단모듈(40)은 CPU(60)에 구비되어 있는 코어 중에서 현재 실행 중인 프로그램에 의한 부하에 대응하여 코어 파킹할 코어 수를 판단하는 기능을 수행하는 수단이다. 이를 위해, 코어수 판단모듈(40)은 상기 CPU/메모리 사용량 측정모듈(10)로부터 CPU 사용량 데이터와 메모리 사용량 데이터를 수신하여 평균 CPU 사용량과 평균 메모리 사용량을 산출하여, 평균 CPU 사용량과 평균 메모리 사용량을 산출하고, 아울러 상기 인공지능모듈(30)로부터 인공지능모듈(30)이 판단한 작업종류를 수신한다. 이후 상기 평균 CPU 사용량과 평균 메모리 사용량 및 작업종류를 기반으로 기 설정된 코어파킹 기준테이블과 비교하여 활성화 시킬 코어수 즉 코어 파킹할 코어수를 결정한다. 여기서 평균 CPU 사용량과 평균 메모리 사용량을 산출하는 것은 같은 작업이라도 백그라운드에서 진행되고 있는 프로그램에 따라 컴퓨터의 부하가 많이 걸릴 수 있기 때문이다.The number of
여기서 코어파킹 기준테이블은 평균 CPU 사용량과 평균 메모리 사용량 및 응용 프로그램에 의해 실행되는 작업종류에 대응하여 코어파킹할 코어수가 기준값으로 저장되어 있는 테이블이다. 또한 상기 코어파킹 기준테이블에는 상기 평균 CPU 사용량과 평균 메모리 사용량 및 작업종류를 기반으로 코어 파킹할 코어 수와 함께 CPU 클럭도 함께 기준값으로 저장될 수 있다. 단순 문서 작업 등과 같이 CPU 부하가 낮은 작업을 수행할 때 코어 수 뿐만 아니라 CPU 클럭도 줄여 전력절감 효과를 더욱 높일 수 있도록 하기 위함이다.Here, the core parking reference table is a table in which the number of cores to be parked core is stored as a reference value corresponding to the average CPU usage, average memory usage, and job types executed by the application program. In addition, in the core parking reference table, a CPU clock may be stored as a reference value together with the number of cores to be parked based on the average CPU usage, average memory usage, and job type. This is to further enhance the power saving effect by reducing not only the number of cores but also the CPU clock when performing tasks with low CPU load such as simple document work.
일반적으로 문서 작업 같은 경우에는 CPU에 걸리는 부하가 많지 않아서 CPU의 코어를 하나만 활성화 시키고 나머지 코어를 코어 파킹시켜 CPU의 성능을 저하시키더라도 문서 작업하는데는 별 차이가 없다. 따라서 코어 수가 많은 CPU 일수록 전력절감 효과를 높일 수 있다. 그렇지만, 단순한 문서 작업의 경우에도 백그라운드에서 돌아가는 프로그램이 적을 경우에는 코어 파킹을 이용하여 코어 수를 줄여도 작업하는 데에는 무리가 없지만, 백그라운드에서 돌아가는 프로그램이 많을 경우에는 CPU에 걸리는 부하가 많아져 작업 환경에 불편함을 초래할 수 있으므로 CPU의 코어 수를 적게 줄여 작업하는데 영향이 없도록 구성하는 것이 바람직하다.In general, in the case of document work, there is not much difference in document work even if the CPU performance is degraded by activating only one core of the CPU and parking the other cores because the CPU is not heavily loaded. Therefore, a CPU with a large number of cores can increase the power saving effect. However, even in the case of simple document work, if there are few programs running in the background, it is not unreasonable to work even if the number of cores is reduced by using core parking. However, if there are many programs running in the background, the load on the CPU becomes high and the work environment is affected. Since it can cause inconvenience, it is desirable to reduce the number of cores of the CPU and configure it so that it does not affect the work.
한편, 미디어 영상 플레이의 경우 요즘에는 고화질 동영상이 많이 보급되고 있어서 CPU의 성능을 줄였다가는 작업환경에 불편함을 초래 할 수 있으므로 CPU 코어 파킹을 해제하여 고성능으로 유지하도록 하는 것이 바람직하다. On the other hand, in the case of media video play, since high-definition video is widely popular these days, reducing CPU performance may cause inconvenience to the work environment, so it is desirable to release CPU core parking to maintain high performance.
코어 제어모듈(50)은 상기 코어수 판단모듈(40)에서 결정된 코어수 만큼 활성화 시킬 CPU 코어 수를 제외한 나머지 코어에 대해 코어 파킹하도록 제어하는 기능을 한다. 또한, 상기 코어 제어모듈(50)은 상기 코어 파킹 제어와 함께 상기 코어수 판단모듈(40)에서 결정된 클럭 만큼 CPU 클럭을 조절하는 기능을 수행할 수도 있다. 예를 들어, 작업 상태가 문서 작업일 경우에는 CPU 코어 수를 25%로 코어 파킹하고, CPU 클럭도 낮추어 컴퓨가 동작하게끔 하는 한편, 미디어 작업일 경우에는 CPU 코어 수를 줄이지 않고 고성능으로 동작하도록 제어할 수 있다 .The
하지만, 문서 작업일 경우에도 진행되고 있는 백그라운드 프로그램이 많을 경우 자연스럽게 CPU나 메모리의 사용량이 많아질 것이므로, 만약 CPU 사용량 또는 메모리 사용량이 80% 이상이 될 경우에는 CPU 코어수 및 CPU Clock을 줄이지 않고 고성능 PC를 유지하도록 제어함이 바람직하다.However, even in the case of document work, if there are many background programs in progress, the CPU or memory usage will naturally increase, so if the CPU usage or memory usage is more than 80%, high performance without reducing the number of CPU cores and CPU clock It is desirable to control to keep the PC.
도 4는 본 발명에 따라 화면 캡쳐 이미지로부터 CPU 코어 파킹을 제어하는 방법을 설명하는 흐름도를 나타낸다.4 is a flowchart illustrating a method of controlling CPU core parking from a screen captured image according to the present invention.
본 발명에 따른 코어 파킹 제어 기능은 사용자가 컴퓨터를 직접 조작하여 수동으로 직접 프로그램을 실행하게 할 수도 있고, 컴퓨터 부팅 시 자동으로 프로그램이 실행되도록 설정할 수 있으며, 이와 같은 수동 또는 자동 실행을 사용자가 선택적으로 설정하도록 할 수 있다.The core parking control function according to the present invention may allow a user to manually execute a program by directly manipulating a computer, or set to automatically execute a program when the computer is booted, and such manual or automatic execution can be selected by the user. Can be set to
먼저, CPU/메모리 사용량 측정모듈(10)은 소정 주기마다 CPU와 메모리의 사용량을 측정하는 프로그램을 구동하여 CPU와 메모리의 사용량을 각각 측정하는 단계를 수행한다.First, the CPU/memory
또한 화면캡쳐모듈(20)이 소정 주기마다 화면 캡쳐 프로그램을 구동하여 현재 사용자의 작업에 따라 모니터에 디스플레이되는 화면 이미지를 캡쳐하는 단계를 수행한다.In addition, the
이후, 인공지능모듈(30)에서는 상기 화면캡쳐모듈(20)에서 캡쳐한 화면 캡쳐 이미지를 딥러닝 모델을 이용하여 분석한 후 현재 응용 프로그램에 의해 실행중인 작업종류, 예컨대 문서 작업, 메일 작업, CAD 작업, 인터넷 서핑, 미디어 재생 등을 판단하는 단계를 수행한다.Thereafter, the
코어수 판단모듈(40)에서는 상기 CPU/메모리 사용량 측정모듈(10)로부터 CPU 사용량 데이터와 메모리 사용량 데이터를 수신하여 평균 CPU 사용량과 평균 메모리 사용량을 산출하여, 평균 CPU 사용량과 평균 메모리 사용량을 산출하고, 아울러 상기 인공지능모듈(30)로부터 인공지능모듈(30)이 판단한 작업종류를 수신한다음, 상기 평균 CPU 사용량과 평균 메모리 사용량 및 작업종류를 기반으로 기 설정된 코어파킹 기준테이블과 비교하여 활성화 시킬 코어수 즉 코어 파킹할 코어수를 결정하는 단계를 수행한다. The number of
그리고 상기 코어수 판단모듈(40)에서 결정된 코어 수에 따라 코어 제어모듈(50)에서 CPU(60)의 코어 파킹을 제어하는 단계를 수행한다.In addition, the
이에 따라 고성능이 요구되는 작업을 수행하고 있지 않은 경우 코어 파킹을 통해 전력절감을 구현할 수 있다.Accordingly, when a task requiring high performance is not being performed, power saving can be realized through core parking.
도 5는 본 발명에 따라 코어 파킹 방법을 설명하는 흐름도를 나타낸다.5 is a flowchart illustrating a core parking method according to the present invention.
코어수 판단모듈(40)에서는 인공지능모듈(30)에서 도출한 작업종류에 대한 정보를 수신하면, 해당 작업종류가 무엇인지 판단, 예컨대 문서작업인지, 인터넷 서핑인지, 미디어 작업인지 판단하고, 각 작업종류에 대해 CPU와 메모리 사용량이 많은지 여부를 판단하는 기준값과 비교, 예컨대 기준값으로 설정된 80% 이상인지 여부를 판단한 다음, 기준값보다 CPU와 메모리 사용량이 많으면 현재 CPU 코어 수를 유지하고, 기준값보다 CPU와 메모리 사용량이 적으면 현재 CPU 코어 수를 작업종류에 따라 감소시켜 전력절감을 구현한다.When the number of
[실시예][Example]
OS
Win 10
Win 10
위 표 1의 제품 1은 코어i3-10세대 CPU 로써 코어수는 쿼드(4)코어, 최대 클럭은 4.3GHz 사양을 갖는 타워형 컴퓨터이고, 제품 2는 코어i9-10세대 CPU 로써 코어수는 10코어, 최대 클럭은 5.2GHz 인 사양을 갖는 타워형 컴퓨터이다.
본 발명에 따른 코어 파킹 기능을 제품 1과 같은 사양을 갖는 컴퓨터에 적용하여 CPU 코어 수 및 CPU 클럭을 25 %로 설정하여 실험한 결과 코어 파킹 기능을 적용하기 전에는 소비 전력이 38.43 [W] 이었으나, 코어 파킹 기능을 적용한 이후에는 소비 전력이 26.47 [W] 로 낮아져서 31.1 %의 전력절감율을 나타내었고, 제품 2와 같은 사양을 갖는 컴퓨터에 적용한 결과 코어 파킹 기능을 적용하기 전에는 소비 전력이 60.72 [W] 이었으나, 코어 파킹 기능을 적용한 이후에는 소비 전력이 27.09 [W] 로 낮아져서 55.4 %의 전력절감율을 나타냄을 확인하였다.As a result of experiment by applying the core parking function according to the present invention to a computer having the same specifications as
10 -- CPU/메모리 사용량 측정모듈, 20 -- 화면캡쳐모듈,
30 -- 인공지능모듈, 31 -- 전처리부,
40 -- 코어수 판단모듈, 50 -- 코어 제어모듈,
60 -- CPU.10 - CPU/Memory usage measurement module, 20 - Screen capture module,
30 - artificial intelligence module, 31 - preprocessor,
40 - core count determination module, 50 - core control module,
60 - CPU.
Claims (3)
화면 캡쳐 프로그램을 이용하여 컴퓨터에서 실행되는 응용 프로그램의 수행 결과 모니터에 디스플레이되는 화면 이미지를 이미지 형식의 파일 포맷으로 캡쳐하는 화면캡쳐모듈;
상기 화면 캡쳐 프로그램에서 캡쳐된 화면 캡쳐 이미지를 소정 사이즈로 줄이고 노이즈를 제거하며 RGB 이미지를 Gray 이미지로 변환하는 전처리부;
상기 전처리부에서 변환된 화면 캡쳐 이미지를 딥러닝 모델로 분석하여 현재 응용 프로그램에 의해 실행중인 작업이 문서 작업, 메일 작업, CAD작업, 인터넷 서핑 또는 미디어 재생과 같은 작업 중에서 어디에 속하는지를 결정하여 작업종류를 판단하는 인공지능모듈;
상기 CPU/메모리 사용량 측정모듈로부터 CPU 사용량 데이터와 메모리 사용량 데이터를 수신하여 평균 CPU 사용량과 평균 메모리 사용량을 산출하여, 평균 CPU 사용량과 평균 메모리 사용량 그리고 상기 인공지능모듈로부터 수신되는 작업종류를 기반으로 기 설정된 코어파킹 기준테이블과 비교하여 활성화 시킬 코어수를 결정하는 코어수 판단모듈;
상기 코어수 판단모듈에서 결정된 코어수 만큼 활성화되는 CPU 코어 수를 조절하는 코어 제어모듈;을 포함하여 이루어진 인공지능 기반 코어파킹을 이용한 전력절감 컴퓨터.
CPU/memory usage measurement module for measuring the usage of CPU and memory;
A screen capture module for capturing a screen image displayed on a monitor as a result of execution of an application program executed on a computer using a screen capture program in an image format file format;
A preprocessor for reducing the screen capture image captured by the screen capture program to a predetermined size, removing noise, and converting an RGB image to a gray image;
The screen capture image converted by the preprocessor is analyzed with a deep learning model to determine which of the tasks currently being executed by the application belongs among tasks such as document tasks, mail tasks, CAD tasks, internet surfing or media playback, and the task type An artificial intelligence module that determines the;
By receiving CPU usage data and memory usage data from the CPU/memory usage measurement module, the average CPU usage and the average memory usage are calculated, based on the average CPU usage, the average memory usage, and the type of work received from the artificial intelligence module. A core number determination module for determining the number of cores to be activated by comparing with the set core parking reference table;
A power saving computer using artificial intelligence-based core parking comprising; a core control module for adjusting the number of CPU cores activated by the number of cores determined by the number of cores determination module.
상기 제어모듈은 상기 코어수 판단모듈에서 결정된 코어수에 따라 활성화되는 CPU 코어 수와 함께 CPU 클럭을 조정하도록 이루어진 것을 특징으로 하는 인공지능 기반 코어파킹을 이용한 전력절감 컴퓨터.
The method of claim 1,
The control module is a power saving computer using artificial intelligence-based core parking, characterized in that configured to adjust the CPU clock together with the number of CPU cores activated according to the number of cores determined by the number of cores determination module.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200126172A KR102213673B1 (en) | 2020-09-28 | 2020-09-28 | Power saving computer using artificial inteligence-based core parking |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200126172A KR102213673B1 (en) | 2020-09-28 | 2020-09-28 | Power saving computer using artificial inteligence-based core parking |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102213673B1 true KR102213673B1 (en) | 2021-02-08 |
Family
ID=74560150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200126172A KR102213673B1 (en) | 2020-09-28 | 2020-09-28 | Power saving computer using artificial inteligence-based core parking |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102213673B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110049409A (en) * | 2009-11-05 | 2011-05-12 | 삼성전자주식회사 | Method for controlling power in low power multi-core system |
KR101927872B1 (en) | 2018-06-18 | 2018-12-12 | 현대멀티캡 주식회사 | Power saving computer using usage monitoring and core parking |
KR20190053675A (en) * | 2017-11-10 | 2019-05-20 | 삼성전자주식회사 | Electronic apparatus and operating method thereof |
KR102067680B1 (en) | 2019-03-22 | 2020-01-17 | 박치영 | Method and apparatus for power reduction of cpu |
-
2020
- 2020-09-28 KR KR1020200126172A patent/KR102213673B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110049409A (en) * | 2009-11-05 | 2011-05-12 | 삼성전자주식회사 | Method for controlling power in low power multi-core system |
KR20190053675A (en) * | 2017-11-10 | 2019-05-20 | 삼성전자주식회사 | Electronic apparatus and operating method thereof |
KR101927872B1 (en) | 2018-06-18 | 2018-12-12 | 현대멀티캡 주식회사 | Power saving computer using usage monitoring and core parking |
KR102067680B1 (en) | 2019-03-22 | 2020-01-17 | 박치영 | Method and apparatus for power reduction of cpu |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11756163B2 (en) | Detecting keypoints in image data | |
EP3611915B1 (en) | Method and apparatus for image processing | |
US10929945B2 (en) | Image capture devices featuring intelligent use of lightweight hardware-generated statistics | |
US8149234B2 (en) | Picture processing using a hybrid system configuration | |
CN103440117B (en) | The method and system of Computer Vision | |
TWI685247B (en) | Image processing method and related camera device and camera system | |
US10181088B2 (en) | Method for video object detection | |
KR102143487B1 (en) | Device for automatically controlling brightness of computer moniter based on artificial inteligence and method thereof | |
DE102020103431A1 (en) | Light flicker reduction in machine vision systems | |
CN113473214B (en) | Screen recording method and device, computing equipment and readable storage medium | |
DE102011050050A1 (en) | A method and apparatus for modifying a transition to a changed power state of an electronic device based on an accelerometer output | |
WO2020108010A1 (en) | Video processing method and apparatus, electronic device and storage medium | |
CN108428215A (en) | A kind of image processing method, device and equipment | |
Wang et al. | Weak-light image enhancement method based on adaptive local gamma transform and color compensation | |
CN103313002A (en) | Situation-based mobile streaming media energy-saving optimization method | |
CN112541868A (en) | Image processing method, image processing device, computer equipment and storage medium | |
Cheng et al. | Image quality assessment using natural image statistics in gradient domain | |
US9940543B2 (en) | Control of computer vision pre-processing based on image matching using structural similarity | |
CN102833549B (en) | JPEG (joint photographic experts group)-LS (layer style) image compression control method based on image source features | |
KR102213673B1 (en) | Power saving computer using artificial inteligence-based core parking | |
CN112308793A (en) | Novel method for enhancing contrast and detail of non-uniform illumination image | |
CN116993737A (en) | Lightweight fracture segmentation method based on convolutional neural network | |
US7941005B2 (en) | Information processing apparatus and resolution enhancement processing control program | |
CN114463208A (en) | Dimension-building monitoring video image enhancement method based on contrast-limiting adaptive histogram equalization method | |
WO2023284236A1 (en) | Blind image denoising method and apparatus, electronic device, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |