KR101848164B1 - 모바일 기기에서의 태스크 스케줄링 방법 - Google Patents

모바일 기기에서의 태스크 스케줄링 방법 Download PDF

Info

Publication number
KR101848164B1
KR101848164B1 KR1020160135317A KR20160135317A KR101848164B1 KR 101848164 B1 KR101848164 B1 KR 101848164B1 KR 1020160135317 A KR1020160135317 A KR 1020160135317A KR 20160135317 A KR20160135317 A KR 20160135317A KR 101848164 B1 KR101848164 B1 KR 101848164B1
Authority
KR
South Korea
Prior art keywords
application
core
multimedia
execution
cpu
Prior art date
Application number
KR1020160135317A
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 KR1020160135317A priority Critical patent/KR101848164B1/ko
Application granted granted Critical
Publication of KR101848164B1 publication Critical patent/KR101848164B1/ko

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
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

본 발명은 모바일 기기에서 수행되는 어플리케이션의 종류에 따라 적합한 양의 CPU 자원을 제공하는 모바일 기기에서의 태스크 스케줄링 방법에 관한 것이다.
본 발명의 일실시예에 의한 모바일 기기에서의 태스크 스케줄링 방법은 이기종 멀티 코어가 구비된 모바일 기기에서의 태스크 스케줄링 방법에 있어서, 실행 어플리케이션이 멀티미디어 어플리케이션인지 여부를 결정하는 단계; 상기 결정 결과에 근거하여 상기 실행 어플리케이션을 고성능 코어 또는 저전력 코어에 배치하는 단계; 상기 배치된 코어에서 상기 실행 어플리케이션을 실행하는 단계; 및 멀티미디어 어플리케이션이 실행되는 코어에서의 CPU 주파수 및 CPU 사용률에 근거하여 상기 멀티미디어 어플케이션의 마이그레이션을 수행하는 단계를 포함할 수 있다.

Description

모바일 기기에서의 태스크 스케줄링 방법{METHOD FOR TASK SCHEDULING IN MOBILE DEVICE}
본 발명은 태스크 스케줄링 방법 및 장치에 관한 것으로, 보다 상세하게는 모바일 기기에서 수행되는 어플리케이션의 종류에 따라 적합한 양의 CPU 자원을 제공하는 모바일 기기에서의 태스크 스케줄링 방법에 관한 것이다.
스마트폰 (Smartphone), 웨어러블 기기 (Wearable Device)와 같은 모바일 기기 (Mobile Device)에서 수행되는 어플리케이션 (Application)은 크게 멀티미디어 어플리케이션과 비-멀티미디어 어플리케이션으로 분류할 수 있다.
서로 다른 종류의 어플리케이션은 각각 다른 특성을 갖고 있기 때문에, 필요로 하는 CPU(Central Processing Unit) 자원의 양이 다르다. 사용자에게 영상 및 음성의 QoS(Quality of Service)가 중요한 멀티미디어 어플리케이션은 전용 하드웨어 디코더 (Hardware Decoder)를 사용하기 때문에, QoS를 만족시킬 수 있는 최소한의 CPU 자원만을 필요로 한다. 반면, 사용자에게 실행 시간이 중요한 비-멀티미디어 어플리케이션은 실행 시간을 줄이기 위해 최대한 많은 양의 CPU 자원을 필요로 한다.
서로 다른 어플리케이션의 성능을 유지하면서 에너지 (Energy) 소모를 절감하기 위해, 최신 모바일 기기는 성능이 높은 고성능 코어 (Big Core)와 전력 소모가 낮은 저전력 코어 (Small Core)를 모두 포함하는 이기종 멀티코어 프로세서 (Heterogeneous Multi-core Processor)를 장착하기 시작했다. 관련 선행문헌으로 대한민국 공개특허 제10-2014-0111525호가 있다.
서로 다른 종류의 코어에 다양한 어플리케이션들을 배치하기 위해, 기존의 태스크 스케줄링(Task Scheduling) 기법은 각 어플리케이션의 CPU 사용률 (Utilization)을 측정하고 그에 따라 어플리케이션들을 고성능 또는 저전력 코어에 배치한다. 만약 측정한 어플리케이션의 CPU 사용률이 일정 수준보다 높으면, 기존의 태스크 스케줄링 기법은 해당 어플리케이션을 고성능 코어에 배치한다. 반면 측정한 어플리케이션의 CPU 사용률이 일정 수준보다 낮으면, 기존의 태스크 스케줄링 기법은 해당 어플리케이션을 저전력 코어에 배치한다.
그러나 기존의 태스크 스케줄링 방법은 서로 다른 양의 CPU 자원을 필요로 하는 멀티미디어 어플리케이션과 비-멀티미디어 어플리케이션을 따로 구분하지 않는다. 그로 인해, 멀티미디어 어플리케이션과 비-멀티미디어 어플리케이션을 종종 같은 종류의 코어에 배치하게 된다. 불행히도 이 경우, 하나의 코어에서 동작하는 두 어플리케이션 사이의 문맥 전환(Context Switch)으로 인해, CPU 주파수 선택 장치(CPU Frequency Scaling Governor)가 각각의 어플리케이션에게 적합한 CPU 주파수를 제공하지 못하게 된다. 이는 결국 멀티미디어 어플리케이션의 에너지 효율을 저하시키는 문제를 야기한다.
따라서 실행되는 어플리케이션의 종류에 따라 적합한 양의 CPU 자원을 제공하여 에너지 효율을 높이는 기술에 대한 연구가 필요한 실정이다.
본 발명의 목적은 모바일 기기에서 수행되는 어플리케이션의 종류에 따라 적합한 양의 CPU 자원을 제공해 줄 수 있는 모바일 기기에서의 태스크 스케줄링 방법을 제공하는데 있다.
상기 목적을 달성하기 위해 본 발명의 일실시예에 의하면, 이기종 멀티 코어가 구비된 모바일 기기에서의 태스크 스케줄링 방법에 있어서, 실행 어플리케이션이 멀티미디어 어플리케이션인지 여부를 결정하는 단계; 상기 결정 결과에 근거하여 상기 실행 어플리케이션을 고성능 코어 또는 저전력 코어에 배치하는 단계; 상기 배치된 코어에서 상기 실행 어플리케이션을 실행하는 단계; 및 멀티미디어 어플리케이션이 실행되는 코어에서의 CPU 주파수 및 CPU 사용률에 근거하여 상기 멀티미디어 어플케이션의 마이그레이션을 수행하는 단계를 포함하는 모바일 기기에서의 태스크 스케줄링 방법이 개시된다.
본 발명의 일실시예에 의한 모바일 기기에서의 태스크 스케줄링 방법은 모바일 기기에서 수행되는 어플리케이션의 종류에 적합한 양의 CPU 자원을 제공해 성능을 유지하면서 에너지 효율을 높일 수 있다.
본 발명의 일실시예에 의하면, 서로 다른 양의 CPU 자원을 필요로 하는 멀티미디어 어플리케이션과 일반 어플리케이션을 각각 저전력 코어와 고성능 코어에 분리하여 배치함으로써, 각 어플리케이션의 특성에 맞게 적합한 양의 주파수를 제공할 수 있다.
도 1은 본 발명의 일실시예와 관련된 모바일 기기를 나타내는 블록도이다.
도 2는 본 발명의 일실시예와 관련된 태스크 스케줄링 방법에서 어플리케이션을 구별하는 방법을 나타내는 흐름도이다.
도 3은 본 발명의 일실시예와 관련된 태스크 스케줄링 방법에서 어플리케이션을 코어에 배치하는 방법을 나타내는 흐름도이다.
도 4는 본 발명의 일실시예와 관련된 태스크 스케줄링 방법에서 어플리케이션의 마이그레이션을 수행하는 방법을 나타내는 흐름도이다.
이하, 본 발명의 일실시예와 관련된 모바일 기기에서의 태스크 스케줄링 방법에 대해 도면을 참조하여 설명하도록 하겠다.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
도 1은 본 발명의 일실시예와 관련된 모바일 기기를 나타내는 블록도이다.
모바일 기기(100)는 태스크 스케줄링부(110), 고성능 코어(120), 저전력 코어(130), 인터코넥터(140)을 포함할 수 있다. 상기 태스크 스케줄링부(110)는 어플케이션 구별부(111), 어플리케이션 배치부(112), 마이그레이션부(113)를 포함할 수 있다. 상기 모바일 기기(100)는 이기종 멀티코어 프로세서를 탑재하여 멀티미디어 어플리케이션을 위한 에너지 효율적인 태스크 스케줄링을 수행할 수 있다. 상기 모바일 기기(100)는 스마트 폰(smart phone), 웨어러블 디바이스, 노트북 컴퓨터(notebook computer), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, 태블릿 PC 등을 포함할 수 있다.
상기 태스크 스케줄링부(110)는 실행되는 어플리케이션의 종류를 구별하여, 구별된 결과에 근거하여 어플리케이션을 고성능 코어(120) 또는 저전력 코어(130)에 배치하여 효율적인 태스크 스케줄링을 수행할 수 있다. 또한, 마이그레이션부(113)는 인터코넥트(140)를 통해 각 코어에 배치된 어플리케이션의 마이그레이션을 수행할 수 있다. 상기 고성능 코어(120)는 빅 코어(Big core)를 의미하고, 저전력 코어(130)눈 스몰 코어(small core)를 의미할 수 있다.
먼저, 어플리케이션 구별부(111)는 실행 어플리케이션을 어플리케이션 구별 방법을 활용하여 어플리케이션을 멀티미디어 어플리케이션과 비-멀티미디어 어플리케이션으로 구분할 수 있다(①). 그리고 어플리케이션 구별부(111)는 비-멀티미디어 어플리케이션을 일반 어플리케이션과 중요하지 않은 어플리케이션(이하, '비중요 어플리케이션'이라 함)으로 구별할 수 있다.
어플리케이션 배치부(112)는 멀티미디어 어플리케이션은 저전력 코어(130)에 배치하고, 일반 어플리케이션은 고성능 코어(120)에 배치할 수 있다(②).
마이그레이션부(113)는 멀티미디어 어플리케이션의 QoS 보장을 위해, 멀티미디어 어플리케이션을 CPU 사용률에 따라 고성능 코어(120)와 저전력 코어 사이(130)에서 각 코어에 있는 L2 캐시에 저장된 정보를 이용하여 인터코넥터(140)를 통해 마이그레이션을 수행한다(③). 새로운 어플리케이션이 최초로 수행될 때마다, (①) ~ (②) 과정을 수행한다. 멀티미디어 어플리케이션이 하나라도 수행되고 있다면, 모든 멀티미디어 어플리케이션이 종료될 때까지 (③) 과정을 지속적으로 수행한다.
도 2는 본 발명의 일실시예와 관련된 태스크 스케줄링 방법에서 어플리케이션을 구별하는 방법을 나타내는 흐름도이다.
어플리케이션 구별부(111)는 새로운 어플리케이션이 최초로 수행되면, 해당 어플리케이션의 자식 쓰레드 목록을 먼저 확인한다(S210).
만약 영상 또는 음악 재생을 위한 특별한 쓰레드가 자식 쓰레드 목록에 있다면, 상기 어플리케이션 구별부(111)는 해당 어플리케이션을 멀티미디어 어플리케이션으로 분류할 수 있다(S220, S230).
그렇지 않은 경우, 상기 어플리케이션 구별부(111)는 어플리케이션이 언제 어떻게 실행되었는지 확인한다(S240, S250). 만약 사용자가 직접 실행시켰다면, 사용자가 어플리케이션이 언제 끝나는지를 중요하게 생각할 것이기 때문에, 상기 어플리케이션 구별부(111)는 어플리케이션을 일반 어플리케이션으로 분류한다(S260, S270).
반면, 위젯과 같이 부팅 직후 자동으로 실행되었다면, 상기 어플리케이션 구별부(111)는 해당 어플리케이션을 비중요 어플리케이션(중요하지 않은 어플리케이션)으로 분류할 수 있다(S280, S290).
상기 비중요 어플리케이션은 CPU 로드 (Load)가 거의 없는 어플리케이션으로, 멀티미디어 어플리케이션 보다 적은 최소한의 CPU 자원만을 필요로 한다.
어플리케이션의 종류를 결정한 후, 상기 어플리케이션 배치부(112)는 종류가 결정된 어플리케이션을 저전력 코어(130) 또는 고성능 코어(120)에 각각 배치한다.
도 3은 본 발명의 일실시예와 관련된 태스크 스케줄링 방법에서 어플리케이션을 코어에 배치하는 방법을 나타내는 흐름도이다.
새로운 어플리케이션 α가 최초로 수행되면, 앞서 설명한 어플리케이션 구별 방법을 활용하여 어플리케이션의 종류를 결정한다.
만약, α가 멀티미디어 어플리케이션이면, 어플리케이션 배치부(112)는 다른 어플리케이션이 하나도 배치되지 않은 저전력 코어(120)의 수를 확인한다(S315, S320). 다른 어플리케이션이 하나도 배치되지 않는 저전력 코어가 하나라도 존재한다면, 상기 어플리케이션 배치부(112)는 α를 그 코어(다른 어플리케이션이 하나도 배치되지 않는 저전력 코어 중 어느 하나)에 배치한다(S325). 그렇지 않은 경우, 상기 어플리케이션 배치부(112)는 α를 저전력 코어 중 CPU 사용률이 가장 낮은 코어에 배치한다(S320, S330).
반대로, α가 일반 어플리케이션이면, 어플리케이션 배치부(112)는 다른 어플리케이션이 하나도 배치되지 않은 고성능 코어의 수를 확인한다(S335, S340).
상기 어플리케이션 배치부(112)는 다른 어플리케이션이 하나도 배치되지 않은 고성능 코어(120)가 하나라도 존재한다면 α를 그 코어(다른 어플리케이션이 하나도 배치되지 않은 고성능 코어 중 어느 하나)에 배치한다(S345). 그렇지 않은 경우, 상기 어플리케이션 배치부(112)는 α를 고성능 코어 중 CPU 사용률이 가장 낮은 코어에 배치한다(S340, S350).
마지막으로, α가 비중요 어플리케이션인 경우, 상기 어플리케이션 배치부(112)는 α를 언제나 CPU 사용률이 가장 낮은 저전력 코어(130)에 배치한다(S355).
멀티미디어 어플리케이션은 저전력 코어에, 일반 어플리케이션은 고성능 코어에 분리하여 배치하기 때문에, CPU 주파수 선택 장치(미도시)는 각각의 어플리케이션이 필요로 하는 CPU 주파수를 알맞게 제공할 수 있다.
어플리케이션들을 배치한 후, 멀티미디어 어플리케이션들의 QoS를 최대한 보장하기 위해, 마이그레이션부(113)는 CPU 사용률에 따라 멀티미디어 어플리케이션들을 서로 다른 코어들 사이에서 마이그레이션 한다.
도 4는 본 발명의 일실시예와 관련된 태스크 스케줄링 방법에서 어플리케이션의 마이그레이션을 수행하는 방법을 나타내는 흐름도이다.
멀티미디어 어플리케이션이 하나 이상 동작하고 있으면, 상기 마이그레이션부(113)는 멀티미디어 어플리케이션들이 동작하는 저전력 코어의 CPU 주파수와 CPU 사용률을 확인한다(S410).
만약 가장 높은 CPU 주파수에서 CPU 사용률이 일정 수준(Up_threshold)을 넘는 저전력 코어가 하나라도 존재한다면, 상기 마이그레이션부(113)는 해당 코어에서 동작하는 멀티미디어 어플리케이션의 수를 확인한다(S415, S420).
해당 코어에서 동작하는 멀티미디어 어플리케이션의 수가 2개 이상인 경우, 마이그레이션부(113)는 멀티미디어 어플리케이션 중 하나의 멀티미디어 어플리케이션을 CPU 사용률이 가장 낮은 다른 저전력 코어로 마이그레이션 한다(S425, S435).
반면, 해당 코어에서 동작하는 멀티미디어 어플리케이션의 수가 1개인 경우, 저전력 코어에서 QoS 보장이 어렵다고 간주하여, 상기 마이그레이션부(113)는 해당 멀티미디어 어플리케이션을 CPU 사용률이 가장 낮은 고성능 코어로 마이그레이션 한다(S425, S430). 그리고 나서, 상기 마이그레이션부(113)는 고성능 코어에서 동작하는 멀티미디어 어플리케이션들의 CPU 사용률을 확인한다(S440).
만약, 고성능 코어의 가장 낮은 주파수에서 CPU 사용률이 일정 수준 (Down_threshold)보다 낮은 멀티미디어 어플리케이션이 하나라도 존재한다면, 상기 마이그레이션부(113)는 해당 어플리케이션을 CPU 사용률이 가장 낮은 저전력 코어로 마이그레이션 한다(S445, 450). 그렇지 않은 경우, 상기 마이그레이션부(113)는 고성능 코어에서 동작하던 멀티미디어 어플리케이션들을 마이그레이션 하지 않는다(S445, S455).
전술한 바와 같이, 본 발명의 일실시예에 의한 모바일 기기에서의 태스크 스케줄링 방법은 모바일 기기에서 수행되는 어플리케이션의 종류에 적합한 양의 CPU 자원을 제공해 성능을 유지하면서 에너지 효율을 높일 수 있다.
본 발명의 일실시예에 의하면, 서로 다른 양의 CPU 자원을 필요로 하는 멀티미디어 어플리케이션과 일반 어플리케이션을 각각 저전력 코어와 고성능 코어에 분리하여 배치함으로써, 각 어플리케이션의 특성에 맞게 적합한 양의 주파수를 제공할 수 있다.
본 발명의 일실시예에 의하면, 서로 다른 양의 CPU 자원을 필요로 하는 멀티미디어 어플리케이션과 일반 어플리케이션을 각각 저전력 코어와 고성능 코어에 분리하여 배치함으로써, CPU 주파수 선택 장치가 멀티미디어 어플리케이션에게는 적절히 낮은 주파수를 제공해 멀티미디어 어플리케이션의 QoS를 만족시키면서 전력 소모를 절감할 수 있도록 할 수 있다. 또한, 일반 어플리케이션에게는 보다 높은 주파수를 제공해, 성능을 향상시킬 수 있도록 한다. 추가적으로, 멀티미디어 어플리케이션과 일반 어플리케이션이 CPU에서 수행되는 시간(CPU Time Slice)과 캐시 (Cache)를 선점하기 위해 경쟁하는 상황을 방지할 수 있다.
또한, 본 발명의 일실시예에 의하면, 어플리케이션들을 배치한 후, 필요에 따라 멀티미디어 어플리케이션들을 고성능 코어와 저전력 코어 사이에서 마이그레이션함으로써, 멀티미디어 어플리케이션들의 QoS를 최대한 보장할 수 있다.
상술한 태스크 스케줄링 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 이때, 컴퓨터로 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 한편, 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 판독 가능한 기록매체에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
한편, 이러한 기록매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다.
또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
상기와 같이 설명된 태스크 스케줄링 방법 및 장치는 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100: 모바일 디바이스
110: 태스크 스케줄링부
111: 어플리케이션 구별부
112: 어플리케이션 배치부
113: 마이그레이션부
120: 고성능 코어
130: 저전력 코어
140: 인터코넥트

Claims (5)

  1. 이기종 멀티 코어가 구비된 모바일 기기에서의 태스크 스케줄링 방법에 있어서,
    실행 어플리케이션이 멀티미디어 어플리케이션인지 여부를 결정하는 단계;
    상기 결정의 결과에 근거하여 상기 실행 어플리케이션을 고성능 코어 또는 저전력 코어에 배치하는 단계;
    상기 배치된 코어에서 상기 실행 어플리케이션을 실행하는 단계; 및
    멀티미디어 어플리케이션이 실행되는 코어에서의 CPU 주파수 및 CPU 사용률에 근거하여 상기 멀티미디어 어플리케이션의 마이그레이션을 수행하는 단계를 포함하되,
    상기 멀티미디어 어플리케이션인지 여부 결정 단계는
    상기 실행 어플리케이션의 자식 쓰레드 목록에 영상 또는 오디오 재생을 위한 특별한 쓰레드가 있는지 여부에 따라 상기 실행 어플리케이션을 멀티미디어 어플리케이션으로 결정하는 단계;
    상기 실행 어플리케이션이 멀티미디어 어플리케이션이 아닌 경우, 상기 실행 어플리케이션의 실행 주체 또는 실행 시점에 따라 상기 실행 어플리케이션을 일반 어플리케이션과 비중요 어플리케이션으로 구분하는 단계를 더 포함하고,
    상기 실행 어플리케이션의 코어 배치 단계는
    멀티미디어 어플케이션은 저전력 코어로, 일반 어플리케이션은 고성능 코어로, 비중요 어플리케이션은 저전력 코어에 배치하는 단계를 포함하고
    상기 마이그레이션을 수행하는 단계는
    멀티미디어 어플리케이션이 배치된 저전력 코어의 CPU 주파수와 CPU 사용률을 확인하는 단계;
    가장 높은 CPU 주파수에서 CPU 사용률이 일정 수준 (Up_threshold)을 넘는 저전력 코어가 하나라도 존재한다면, 해당 코어에서 동작하는 멀티미디어 어플리케이션의 수를 측정하는 단계; 및
    상기 측정된 멀티미디어 어플리케이션의 수에 근거하여 상기 멀티미디어 어플리케이션의 마이그레이션을 수행하는 단계를 포함하는 것을 특징으로 하는 모바일 기기에서의 태스크 스케줄링 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서, 상기 실행 어플리케이션의 코어 배치 단계는
    어플리케이션이 배치되지 않은 저전력 코어의 수 또는 어플리케이션이 배치되지 않은 고성능 코어의 수에 근거하여 상기 실행 어플리케이션을 배치하는 단계를 더 포함하는 것을 특징으로 하는 모바일 기기에서의 태스크 스케줄링 방법.
  5. 삭제
KR1020160135317A 2016-10-18 2016-10-18 모바일 기기에서의 태스크 스케줄링 방법 KR101848164B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160135317A KR101848164B1 (ko) 2016-10-18 2016-10-18 모바일 기기에서의 태스크 스케줄링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160135317A KR101848164B1 (ko) 2016-10-18 2016-10-18 모바일 기기에서의 태스크 스케줄링 방법

Publications (1)

Publication Number Publication Date
KR101848164B1 true KR101848164B1 (ko) 2018-05-28

Family

ID=62451438

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160135317A KR101848164B1 (ko) 2016-10-18 2016-10-18 모바일 기기에서의 태스크 스케줄링 방법

Country Status (1)

Country Link
KR (1) KR101848164B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020171552A1 (ko) * 2019-02-19 2020-08-27 삼성전자 주식회사 발열 제어를 수행하는 전자 장치 및 그 제어 방법
CN116052617A (zh) * 2023-03-29 2023-05-02 南京芯驰半导体科技有限公司 一种屏幕亮度控制系统、方法、装置、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020171552A1 (ko) * 2019-02-19 2020-08-27 삼성전자 주식회사 발열 제어를 수행하는 전자 장치 및 그 제어 방법
CN116052617A (zh) * 2023-03-29 2023-05-02 南京芯驰半导体科技有限公司 一种屏幕亮度控制系统、方法、装置、设备及存储介质
CN116052617B (zh) * 2023-03-29 2023-06-27 南京芯驰半导体科技有限公司 一种屏幕亮度控制系统、方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US11409577B2 (en) Systems, methods and devices for determining work placement on processor cores
US20150046679A1 (en) Energy-Efficient Run-Time Offloading of Dynamically Generated Code in Heterogenuous Multiprocessor Systems
CN105074666B (zh) 执行在具有不同指令集架构的处理器上的操作系统
US9697124B2 (en) Systems and methods for providing dynamic cache extension in a multi-cluster heterogeneous processor architecture
CN107430549B (zh) 基于联合的存储器管理
US9229779B2 (en) Parallelizing heterogeneous network communications in smart devices based on selection of task allocation strategy
US20150355700A1 (en) Systems and methods of managing processor device power consumption
US10445131B2 (en) Core prioritization for heterogeneous on-chip networks
WO2016115000A1 (en) Hybrid scheduler and power manager
KR20180069807A (ko) 동기화를 리매핑하는 것에 의한 태스크 서브그래프들의 가속화
US20110225590A1 (en) System and method of executing threads at a processor
CN112328378A (zh) 任务调度方法、计算机设备及存储介质
WO2017080276A1 (zh) 资源管理方法和系统、计算机存储介质
CN115617494B (zh) 多cpu环境下的进程调度方法、装置、电子设备和介质
KR101848164B1 (ko) 모바일 기기에서의 태스크 스케줄링 방법
KR102063716B1 (ko) 데이터를 기반으로 전력을 관리하는 프로세싱 장치 및 그 장치를 이용한 방법
US9471387B2 (en) Scheduling in job execution
US20150301865A1 (en) Hardware resource allocation for applications
CN102708006A (zh) 处理优化负载调整
KR20140145748A (ko) 다중 코어 환경에서 프로세스의 할당 방법 및 장치
WO2016032643A1 (en) Multiple clustered very long instruction word processing core
CN103543982B (zh) 一种时钟频率管理方法及移动设备
US9766946B2 (en) Selecting processor micro-threading mode
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
Yazdanpanah et al. A comprehensive view of MapReduce aware scheduling algorithms in cloud environments

Legal Events

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