KR101783148B1 - Task scheduling method for energy-efficient mobile web browsing and mobile device for performing the same - Google Patents

Task scheduling method for energy-efficient mobile web browsing and mobile device for performing the same Download PDF

Info

Publication number
KR101783148B1
KR101783148B1 KR1020160134147A KR20160134147A KR101783148B1 KR 101783148 B1 KR101783148 B1 KR 101783148B1 KR 1020160134147 A KR1020160134147 A KR 1020160134147A KR 20160134147 A KR20160134147 A KR 20160134147A KR 101783148 B1 KR101783148 B1 KR 101783148B1
Authority
KR
South Korea
Prior art keywords
thread
web page
loaded
image
threads
Prior art date
Application number
KR1020160134147A
Other languages
Korean (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 KR1020160134147A priority Critical patent/KR101783148B1/en
Application granted granted Critical
Publication of KR101783148B1 publication Critical patent/KR101783148B1/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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 Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A task scheduling method for energy-efficient mobile web browsing and a mobile device for performing the same are disclosed. The task scheduling method includes a step of starting web page loading using a mobile web browser, a step of determining the image size of a web page to be loaded, a step of classifying the threads of the mobile web browser into a first thread to be placed in a high performance core and a second thread to be placed in a low performance core according to a determined image size, a step of placing the first thread in the high performance core, and a step of placing the second thread in the low performance core.

Description

에너지 효율적인 모바일 웹 브라우징을 위한 태스크 스케줄링 방법 이를 수행하는 모바일 기기{Task scheduling method for energy-efficient mobile web browsing and mobile device for performing the same}[0001] Task scheduling method for energy efficient mobile web browsing [0002] A task scheduling method for energy-efficient mobile web browsing and mobile device [

본 발명은 에너지 효율적인 모바일 웹 브라우징을 위한 태스크 스케줄링 방법 이를 수행하는 모바일 기기에 관한 것이다.The present invention relates to a task scheduling method for energy efficient mobile web browsing.

대부분의 최신 모바일 기기들은 성능 저하 없이 에너지 소모를 절감하기 위하여, 성능이 높은 고성능 코어(Big Core)와 전력 소모가 낮은 저전력 코어(Small Core)를 모두 포함하는 이기종 멀티코어 프로세서(Heterogeneous Multi-core Processor)를 탑재하고 있다. 이러한 서로 다른 종류의 코어를 포함하는 이기종 멀티코어 프로세서를 효율적으로 활용하기 위해서는, 쓰레드(Thread)를 적합한 종류의 CPU 코어에 배치하여 실행시키는 것이 중요하다. 이는, 높은 성능을 요구하지 않는 쓰레드를 저전력 코어에 배치하면, 전력 소모가 절감될 수 있고, 높은 성능을 요구하는 쓰레드를 고성능 코어에 배치하면, 성능이 향상될 수 있기 때문이다.Most modern mobile devices use a heterogeneous multi-core processor, which includes both a high-performance high-performance core and a low-power low-power core (Small Core) ). In order to efficiently utilize heterogeneous multicore processors including these different types of cores, it is important to arrange and execute threads in a suitable type of CPU core. This is because placing a thread that does not require high performance in a low power core can reduce power consumption, and performance can be improved by placing a high performance thread in a high performance core.

현재 리눅스 커널(Linux Kernel)에서 가장 널리 사용되는 종래의 태스크 스케줄링(Task Scheduling) 방법은, 각 쓰레드의 CPU 사용량(Utilization)만을 고려하여 쓰레드들을 어떤 CPU 코어에 배치할지를 결정한다. 하지만, 이와 같은 기존 태스크 스케줄링 방법은 웹 브라우저의 특성을 전혀 고려하고 있지 않기 때문에, 웹 브라우징에서는 에너지 효율적이지 않다. 로딩되는 웹 페이지의 구성에 따라 웹 브라우저에서 더 높은 성능을 필요로 하는 쓰레드들이 달라진다. 예를 들어, 이미지가 많은 웹 페이지를 로딩하는 시, 이미지를 처리하는 쓰레드들이 높은 성능을 필요로 한다. 또한, 이미지가 적고 상대적으로 스크립트가 많은 웹 페이지를 로딩하는 시, 스크립트를 처리하는 쓰레드들이 높은 성능을 필요로 한다. 이러한 웹 브라우저의 특성을 고려하지 않는 기존 태스크 스케줄링은 높은 성능을 필요로 하지 않은 쓰레드도 고성능 코어에 배치하여 불필요한 에너지 소모를 야기한다. 이에 따라 고성능 코어는 idle 상태로 진입하지 못하여 power-off가 될 수 없는 문제점이 있다.Currently, the most widely used task scheduling method in the Linux kernel determines the CPU core to which threads are allocated considering only the CPU utilization of each thread. However, since the conventional task scheduling method does not consider the characteristics of the web browser at all, it is not energy efficient in web browsing. Depending on the configuration of the web page being loaded, the threads that need higher performance in the web browser are different. For example, when loading a web page with many images, the threads that process the image need high performance. Also, when loading web pages with relatively few images and relatively large number of scripts, the threads that process the scripts need high performance. Existing task scheduling that does not consider the characteristics of the web browser causes unnecessary energy consumption by allocating threads that do not require high performance to a high performance core. As a result, the high performance core can not enter the idle state and can not be turned off.

한편, 모바일 기기는 제한된 배터리 수명을 가지고 있다. 따라서, 배터리 사용 시간을 늘리기 위해서 모바일 기기의 에너지 효율을 높이는 방법이 필요하다.On the other hand, mobile devices have limited battery life. Therefore, there is a need for a method of increasing the energy efficiency of a mobile device in order to increase battery usage time.

본 발명은 모바일 기기 사용자들이 가장 많이 사용하는 어플리케이션 중 하나인 웹 브라우저에 의한 모바일 기기의 에너지 소모를 절감하기 위하여, 모바일 웹 브라우저의 특성을 분석하여 높은 성능을 필요로 하지 않아 성능 저하를 야기하지 않는 쓰레드를 파악하고, 높은 성능을 요구하지 않는 쓰레드를 저전력 코어에 배치하는 에너지 효율적인 모바일 웹 브라우징을 위한 태스크 스케줄링 방법 이를 수행하는 모바일 기기를 제공하기 위한 것이다.In order to reduce the energy consumption of a mobile device by a web browser, which is one of the most frequently used applications of mobile device users, the present invention analyzes a characteristic of a mobile web browser, And a task scheduling method for energy efficient mobile web browsing in which a thread that does not require high performance is placed in a low power core.

본 발명의 일 측면에 따르면, 고성능 코어 및 저전력 코어를 포함하는 프로세서를 탑재한 모바일 기기에서 수행되는 에너지 효율적인 모바일 웹 브라우징을 위한 태스크 스케줄링 방법이 개시된다.According to an aspect of the present invention, a task scheduling method for energy efficient mobile web browsing is provided in a mobile device equipped with a processor including a high performance core and a low power core.

본 발명의 실시예에 따른 태스크 스케줄링 방법은, 모바일 웹 브라우저를 이용하여 웹 페이지 로딩을 시작하는 단계, 로딩하는 웹 페이지의 이미지의 크기를 확인하여 이미지 크기를 결정하는 단계, 상기 결정된 이미지 크기에 따라 모바일 웹 브라우저의 쓰레드(Thread)들을 상기 고성능 코어에 배치할 제1 쓰레드 및 상기 저전력 코어에 배치할 제2 쓰레드로 분류하는 단계, 상기 제1 쓰레드를 상기 고성능 코어에 배치하는 단계 및 상기 제2 쓰레드를 상기 저전력 코어에 배치하는 단계를 포함한다.A task scheduling method according to an exemplary embodiment of the present invention includes starting a web page loading using a mobile web browser, determining an image size by checking an image size of a web page to be loaded, Classifying the threads of a mobile web browser into a first thread to be placed in the high performance core and a second thread to be placed in the low power core; placing the first thread in the high performance core; To the low power core.

상기 이미지 크기를 결정하는 단계는, 상기 로딩하는 웹 페이지의 구성 요소 중, 이미지의 크기가 일정 수준(Threshold) 이상이면, 상기 로딩하는 웹 페이지를 이미지가 많은 웹 페이지로 결정하는 단계 및 상기 이미지의 크기가 일정 수준(Threshold) 미만이면, 상기 로딩하는 웹 페이지를 이미지가 적은 웹 페이지로 결정하는 단계를 포함한다.Wherein the step of determining the image size comprises the steps of determining the web page to be loaded as a web page having a large image if the size of the image is greater than or equal to a predetermined threshold value among the components of the web page to be loaded, If the size is less than a predetermined threshold, determining that the web page to be loaded is a web page with a small number of images.

상기 제1 및 제2 쓰레드는 모바일 웹 페이지의 로딩 시간에 영향을 미치는지 여부에 따라 분류된다.The first and second threads are classified according to whether they affect the loading time of the mobile web page.

상기 쓰레드를 분류하는 단계는, 상기 로딩하는 웹 페이지에 포함된 이미지의 크기가 미리 설정된 임계치 이상인 경우, 이미지 처리와 관련된 쓰레드를 상기 제1 쓰레드로 분류하고, 이 외 모든 쓰레드들을 상기 제2 쓰레드로 분류하는 단계 및 상기 로딩하는 웹 페이지에 포함된 이미지의 크기가 미리 설정된 임계치 미만인 경우, 스크립트 처리와 관련된 쓰레드를 상기 제1 쓰레드로 분류하고, 이 외 모든 쓰레드들을 상기 제2 쓰레드로 분류하는 단계를 포함한다.The classifying thread may include classifying a thread associated with image processing into the first thread if the size of the image included in the web page to be loaded is greater than or equal to a predetermined threshold, Classifying the thread related to the script processing into the first thread and classifying all the other threads into the second thread when the size of the image included in the web page to be loaded is less than a predetermined threshold, .

상기 이미지 처리와 관련된 쓰레드는 RendererMain, Compositor 및 CompositorRasterWorker 중 적어도 하나이고, 상기 스크립트 처리와 관련된 쓰레드는 RendererMain이다.The thread associated with the image processing is at least one of RendererMain, Compositor and CompositorRasterWorker, and the thread associated with the script processing is RendererMain.

상기 제1 쓰레드를 상기 고성능 코어에 배치하는 단계는, 상기 제1 쓰레드의 프로세서 사용량을 상기 모바일 웹 페이지의 로딩이 종료될 때까지 주기적으로 확인하는 단계, 상기 제1 쓰레드의 상기 프로세서 사용량이 일정 수준 이상이면, 상기 제1 쓰레드를 고성능 코어에 배치하는 단계 및 상기 제1 쓰레드의 상기 프로세서 사용량이 일정 수준 미만이면, 상기 제1 쓰레드를 저전력 코어에 배치하는 단계를 포함한다.Wherein the step of arranging the first thread in the high performance core comprises periodically checking the processor usage of the first thread until the loading of the mobile web page is completed, , Placing the first thread in a high performance core and placing the first thread in a low power core if the processor usage of the first thread is below a certain level.

상기 제2 쓰레드를 상기 저전력 코어에 배치하는 단계는, 상기 제2 쓰레드를 모바일 웹 페이지의 로딩이 종료될 때까지 항상 저전력 코어에 배치한다.The step of placing the second thread in the low power core always places the second thread in the low power core until loading of the mobile web page is terminated.

본 발명의 다른 측면에 따르면, 에너지 효율적인 모바일 웹 브라우징을 위한 태스크 스케줄링을 수행하는 모바일 기기가 개시된다.According to another aspect of the present invention, a mobile device for performing task scheduling for energy efficient mobile web browsing is disclosed.

본 발명의 실시예에 따른 모바일 기기는, 명령어를 저장하는 메모리 및 상기 명령어를 실행하며, 고성능 코어 및 저전력 코어를 포함하는 프로세서를 포함하되, 상기 명령어는, 모바일 웹 브라우저를 이용하여 웹 페이지 로딩을 시작하는 단계, 로딩하는 웹 페이지의 이미지의 크기를 확인하여 이미지 크기를 결정하는 단계, 상기 결정된 이미지 크기에 따라 모바일 웹 브라우저의 쓰레드(Thread)들을 상기 고성능 코어에 배치할 제1 쓰레드 및 상기 저전력 코어에 배치할 제2 쓰레드로 분류하는 단계, 상기 제1 쓰레드를 상기 고성능 코어에 배치하는 단계 및 상기 제2 쓰레드를 상기 저전력 코어에 배치하는 단계를 포함하는 태스크 스케줄링 방법을 수행한다.A mobile device according to an embodiment of the present invention includes a memory for storing instructions and a processor for executing the instructions and including a high performance core and a low power core, Determining a size of an image of a loading web page to determine an image size; determining a first thread to place threads of a mobile web browser on the high performance core according to the determined image size; , Placing the first thread in the high performance core, and placing the second thread in the low power core.

본 발명의 실시예에 따른 에너지 효율적인 모바일 웹 브라우징을 위한 태스크 스케줄링 방법 이를 수행하는 모바일 기기는 높은 성능을 요구하지 않는 쓰레드를 저전력 코어에 배치하고, 높은 성능을 요구하는 쓰레드를 고성능 코어에 배치함으로써, 전력 소모가 큰 고성능 코어를 idle 상태에 오래 머무르게 하여 power-off하여 에너지 소모를 줄이고 성능을 향상시킬 수 있다.A task scheduling method for an energy efficient mobile web browsing according to an embodiment of the present invention is a task scheduling method for allocating threads that do not require high performance to low power cores and arranging threads requiring high performance on high performance cores, High-performance cores with high power consumption can be idle for a long time to power-off, thereby reducing energy consumption and improving performance.

도 1은 본 발명의 실시예에 따른 에너지 효율적인 모바일 웹 브라우징을 위한 태스크 스케줄링 방법을 나타낸 도면.
도 2는 모바일 웹 브라우저의 쓰레드 분류의 예를 나타낸 도면.
도 3은 본 발명의 실시예에 따른 모바일 기기의 구성을 개략적으로 예시한 도면.
1 illustrates a method for scheduling tasks for energy efficient mobile web browsing according to an embodiment of the present invention.
2 illustrates an example of thread classification of a mobile web browser;
3 is a schematic view illustrating a configuration of a mobile device according to an embodiment of the present invention.

본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.As used herein, the singular forms "a", "an" and "the" include plural referents unless the context clearly dictates otherwise. In this specification, the terms "comprising ", or" comprising "and the like should not be construed as necessarily including the various elements or steps described in the specification, Or may be further comprised of additional components or steps. Also, the terms "part," " module, "and the like described in the specification mean units for processing at least one function or operation, which may be implemented in hardware or software or a combination of hardware and software .

이하, 본 발명의 다양한 실시예들을 첨부된 도면을 참조하여 상술하겠다. Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 에너지 효율적인 모바일 웹 브라우징을 위한 태스크 스케줄링 방법을 나타낸 도면이고, 도 2는 모바일 웹 브라우저의 쓰레드 분류의 예를 나타낸 도면이다. 본 발명의 실시예에 따른 에너지 효율적인 모바일 웹 브라우징을 위한 태스크 스케줄링 방법은 모바일 기기에서 수행되는 바, 이하에서는 모바일 기기를 주체로 도 1의 태스크 스케줄링 방법을 설명하기로 한다. 또한, 본 발명의 실시예에 따른 모바일 기기는 성능이 높은 고성능 코어(Big Core)와 전력 소모가 낮은 저전력 코어(Small Core)를 모두 포함하는 이기종 멀티코어 프로세서(Heterogeneous Multi-core Processor)를 탑재한다.FIG. 1 is a diagram illustrating a task scheduling method for energy efficient mobile web browsing according to an embodiment of the present invention, and FIG. 2 is a diagram illustrating an example of thread classification of a mobile web browser. A task scheduling method for an energy efficient mobile web browsing according to an embodiment of the present invention is performed in a mobile device. Hereinafter, a task scheduling method of FIG. 1 will be described with a mobile device as a main body. In addition, the mobile device according to the embodiment of the present invention includes a heterogeneous multi-core processor including both a high-performance high-performance core and a low-power low-power core (Small Core) .

S110 단계에서, 모바일 기기는 모바일 웹 브라우저를 이용하여 웹 페이지 로딩을 시작한다.In step S110, the mobile device starts loading the web page using the mobile web browser.

S120 단계에서, 모바일 기기는 로딩하는 웹 페이지의 이미지의 크기를 확인하여 이미지 크기를 결정한다. 즉, 모바일 기기는 로딩하는 웹 페이지가 이미지가 많은 웹 페이지인지 또는 이미지가 적은 웹 페이지인지 여부를 결정할 수 있다.In step S120, the mobile device determines the image size by checking the size of the image of the web page to be loaded. That is, the mobile device can determine whether the web page to be loaded is a web page with many images or a web page with a small number of images.

예를 들어, 모바일 기기는 로딩하는 웹 페이지의 구성 요소 중, 이미지의 크기가 일정 수준(Threshold) 이상이면, 로딩하는 웹 페이지를 이미지가 많은 웹 페이지로 결정하고, 이미지의 크기가 일정 수준(Threshold) 미만이면, 로딩하는 웹 페이지를 이미지가 적은 웹 페이지로 결정할 수 있다.For example, if the image size of the web page to be loaded is equal to or greater than a predetermined threshold, the mobile device determines that the web page to be loaded is a web page having a large number of images, ), The web page to be loaded can be determined as a web page having a small number of images.

S130 단계에서, 모바일 기기는 결정된 이미지 크기에 따라 모바일 웹 브라우저의 쓰레드(Thread)들을 제1 쓰레드 및 제2 쓰레드로 분류한다. 여기서, 제1 쓰레드는 고성능 코어에 배치할 중요한 쓰레드이고, 제2 쓰레드는 저전력 코어에 배치할 중요하지 않은 쓰레드이다.In step S130, the mobile device classifies the threads of the mobile web browser into the first thread and the second thread according to the determined image size. Here, the first thread is an important thread to be placed in a high performance core, and the second thread is an insignificant thread to be placed in the low power core.

예를 들어, 도 2를 참조하면, 로딩하는 웹 페이지가 이미지가 많은 웹 페이지인의 경우, RendererMain, Compositor, CompositorRasterWorker를 모바일 웹 브라우저의 중요한 제1 쓰레드로 분류하고, 그 외 모든 쓰레드를 중요하지 않은 제2 쓰레드로 분류할 수 있다. 그리고, 로딩하는 웹 페이지가 이미지가 적은 웹 페이지인 경우, RendererMain을 중요한 제1 쓰레드로 분류하고, 그 외 모든 쓰레드를 중요하지 않은 제2 쓰레드로 분류할 수 있다.For example, referring to FIG. 2, if the web page to be loaded is a web page having many images, the RendererMain, the Compositor, and the CompositorRasterWorker are classified as important first threads of the mobile web browser, It can be classified into a second thread. If the web page to be loaded is a web page with a small number of images, the RendererMain may be classified as an important first thread, and all other threads may be classified as a non-critical second thread.

모바일 웹 브라우저의 대부분의 쓰레드들은 비동기적으로 동작한다. 그래서, 모바일 웹 브라우저의 쓰레드들 중에서, 저전력 코어에서 동작하더라도 전체적인 모바일 웹 페이지의 로딩 시간에 영향을 미치지 않는 쓰레드 즉, 중요하지 않은 쓰레드들이 존재한다. 이와 반대로, 전체적인 모바일 웹 페이지의 로딩 시간에 영향을 미치는 쓰레드 즉, 중요한 쓰레드들도 존재한다.Most of the threads in a mobile web browser operate asynchronously. Thus, among the threads of a mobile web browser, there are threads that do not affect the loading time of the entire mobile web page, that is, non-critical threads, even when operated on a low power core. Conversely, there are threads, or critical threads, that affect the overall loading time of mobile web pages.

그리고, 모바일 웹 브라우저가 웹 페이지를 로딩하는 경우, 로딩되는 웹 페이지의 구성에 따라, 모바일 웹 브라우저의 쓰레드들은 중요한 쓰레드와 중요하지 않은 쓰레드가 달라진다.When a mobile web browser loads a web page, depending on the configuration of the web page to be loaded, the threads of the mobile web browser are different from the important thread and the non-critical thread.

즉, 로딩하는 웹 페이지가 이미지가 많은 웹 페이지인 경우, CPU 또는 GPU를 통해 이미지를 처리하고, 처리한 이미지를 디스플레이하는 과정이 중요하다. 그래서, CPU 또는 GPU에서의 이미지 처리와 관련된 쓰레드인 RendererMain, Compositor, CompositorRasterWorker가 중요한 쓰레드로 분류되고, 이 외 모든 쓰레드들은 중요하지 않은 쓰레드로 분류될 수 있다.That is, when the web page to be loaded is a web page having many images, it is important to process the image through the CPU or GPU and display the processed image. So, RendererMain, Compositor, and CompositorRasterWorker, which are threads related to image processing in CPU or GPU, are classified as important threads, and all other threads can be classified as non-critical threads.

이와 반대로, 로딩하는 웹 페이지가 이미지가 적고 상대적으로 스크립트가 많은 웹 페이지인 경우, CPU를 통해 스크립트를 파싱하고 구동하는 과정이 중요하다. 그래서, 스크립트 처리와 관련된 쓰레드인 RendererMain만이 중요한 쓰레드로 분류되고, 이 외 모든 쓰레드들은 중요하지 않은 쓰레드로 분류될 수 있다.Conversely, if the loading web page is a web page with few images and a relatively large number of scripts, the process of parsing and running the script through the CPU is important. Thus, only the RendererMain, the thread associated with script processing, is classified as an important thread, and all other threads can be classified as non-critical threads.

S140 단계에서, 모바일 기기는 제1 쓰레드를 CPU의 고성능 코어에 배치한다. 이때, 모바일 기기는 제1 쓰레드의 CPU 사용량을 모바일 웹 페이지의 로딩이 종료될 때까지 주기적으로 확인하고, 제1 쓰레드의 CPU 사용량이 일정 수준 이상이면, 해당 제1 쓰레드를 고성능 코어에 배치하며, 제1 쓰레드의 CPU 사용량이 일정 수준 미만이면, 해당 제1 쓰레드를 저전력 코어에 배치한다.In step S140, the mobile device places the first thread in the high performance core of the CPU. At this time, the mobile device periodically checks the CPU usage of the first thread until the loading of the mobile web page is terminated. If the CPU usage of the first thread is higher than a certain level, the first thread is placed in the high performance core, If the CPU usage of the first thread is less than a certain level, the first thread is placed in the low power core.

S150 단계에서, 모바일 기기는 제2 쓰레드를 CPU의 저전력 코어에 배치한다. 즉, 모바일 기기는 중요하지 않은 제2 쓰레드를 모바일 웹 페이지의 로딩이 종료될 때까지 항상 저전력 코어에 배치한다.In step S150, the mobile device places the second thread in the low power core of the CPU. That is, the mobile device always places the non-critical second thread in the low-power core until the loading of the mobile web page is terminated.

본 발명의 실시예에 따른 에너지 효율적인 모바일 웹 브라우징을 위한 태스크 스케줄링 방법은 중요한 쓰레드들을 쓰레드의 CPU 사용량에 따라 고성능 코어 또는 저전력 코어에 실시간으로 배치한다. 즉, 어떤 중요한 쓰레드의 CPU 사용량이 일정 수준보다 높으면, 해당 쓰레드가 고성능 코어에 배치되며, 어떤 중요한 쓰레드의 CPU 사용량이 일정 수준보다 낮으면, 해당 쓰레드가 저전력 코어에 배치될 수 있다. 그리고, 중요하지 않은 쓰레드들은 쓰레드의 CPU 사용량에 상관없이 항상 저전력 코어에 배치되게 된다. 이렇게 함으로써, 중요하지 않은 쓰레드가 고성능 코어에 배치되지 않아, 불필요한 에너지 소모가 감소될 수 있다.The task scheduling method for an energy efficient mobile web browsing according to an embodiment of the present invention realigns important threads to a high performance core or a low power core according to the CPU usage of a thread. That is, if the CPU usage of any critical thread is higher than a certain level, then the thread is placed in the high performance core, and if the CPU usage of some critical thread is lower than a certain level, the thread can be placed in the low power core. And non-critical threads are always placed in the low-power core, regardless of the thread's CPU usage. By doing this, non-critical threads are not placed in the high performance core, and unnecessary energy consumption can be reduced.

도 3은 본 발명의 실시예에 따른 모바일 기기의 구성을 개략적으로 예시한 도면이다.3 is a schematic view illustrating a configuration of a mobile device according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 실시예에 따른 모바일 기기는 프로세서(10), 메모리(20), 통신부(30) 및 인터페이스(40)를 포함한다.Referring to FIG. 3, a mobile device according to an embodiment of the present invention includes a processor 10, a memory 20, a communication unit 30, and an interface 40.

프로세서(10)는 메모리(20)에 저장된 처리 명령어를 실행시키는 CPU 또는 반도체 소자일 수 있다. 예를 들어, 프로세서(10)는 성능이 높은 고성능 코어(Big Core)와 전력 소모가 낮은 저전력 코어(Small Core)를 모두 포함하는 이기종 멀티코어 프로세서(Heterogeneous Multi-core Processor)일 수 있다.The processor 10 may be a CPU or a semiconductor device that executes processing instructions stored in the memory 20. For example, the processor 10 may be a heterogeneous multi-core processor including both a high-performance high-performance core and a low-power consumption low-power core.

메모리(20)는 다양한 유형의 휘발성 또는 비휘발성 기억 매체를 포함할 수 있다. 예를 들어, 메모리(20)는 ROM, RAM 등을 포함할 수 있다.The memory 20 may include various types of volatile or non-volatile storage media. For example, the memory 20 may include ROM, RAM, and the like.

예를 들어, 메모리(20)는 본 발명의 실시예에 따른 에너지 효율적인 모바일 웹 브라우징을 위한 태스크 스케줄링 방법을 수행하는 명령어들을 저장할 수 있다. 또한, 메모리(20)는 모바일 웹 브라우저의 쓰레드 중요도에 따른 쓰레드 분류 정보를 저장할 수 있다.For example, the memory 20 may store instructions for performing a task scheduling method for energy efficient mobile web browsing according to an embodiment of the present invention. Also, the memory 20 may store thread classification information according to thread importance of the mobile web browser.

통신부(30)는 통신망을 통해 다른 장치들과 데이터를 송수신하기 위한 수단이다.The communication unit 30 is a means for transmitting and receiving data to and from other devices through a communication network.

인터페이스부(40)는 네트워크에 접속하기 위한 네트워크 인터페이스 및 사용자 인터페이스를 포함할 수 있다.The interface unit 40 may include a network interface and a user interface for connecting to the network.

한편, 전술된 실시예의 구성 요소는 프로세스적인 관점에서 용이하게 파악될 수 있다. 즉, 각각의 구성 요소는 각각의 프로세스로 파악될 수 있다. 또한 전술된 실시예의 프로세스는 장치의 구성 요소 관점에서 용이하게 파악될 수 있다.On the other hand, the components of the above-described embodiment can be easily grasped from a process viewpoint. That is, each component can be identified as a respective process. Further, the process of the above-described embodiment can be easily grasped from the viewpoint of the components of the apparatus.

또한 앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, the above-described technical features may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.It will be apparent to those skilled in the art that various modifications, additions and substitutions are possible, without departing from the spirit and scope of the invention as defined by the appended claims. Should be regarded as belonging to the following claims.

10: 프로세서
20: 메모리
30: 통신부
40: 인터페이스부
10: Processor
20: Memory
30:
40:

Claims (8)

고성능 코어 및 저전력 코어를 포함하는 프로세서를 탑재한 모바일 기기에서 수행되는 에너지 효율적인 모바일 웹 브라우징을 위한 태스크 스케줄링 방법에 있어서,
모바일 웹 브라우저를 이용하여 웹 페이지 로딩을 시작하는 단계;
로딩하는 웹 페이지의 이미지의 크기를 확인하여 이미지 크기를 결정하는 단계;
상기 결정된 이미지 크기에 따라 모바일 웹 브라우저의 쓰레드(Thread)들을 상기 고성능 코어에 배치할 제1 쓰레드 및 상기 저전력 코어에 배치할 제2 쓰레드로 분류하는 단계;
상기 제1 쓰레드를 상기 고성능 코어에 배치하는 단계; 및
상기 제2 쓰레드를 상기 저전력 코어에 배치하는 단계를 포함하되,
상기 이미지 크기를 결정하는 단계는,
상기 로딩하는 웹 페이지의 구성 요소 중, 이미지의 크기가 일정 수준(Threshold) 이상이면, 상기 로딩하는 웹 페이지를 이미지가 많은 웹 페이지로 결정하는 단계; 및
상기 이미지의 크기가 일정 수준(Threshold) 미만이면, 상기 로딩하는 웹 페이지를 이미지가 적은 웹 페이지로 결정하는 단계를 포함하고,
상기 쓰레드를 분류하는 단계는,
상기 로딩하는 웹 페이지에 포함된 이미지의 크기가 미리 설정된 임계치 이상인 경우, 이미지 처리와 관련된 쓰레드를 상기 제1 쓰레드로 분류하고, 이 외 모든 쓰레드들을 상기 제2 쓰레드로 분류하는 단계; 및
상기 로딩하는 웹 페이지에 포함된 이미지의 크기가 미리 설정된 임계치 미만인 경우, 스크립트 처리와 관련된 쓰레드를 상기 제1 쓰레드로 분류하고, 이 외 모든 쓰레드들을 상기 제2 쓰레드로 분류하는 단계를 포함하는 것을 특징으로 하는 태스크 스케줄링 방법.
A task scheduling method for energy efficient mobile web browsing performed in a mobile device equipped with a processor including a high performance core and a low power core,
Initiating web page loading using a mobile web browser;
Determining an image size of a web page to be loaded and determining an image size;
Classifying threads of a mobile web browser into a first thread to be placed in the high performance core and a second thread to be placed in the low power core according to the determined image size;
Placing the first thread in the high performance core; And
Placing the second thread in the low power core,
Wherein determining the image size comprises:
Determining that the web page to be loaded is a web page having a large number of images if the size of the image of the web page to be loaded is greater than or equal to a predetermined threshold; And
And determining that the web page to be loaded is a web page having a small number of images if the size of the image is less than a predetermined threshold,
Wherein classifying the threads comprises:
Classifying a thread associated with image processing into the first thread and classifying all the other threads into the second thread if the size of the image included in the web page to be loaded is greater than or equal to a preset threshold value; And
Classifying the thread associated with the script processing into the first thread and classifying all the other threads into the second thread when the size of the image included in the web page to be loaded is less than a preset threshold value The task scheduling method comprising:
삭제delete 제1항에 있어서,
상기 제1 및 제2 쓰레드는 모바일 웹 페이지의 로딩 시간에 영향을 미치는지 여부에 따라 분류되는 것을 특징으로 하는 태스크 스케줄링 방법.
The method according to claim 1,
Wherein the first and second threads are classified according to whether they affect the loading time of the mobile web page.
삭제delete 제1항에 있어서,
상기 이미지 처리와 관련된 쓰레드는 RendererMain, Compositor 및 CompositorRasterWorker 중 적어도 하나이고, 상기 스크립트 처리와 관련된 쓰레드는 RendererMain인 것을 특징으로 하는 태스크 스케줄링 방법.
The method according to claim 1,
Wherein the thread associated with the image processing is at least one of RendererMain, Compositor, and CompositorRasterWorker, and the thread associated with the script processing is a RendererMain.
제1항에 있어서,
상기 제1 쓰레드를 상기 고성능 코어에 배치하는 단계는,
상기 제1 쓰레드의 프로세서 사용량을 상기 웹 페이지의 로딩이 종료될 때까지 주기적으로 확인하는 단계;
상기 제1 쓰레드의 상기 프로세서 사용량이 일정 수준 이상이면, 상기 제1 쓰레드를 고성능 코어에 배치하는 단계; 및
상기 제1 쓰레드의 상기 프로세서 사용량이 일정 수준 미만이면, 상기 제1 쓰레드를 저전력 코어에 배치하는 단계를 포함하는 것을 특징으로 하는 태스크 스케줄링 방법.
The method according to claim 1,
The step of placing the first thread in the high performance core comprises:
Periodically checking the processor usage of the first thread until the loading of the web page is terminated;
Placing the first thread in a high performance core if the processor usage of the first thread is above a certain level; And
And if the processor usage of the first thread is less than a predetermined level, placing the first thread in a low power core.
제1항에 있어서,
상기 제2 쓰레드를 상기 저전력 코어에 배치하는 단계는,
상기 제2 쓰레드를 모바일 웹 페이지의 로딩이 종료될 때까지 항상 저전력 코어에 배치하는 것을 특징으로 하는 태스크 스케줄링 방법.
The method according to claim 1,
The step of placing the second thread in the low-
Wherein the second thread is always placed in the low power core until loading of the mobile web page is terminated.
에너지 효율적인 모바일 웹 브라우징을 위한 태스크 스케줄링을 수행하는 모바일 기기에 있어서,
명령어를 저장하는 메모리; 및
상기 명령어를 실행하며, 고성능 코어 및 저전력 코어를 포함하는 프로세서를 포함하되,
상기 명령어는,
모바일 웹 브라우저를 이용하여 웹 페이지 로딩을 시작하는 단계;
로딩하는 웹 페이지의 이미지의 크기를 확인하여 이미지 크기를 결정하는 단계;
상기 결정된 이미지 크기에 따라 모바일 웹 브라우저의 쓰레드(Thread)들을 상기 고성능 코어에 배치할 제1 쓰레드 및 상기 저전력 코어에 배치할 제2 쓰레드로 분류하는 단계;
상기 제1 쓰레드를 상기 고성능 코어에 배치하는 단계; 및
상기 제2 쓰레드를 상기 저전력 코어에 배치하는 단계를 포함하는 태스크 스케줄링 방법을 수행하며,
상기 이미지 크기를 결정하는 단계는,
상기 로딩하는 웹 페이지의 구성 요소 중, 이미지의 크기가 일정 수준(Threshold) 이상이면, 상기 로딩하는 웹 페이지를 이미지가 많은 웹 페이지로 결정하는 단계; 및
상기 이미지의 크기가 일정 수준(Threshold) 미만이면, 상기 로딩하는 웹 페이지를 이미지가 적은 웹 페이지로 결정하는 단계를 포함하고,
상기 쓰레드를 분류하는 단계는,
상기 로딩하는 웹 페이지에 포함된 이미지의 크기가 미리 설정된 임계치 이상인 경우, 이미지 처리와 관련된 쓰레드를 상기 제1 쓰레드로 분류하고, 이 외 모든 쓰레드들을 상기 제2 쓰레드로 분류하는 단계; 및
상기 로딩하는 웹 페이지에 포함된 이미지의 크기가 미리 설정된 임계치 미만인 경우, 스크립트 처리와 관련된 쓰레드를 상기 제1 쓰레드로 분류하고, 이 외 모든 쓰레드들을 상기 제2 쓰레드로 분류하는 단계를 포함하는 것을 특징으로 하는 모바일 기기.


1. A mobile device for performing task scheduling for energy efficient mobile web browsing,
A memory for storing instructions; And
A processor executing the instructions and including a high performance core and a low power core,
Wherein the command comprises:
Initiating web page loading using a mobile web browser;
Determining an image size of a web page to be loaded and determining an image size;
Classifying threads of a mobile web browser into a first thread to be placed in the high performance core and a second thread to be placed in the low power core according to the determined image size;
Placing the first thread in the high performance core; And
And placing the second thread in the low power core,
Wherein determining the image size comprises:
Determining that the web page to be loaded is a web page having a large number of images if the size of the image of the web page to be loaded is greater than or equal to a predetermined threshold; And
And determining that the web page to be loaded is a web page having a small number of images if the size of the image is less than a predetermined threshold,
Wherein classifying the threads comprises:
Classifying a thread associated with image processing into the first thread and classifying all the other threads into the second thread if the size of the image included in the web page to be loaded is greater than or equal to a preset threshold value; And
Classifying the thread associated with the script processing into the first thread and classifying all the other threads into the second thread when the size of the image included in the web page to be loaded is less than a preset threshold value Mobile devices.


KR1020160134147A 2016-10-17 2016-10-17 Task scheduling method for energy-efficient mobile web browsing and mobile device for performing the same KR101783148B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160134147A KR101783148B1 (en) 2016-10-17 2016-10-17 Task scheduling method for energy-efficient mobile web browsing and mobile device for performing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160134147A KR101783148B1 (en) 2016-10-17 2016-10-17 Task scheduling method for energy-efficient mobile web browsing and mobile device for performing the same

Publications (1)

Publication Number Publication Date
KR101783148B1 true KR101783148B1 (en) 2017-09-28

Family

ID=60035821

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160134147A KR101783148B1 (en) 2016-10-17 2016-10-17 Task scheduling method for energy-efficient mobile web browsing and mobile device for performing the same

Country Status (1)

Country Link
KR (1) KR101783148B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015138323A (en) 2014-01-21 2015-07-30 ルネサスエレクトロニクス株式会社 Scheduler mechanism, operating system, and multi-processor system
KR101648978B1 (en) 2009-11-05 2016-08-18 삼성전자주식회사 Method for controlling power in low power multi-core system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101648978B1 (en) 2009-11-05 2016-08-18 삼성전자주식회사 Method for controlling power in low power multi-core system
JP2015138323A (en) 2014-01-21 2015-07-30 ルネサスエレクトロニクス株式会社 Scheduler mechanism, operating system, and multi-processor system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
박현재 외 1명. '모바일 웹 페이지 로딩에서 동적 관리 기법'. 정보과학회논문지 제42권 제12호, 2015.12., pp.1623-1628.

Similar Documents

Publication Publication Date Title
US9697124B2 (en) Systems and methods for providing dynamic cache extension in a multi-cluster heterogeneous processor architecture
US9207994B2 (en) Scheduling tasks among processor cores
US10706496B2 (en) Function callback mechanism between a Central Processing Unit (CPU) and an auxiliary processor
KR102197874B1 (en) System on chip including multi-core processor and thread scheduling method thereof
US8726055B2 (en) Multi-core power management
US10977092B2 (en) Method for efficient task scheduling in the presence of conflicts
US9858115B2 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
US20140372723A1 (en) Dynamically optimizing memory allocation across virtual machines
US20130219404A1 (en) Computer System and Working Method Thereof
KR20130127445A (en) Application lifetime management
US20150121387A1 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
CN103037109B (en) Multicore equipment energy consumption management method and device
US20150301858A1 (en) Multiprocessors systems and processes scheduling methods thereof
CN111475012B (en) Dynamic power routing to hardware accelerators
US9612867B2 (en) Apparatus and method for data partition and allocation in heterogeneous multi-processor environment
EP2972826B1 (en) Multi-core binary translation task processing
CN105824691A (en) Method and device for dynamically regulating threads
CN111142943A (en) Automatic control concurrency method and device
US8966212B2 (en) Memory management method, computer system and computer readable medium
JP2007172322A (en) Distributed processing type multiprocessor system, control method, multiprocessor interruption controller, and program
KR102116984B1 (en) Method for controlling memory swap operation and data processing system adopting the same
KR101783148B1 (en) Task scheduling method for energy-efficient mobile web browsing and mobile device for performing the same
KR101848164B1 (en) Method for task scheduling in mobile device
US10621008B2 (en) Electronic device with multi-core processor and management method for multi-core processor
CN107870877B (en) Method and system for managing data access in a storage system

Legal Events

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