KR102204032B1 - 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법 및 그 장치 - Google Patents

비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법 및 그 장치 Download PDF

Info

Publication number
KR102204032B1
KR102204032B1 KR1020190026088A KR20190026088A KR102204032B1 KR 102204032 B1 KR102204032 B1 KR 102204032B1 KR 1020190026088 A KR1020190026088 A KR 1020190026088A KR 20190026088 A KR20190026088 A KR 20190026088A KR 102204032 B1 KR102204032 B1 KR 102204032B1
Authority
KR
South Korea
Prior art keywords
core
real
time
task
little
Prior art date
Application number
KR1020190026088A
Other languages
English (en)
Other versions
KR20200107251A (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 KR1020190026088A priority Critical patent/KR102204032B1/ko
Publication of KR20200107251A publication Critical patent/KR20200107251A/ko
Application granted granted Critical
Publication of KR102204032B1 publication Critical patent/KR102204032B1/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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법 및 그 장치에 관한 것으로, 더욱 상세하게는 처리속도는 빠르지만 전력소모가 큰 빅 코어와 처리속도는 느리지만 전력소모가 작은 리틀 코어로 구성된 비대칭 멀티코어 구조를 사용하는 스마트 모바일 단말에서, 처리량이 많거나 시급성이 높은 실시간 태스크를 대상으로 마감시간을 보장하는 범위 내에서 리틀 코어에 우선적으로 할당하도록 함으로써, 스마트 모바일 장치의 에너지 소비량을 줄여 전력효율을 높일 수 있는 방법 및 그 장치에 관한 것이다.

Description

비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법 및 그 장치{METHOD FOR ENERGY EFFICIENT CORE SELECTION OF REAL-TIME TASKS ON A HETEROGENEOUS MULTI-CORE ARCHITECTURE FOR SMART MOBILE DEVICE AND THE APPARATUS THEREOF}
본 발명은 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법 및 그 장치에 관한 것으로, 더욱 상세하게는 처리속도는 빠르지만 전력소모가 큰 빅 코어와 처리속도는 느리지만 전력소모가 작은 리틀 코어로 구성된 비대칭 멀티코어 구조를 사용하는 스마트 모바일 단말에서, 처리량이 많거나 시급성이 높은 실시간 태스크를 대상으로 마감시간(deadline)을 보장하는 범위 내에서 리틀 코어에 우선적으로 할당하도록 함으로써, 스마트 모바일 단말의 에너지 소비량을 줄여 전력효율을 높일 수 있는 방법 및 그 장치에 관한 것이다.
4차 산업 혁명의 주요한 분야 중 하나인 사물인터넷(Internet of Things)은 우리의 실생활에서 그 범위가 급격히 커지고 있다. 특히, 영상 및 게임 등의 엔터테인먼트 기술과 스마트 고글과 같은 웨어러블(wearable) 디바이스의 비약적인 발달로 인하여, 실생활에서 가상증강현실 기술의 발달한 형태인 XR(eXtended Reality)이 적용되는 환경으로 발전하고 있다.
이에 따라 스마트폰, 스마트 고글 등의 각종 스마트 모바일 단말에 대용량의 실시간 데이터를 모바일 환경에서 고속으로 처리하거나 전송하기 위한 처리능력이 요구되고 있다.
이를 위해서 수년 전부터 상기 스마트 모바일 단말의 중앙처리장치에 복수 개의 집적도가 높은 코어를 사용하여 동시에 여러 개의 태스크를 실행시킬 수 있는 멀티코어 구조가 널리 사용되어 오고 있지만, 상기 멀티코어 구조는 구조적으로 단일코어 구조와 비교할 때 전력 소모가 수배 이상 더 높다.
이와 같이 상기 스마트 모바일 단말들의 가장 큰 애로사항 중 하나는 제한적인 배터리 량이다. IoT 환경에서 다뤄지는 데이터 량과 연결된 스마트 모바일 단말의 사용빈도와 시간은 급격히 증가하고 있는 반면, 휴대용 배터리 기술의 발전은 이에 부합하고 있지 못하며, 그 격차는 기하급수적으로 벌어지고 있다.
그러므로 상기 스마트 모바일 단말에서 배터리는 가장 중요한 자원 중 하나가 되었으며, 스마트 모바일 단말의 전력 소모를 줄이기 위해서 하드웨어 모듈(예를 들어, CPU, 무선통신 모듈 등)별로 저전력 하드웨어 설계, 저전력 무선통신 프로토콜 개발, 에너지 효율적인 하드웨어 제어용 펌웨어 등의 연구가 많이 진행되고 있다.
그러나 아무리 하드웨어 모듈 단위로 저전력 설계를 수행하더라도, 소프트웨어 단에서 전력소모가 큰 모듈들을 방만하게 사용한다면, 불필요한 에너지 사용으로 인하여 급격한 배터리 방전이 야기될 것이다. 그러므로 스마트 모바일 단말에서 현재 실행되는 응용프로그램들의 특성과 사용자의 이용패턴 등을 고려하여 전력소모가 큰 모듈인 무선통신 모듈의 사용을 상황에 맞게 효율적으로 수행함으로써, 에너지 보존을 극대화할 수 있는 소프트웨어 운영 기법에 대한 연구가 필요하다. 현재까지 이루어진 저전력 소프트웨어 운영기법들은 실험적인 방식으로 성능을 개선함으로써 에너지 절약효과를 얻는 연구가 대부분이었다.
즉 안정적인 IoT 서비스를 위해서는 요구 성능을 만족하면서 에너지 보존성을 극대화하는 기법에 대한 연구가 필요한 것이다. 특히 상기 스마트 모바일 단말의 에너지 보존성을 높이기 위해서는, 에너지 소모 비중이 큰 하드웨어 모듈들을 우선적으로 에너지 보존적으로 작동시켜야 한다. 이때 많은 연산량을 처리하는 멀티코어 CPU는 전력소모가 매우 큰 모듈 중 하나이며, 멀티코어 CPU에 대한 소프트웨어 기반의 에너지 보존적 기법이 요구된다.
한편 저전력 하드웨어 설계의 일환으로 널리 사용되고 있는 방식 중 하나는 비대칭 멀티코어 구조이다. 현재 상용적으로 널리 사용되고 있는 모바일 환경에서의 비대칭 멀티코어 구조는 big.LITTLE 멀티코어 구조이다. 상기 big.LITTLE 코어 구조에서 리틀(LITTLE) 코어의 처리속도는 빅(big) 코어보다 느리지만 에너지 효율이 더 높다.
하지만 종래의 big.LITTLE 멀티코어 구조와 같은 비대칭 멀티코어 구조를 사용하는 스마트 모바일 단말에서 에너지 효율이 높은 리틀 코어의 활용도가 떨어지는 문제가 있었다.
따라서 본 발명에서는 빅 코어와 리틀 코어로 구성된 비대칭 멀티코어 구조를 사용하는 스마트 모바일 단말에서, 처리량이 많거나 시급성이 높은 실시간 태스크를 대상으로 마감시간을 보장하는 범위 내에서 리틀 코어에 우선적으로 할당하도록 함으로써, 스마트 모바일 단말의 에너지 소비량을 줄여 전력효율을 높일 수 있는 방안을 제시하고자 한다.
특히 본 발명은 스마트 모바일 단말에서 실시간 태스크를 처리할 때, 리틀 코어의 활용도를 높여 전력 효율을 극대화시키면서, 실시간 태스크의 마감시간 준수를 동시에 만족시킬 수 있는 에너지 보존적 코어 할당 기법을 제공한다.
다음으로 본 발명의 기술분야에 존재하는 선행기술에 대하여 간단하게 설명하고, 이어서 본 발명이 상기 선행기술에 비해서 차별적으로 이루고자 하는 기술적 사항에 대해서 기술하고자 한다.
먼저 "big.LITTLE Technology: The Future of Mobile," white paper, ARM technology.는 저전력 하드웨어 설계의 일환으로 제안되어 널리 사용되고 있는 방식 중 하나인 비대칭 멀티코어 구조를 설명한 것으로서, 스마트 모바일 단말은 처리해야 할 작업의 크기와 요구되는 처리시간의 긴급성이 제각각 다를 수 있으므로, 소비전력과 처리능력이 다른 코어들을 동시에 사용하는 비대칭 멀티코어 구조를 적용하는 것이 효과적이라는 특징을 기술하고 있다.
즉 상기 선행기술의 기재에 따르면 처리량이 많거나 시급성이 높은 작업(프로세스 또는 쓰레드)은 빅 코어에 할당되고, 처리량이 적거나 시급성이 낮은 작업은 리틀 코어에 할당하여 실행하는 것이 에너지 효율면에서 우수하지만, 실제 애플리케이션 환경에서는 대부분의 태스크들이 리틀 코어 보다는 빅 코어에 편중해서 실행되는 현상이 발생하기 때문에, big.LITTLE 코어 구조의 에너지 보존성의 장점을 활용하지 못하고 있다.
또한 D. H. Bui, Y. Liu, H. Kim, I. Shin and F. Zhao, "Rethinking Energy-Performance Trade-Off in Mobile Web Page Loading," ACM Mobicom 2015, Paris, France, pp.14-26, Sep. 2015.는 리틀 코어의 활용도를 높이기 위하여 각 태스크의 코어 할당을 응용 소프트웨어 단에서 설정하는 ASS(Application-Assisted Scheduling) 기법에 대한 것이다.
즉 상기 선행기술은 실행 중인 각 애플리케이션에서 자신의 쓰레드(또는 프로세스)의 분량 및 시급성 등을 제일 잘 파악하거나 예측할 수 있으므로, 코어 할당을 애플리케이션 레벨에서 하는 것이 가장 효율적이라는 이유로 태스크의 big.LITTLE 코어 할당을 커널 레벨에서가 아닌 애플리케이션 레벨에서 결정하도록 하는 것에 대하여 기재하고 있지만, 마감시간을 갖는 실시간 태스크에 대하여 고려하지 못하였기 때문에 리틀 코어의 활용도를 높이는 데 한계가 있었다.
이상에서 선행기술들을 검토한 결과, 대부분의 선행기술들은 처리량이 많거나 시급성이 높은 작업은 빅 코어에 할당하고 처리량이 적거나 시급성이 낮은 작업은 리틀 코어에 할당하는 구성, 코어 할당을 커널 레벨에서가 아닌 애플리케이션 레벨에서 결정하는 구성에 대하여 기재하고 있다.
이에 반하여 본 발명은 빅 코어와 리틀 코어로 구성된 비대칭 멀티코어 구조를 사용하는 스마트 모바일 단말에서, 에너지 보존성을 높이기 위해서 실시간 태스크를 대상으로 하여 마감시간을 보장하는 범위 내에서 리틀 코어에 우선적으로 할당하는 코어 선택 알고리즘을 적용함으로써, 기존의 기법에 비해 마감시간을 보장하면서 에너지 소비량을 줄일 수 있도록 하는 것이다. 따라서 상기 선행기술들은 본 발명의 이러한 기술적 특징을 기재하거나 시사하고 있지 않다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 빅 코어와 리틀 코어로 구성된 비대칭 멀티코어 구조의 중앙처리장치를 사용하는 스마트 모바일 단말의 에너지 소비를 줄이면서 요구 성능을 보장할 수 있도록, 실시간 태스크를 리틀 코어에 우선적으로 할당하도록 하는 방법 및 그 장치를 제공하는 것을 목적으로 한다.
또한 본 발명은 스마트 모바일 단말에서 처리량이 많거나 시급성이 높은 실시간 태스크를 대상으로 마감시간을 보장하는 범위 내에서 리틀 코어에 우선적으로 할당함으로써, 에너지 소비량을 줄여 전력효율을 높일 수 있는 방법 및 그 장치를 제공하는 것을 다른 목적으로 한다.
또한 본 발명은 스마트 모바일 단말에서 실시간 태스크를 처리할 때, 리틀 코어의 활용도를 높여 전력 효율을 극대화시키면서, 실시간 태스크의 마감시간 준수를 동시에 만족시킬 수 있는 에너지 보존적 코어 할당 기법을 제공하는 방법 및 그 장치를 제공하는 것을 또 다른 목적으로 한다.
본 발명의 일 실시예에 따른 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법은, 적어도 하나 이상의 빅 코어 및 리틀 코어로 구성된 비대칭 멀티코어 구조를 사용하는 스마트 모바일 단말에 적용되는 코어 할당 장치에서 수행하는 코어 할당 방법에 있어서, 상기 코어 할당 장치로 처리할 실시간 태스크가 입력되면, 상기 실시간 태스크의 마감시간까지 상기 리틀 코어를 통해 처리가 가능한지의 여부를 판단하는 리틀 코어 처리가능 판단 단계, 및 상기 판단결과를 토대로 상기 실시간 태스크의 마감시간까지 상기 리틀 코어에서 처리가 가능하면 상기 실시간 태스크를 상기 리틀 코어에 할당하고, 상기 실시간 태스크의 마감시간까지 상기 리틀 코어에서 처리가 가능하지 않으면 상기 실시간 태스크를 상기 빅 코어에 할당하는 태스크 할당 단계를 포함하는 것을 특징으로 한다.
또한 상기 코어 할당 방법은, 상기 코어 할당 장치로 입력되는 상기 실시간 태스크의 마감시간을 보장하는 범위 내에서 상기 실시간 태스크를 상기 리틀 코어에 우선적으로 할당함으로써, 상기 스마트 모바일 단말의 에너지 소비량을 줄여 전력효율을 높이도록 하는 것을 특징으로 한다.
또한 상기 리틀 코어 처리가능 판단 단계는, 상기 코어 할당 장치로 입력되는 상기 실시간 태스크의 마감시간을 확인하는 단계, 상기 리틀 코어의 대기열에 포함된 모든 태스크의 예상종료시간과 상기 실시간 태스크의 상기 리틀 코어에서의 예상실행시간을 계산하는 단계, 및 상기 계산한 예상종료시간 및 상기 예상실행시간의 합이 상기 마감시간보다 작은지를 판단하는 단계를 더 포함하는 것을 특징으로 한다.
여기서 마감시간, 예상종료시간 및 예상실행시간은 특정 시간을 단위로 하거나, 시간 간격을 단위로 하여 공통적으로 동일하게 설정한 상태에서 서로 비교하여야 함이 당연하다.
또한 상기 태스크 할당 단계는, 상기 판단결과 상기 예상종료시간 및 예상실행시간의 합이 상기 마감시간보다 작으면, 상기 실시간 태스크를 리틀 코어에 우선적으로 할당하여 처리하도록 하는 단계, 및 상기 판단결과 상기 예상종료시간 및 예상실행시간의 합이 상기 마감시간보다 크거나 같으면, 상기 실시간 태스크를 빅 코어에 할당하여 처리하도록 하는 단계를 더 포함하는 것을 특징으로 한다.
또한 상기 코어 할당 방법은, 상기 실시간 태스크를 상기 리틀 코어 또는 상기 빅 코어에 할당한 이후, 상기 코어 할당 장치에서, 해당 코어의 대기열에 포함된 모든 태스크의 실행종료시간을 갱신하는 단계, 및 상기 코어 할당 장치로 입력되는 태스크의 할당 작업이 종료되는지를 판단하여, 상기 태스크의 할당 작업이 종료될 때까지 상기 판단 단계 이후를 반복하여 수행하는 단계를 더 포함하는 것을 특징으로 한다.
아울러, 본 발명의 일 실시예에 따른 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 장치는, 적어도 하나 이상의 빅 코어 및 리틀 코어로 구성된 비대칭 멀티코어 구조를 사용하는 스마트 모바일 단말에 적용되는 코어 할당 장치에 있어서, 처리할 실시간 태스크가 입력되면, 상기 실시간 태스크의 마감시간까지 상기 리틀 코어를 통해 처리가 가능한지의 여부를 판단하는 할당 조건 확인부, 및 상기 판단결과를 토대로 상기 실시간 태스크의 마감시간까지 상기 리틀 코어에서 처리가 가능하면 상기 실시간 태스크를 상기 리틀 코어에 할당하고, 상기 실시간 태스크의 마감시간까지 상기 리틀 코어에서 처리가 가능하지 않으면 상기 실시간 태스크를 상기 빅 코어에 할당하는 태스크 할당부를 포함하는 것을 특징으로 한다.
또한 상기 코어 할당 장치는, 상기 실시간 태스크의 마감시간을 보장하는 범위 내에서 상기 실시간 태스크를 상기 리틀 코어에 우선적으로 할당함으로써, 상기 스마트 모바일 단말의 에너지 소비량을 줄여 전력효율을 높이도록 하는 것을 특징으로 한다.
또한 상기 코어 할당 장치는, 상기 실시간 태스크 또는 비 실시간 태스크를 입력받는 태스크 입력부, 상기 입력받은 상기 실시간 태스크의 마감시간을 확인하는 태스크 마감시간 확인부, 상기 리틀 코어 및 빅 코어의 대기열에 포함된 모든 태스크의 예상종료시간을 계산하는 태스크 예상종료시간 계산부, 및 상기 입력받은 상기 실시간 태스크의 상기 리틀 코어에서의 예상실행시간을 계산하는 태스크 예상실행시간 계산부를 더 포함하며, 상기 할당 조건 확인부는, 상기 계산한 예상종료시간 및 예상실행시간의 합이 상기 마감시간보다 작은지를 판단하는 것을 토대로, 상기 실시간 태스크의 마감시간까지 상기 리틀 코어를 통해 처리가 가능한지의 여부를 판단하는 것을 특징으로 한다.
또한 상기 태스크 할당부는, 상기 할당 조건 확인부에서의 판단결과 상기 예상종료시간 및 예상실행시간의 합이 상기 마감시간보다 작으면, 상기 실시간 태스크를 리틀 코어에 우선적으로 할당하여 처리하도록 하며, 상기 할당 조건 확인부에서의 판단결과 상기 예상종료시간 및 예상실행시간의 합이 상기 마감시간보다 크거나 같으면, 상기 실시간 태스크를 빅 코어에 할당하여 처리하도록 하는 것을 특징으로 한다.
또한 상기 코어 할당 장치는, 상기 태스크 할당부에서 상기 실시간 태스크를 상기 리틀 코어 또는 상기 빅 코어에 할당한 이후, 상기 실시간 태스크가 할당된 리클 코어 또는 빅 코어의 대기열에 포함된 모든 태스크의 실행종료시간을 갱신하는 태스크 예상종료시간 갱신부를 더 포함하는 것을 특징으로 한다.
이상에서와 같이 본 발명의 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법 및 그 장치에 따르면, 빅 코어와 리틀 코어로 구성된 비대칭 멀티코어 구조를 사용하는 스마트 모바일 단말에서 실시간 태스크들을 처리할 때, 마감시간이 보장되는 범위에서 처리속도는 느리나 전력 효율이 높은 리틀 코어에 실시간 태스크를 우선적으로 할당하도록 함으로써, 스마트 모바일 단말의 에너지 소비량을 줄일 수 있으며, 요구되는 성능을 보장할 수 있는 효과가 있다.
또한 본 발명은 실시간 태스크들이 빅 코어에 집중되는 기존의 방식과 달리 마감시간 준수를 보장하면서 리틀 코어의 활용도를 크게 높일 수 있으며, 에너지 보존성을 높일 수 있는 효과가 있다.
도 1은 종래의 big.LITTLE 비대칭 멀티코어 구조에서의 태스크 스케줄링 개념을 설명하기 위한 도면이다.
도 2는 종래의 big.LITTLE 비대칭 멀티코어 구조에서 사용하는 태스크 스케줄링 기법을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 장치의 구성을 설명하기 위한 도면이다.
도 4는 본 발명에 적용된 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 코어 할당 장치의 구성을 보다 상세하게 나타낸 도면이다.
도 6은 본 발명에 적용된 코어 선택 알고리즘과 알고리즘에서 사용하는 주요 변수의 정의를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법의 동작과정을 상세하게 나타낸 순서도이다.
도 8은 본 발명에 적용된 코어 선택 알고리즘의 성능평가를 위한 시뮬레이션 파라미터를 나타낸 도면이다.
도 9는 본 발명에 적용된 코어 선택 알고리즘과 기존 방식 사이의 가동률(utilization)에 따른 에너지 소비의 성능을 비교한 도면이다.
도 10은 본 발명에 적용된 코어 선택 알고리즘과 기존 방식 사이의 태스크들의 마감시간에 따른 에너지 소비의 성능을 비교한 도면이다.
도 11은 본 발명에 적용된 코어 선택 알고리즘과 기존 방식 사이의 태스크 도착률(λ)에 따른 에너지 소비의 성능을 비교한 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법 및 그 장치와 관련된 바람직한 실시 예를 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. 또한 본 발명의 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는 것이 바람직하다.
도 1은 종래의 big.LITTLE 비대칭 멀티코어 구조에서의 태스크 스케줄링 개념을 설명하기 위한 도면이다.
도 1에 도시된 바와 같이, big.LITTLE 비대칭 멀티코어 구조는 모바일 환경에서 현재 가장 널리 사용되고 있는 구조로서, 상기 big.LITTLE 비대칭 멀티코어 구조에서 리틀 코어의 처리속도는 빅 코어와 비교할 때 느리지만, 에너지 효율이 뛰어나므로 처리량이 많거나 시급성이 높은 작업(mission critical tasks)은 빅 코어에 할당하고, 처리량이 비교적 작고 일반적인 작업(normal tasks)은 리틀 코어에 할당하는 것이 좋다.
하지만, 실제 애플리케이션 환경에서는 대부분의 태스크들이 리틀 코어보다는 빅 코어에 편중해서 실행되었기 때문에, 본 발명에서는 이와 같은 비대칭 멀티코어 환경에서 에너지 보존성을 높이기 위해 리틀 코어의 활용도를 높이는 방안을 제시한다.
도 2는 종래의 big.LITTLE 비대칭 멀티코어 구조에서 사용하는 태스크 스케줄링 기법을 설명하기 위한 도면이다.
도 2에 도시된 바와 같이, 비대칭 멀티코어 기반 태스크 스케줄링을 위한 소프트웨어 구조는 다음과 같이 크게 세 가지로 나뉠 수 있다. 이때 중앙처리장치의 비대칭 멀티코어 구조는 상기 도 1에 설명한 것처럼 ARM technology에서 개발한 big.LITTLE 코어 구조가 대표적이다.
첫 번째, 도 2의 (a)는 클러스터 이주(cluster migration) 기법에 대한 것으로서, 복수 개의 빅 코어가 하나의 클러스터를 구성하고, 복수 개의 리틀 코어가 또 하나의 클러스터를 구성한다. 그리고 태스크를 실행할 때, 빅 코어 클러스터 또는 리틀 코어 클러스터 중 어느 하나를 선택하며, 선택받지 못한 클러스터는 비활성화 상태가 된다. 그러므로 빅 코어와 리틀 코어 모두를 동시에 활용할 수 없는 단점이 있다.
두 번째, 도 2의 (b)는 CPU 이주 기법에 대한 것으로서, 복수 개의 빅 코어와 리틀 코어가 존재하는 환경에서, 한 개의 빅 코어와 한 개의 리틀 코어가 짝이 되어서 하나의 클러스터를 구성한다. 이에 따라 실행할 태스크가 많은 상황에서는 모든 클러스터들을 동시에 활용할 수 있는 장점이 있지만, 하나의 클러스터 내에서는 빅 코어와 리틀 코어 중 어느 하나만 활성화되고, 나머지 코어는 비활성화되는 단점이 있다.
세 번째, 도 2의 (c)는 글로벌 태스크 스케줄링 기법(global scheduling)에 대한 것으로서, 각각의 코어들이 독립적으로 존재하며, 스케줄러는 설정된 스케줄 정책에 따라 태스크들을 적절한 코어(빅 코어 또는 리틀 코어)에 할당한다. 실행 할 태스크들이 많은 경우 모든 코어들을 활성화시킬 수 있는 장점이 있다. 하지만 스케줄링의 복잡성이 기존 기법들 보다 높기 때문에 상황에 맞는 세심한 스케줄링 기법이 요구된다.
본 발명은 상기 big.LITTLE 비대칭 멀티코어 구조에서 사용하는 태스크 스케줄링 기법에서의 문제점을 해소하기 위한 것이다. 즉 본 발명은 실시간 태스크의 마감시간 우선 특성을 활용하여, 마감시간이 보장되는 경우 응답시간(또는 완료시간)을 더 줄이는 것이 성능에 영향을 주지 않는 mission critical task(즉 실시간 태스크)를 마감시간이 준수되는 범위 내에서 리틀 코어에서 수행하도록 스케줄링 함으로써, 에너지 보존성을 높일 수 있도록 한 것이다.
도 3은 본 발명의 일 실시예에 따른 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 장치의 구성을 설명하기 위한 도면이다.
도 3에 도시된 바와 같이, 본 발명은 코어 할당 장치(100)와 적어도 하나 이상의 빅 코어 및 리틀 코어로 구성된 CPU(200)로 구성된다.
상기 코어 할당 장치(100)는 빅 코어 및 리틀 코어로 구성된 비대칭 멀티코어 구조의 CPU(200)를 포함하는 스마트 모바일 단말에 사용되는 것으로서, 상기 코어 할당 장치(100)로 입력되는 각종 태스크 중에서 실시간 태스크를 리틀 코어에 우선적으로 할당하여 처리하도록 하여, 상기 스마트 모바일 단말의 에너지 소비를 줄이면서 요구 성능을 보장할 수 있도록 한다.
즉 상기 스마트 모바일 단말에서 처리량이 많거나 시급성이 높은 실시간 태스크를 대상으로 마감시간을 보장하는 범위 내에서 리틀 코어에 우선적으로 할당함으로써, 상기 스마트 모바일 단말에서의 에너지 소비량을 줄여 전력효율을 높일 수 있도록 하는 것이다.
상기 CPU(200)는 적어도 하나 이상의 빅 코어 및 리틀 코어를 포함하는 비대칭 멀티코어 구조로 설계되어 있으며, 상기 코어 할당 장치(100)의 스케줄링을 토대로 각 태스크를 빅 코어 및 리틀 코어를 통해 처리한다.
즉 본 발명에서는 ARM technology에서 개발한 big.LITTLE 코어 구조로 된 CPU(200)를 사용하여, 상기 스마트 모바일 단말에서 수행하여야 할 각종 태스크를 처리한다.
도 4는 본 발명에 적용된 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 과정을 설명하기 위한 도면이다.
도 4에 도시된 바와 같이, 상기 코어 할당 장치(100)는 상기 스마트 모바일 단말에서 실행 중인 애플리케이션으로부터 처리해야 할 각종 태스크(예를 들어 처리량이 많고 긴급성을 요구하는 실시간 태스크, 처리량이 적고 일반적인 비실시간 태스크 등)가 입력되면(①), 상기 태스크 중에서 실시간 태스크의 마감시간(D)을 확인한다(②).
또한 상기 코어 할당 장치(100)는 상기 CPU(200)의 리틀 코어(220)의 대기열에 포함된 모든 태스크의 예상종료시간(E)을 계산하고, 이와 동시에 상기 리틀 코어(220)에서 상기 실시간 태스크를 실행하였을 때의 예상실행시간(T)을 계산한다(③).
이처럼 상기 실시간 태스크의 마감시간을 확인하고, 상기 리틀 코어(220)의 대기열에 포함된 모든 태스크의 예상종료시간(E) 및 상기 리틀 코어(220)에서 상기 실시간 태스크를 실행하였을 때의 예상실행시간(T)을 계산한 이후, 상기 코어 할당 장치(100)는 상기 실시간 태스크를 리틀 코어(220)에 할당하여 처리하도록 할 것인지(④), 아니면 상기 실시간 태스크를 빅 코어(210)에 할당하여 처리하도록 할 것인지를 결정한다(⑤).
즉 상기 코어 할당 장치(100)는 상기 계산한 예상종료시간(E)과 예상실행시간(T)의 합이 상기 마감시간(D)보다 작은지를 판단하고, 판단결과 상기 계산한 예상종료시간(E)과 예상실행시간(T)의 합이 상기 마감시간(D)보다 작으면 상기 실시간 태스크를 상기 리틀 코어(220)에 할당하며, 상기 계산한 예상종료시간(E)과 예상실행시간(T)의 합이 상기 마감시간(D)보다 크거나 같으면 상기 실시간 태스크를 상기 빅 코어(210)에 할당하는 것이다.
이러한 상기 코어 할당 장치(100)에서의 상기 실시간 태스크의 빅 코어(210) 또는 리틀 코어(220)의 할당을 토대로 상기 CPU(200)에서는 입력된 태스크를 처리하여 결과를 출력한다(⑥).
이에 따라 본 발명은 상기 실시간 태스크의 마감시간을 준수하면서도 리틀 코어의 활용도가 극대화되어, 스마트 모바일 단말에 사용되는 배터리의 에너지 보존성을 높일 수 있다.
도 5는 본 발명의 일 실시예에 따른 코어 할당 장치의 구성을 보다 상세하게 나타낸 도면이다.
도 5에 도시된 바와 같이, 상기 코어 할당 장치(100)는 태스크 입력부(110), 태스크 마감시간 확인부(120), 태스크 예상종료시간 계산부(130), 태스크 예상실행시간 계산부(140), 할당 조건 확인부(150), 태스크 할당부(160), 태스크 예상종료시간 갱신부(170) 등을 포함하여 구성된다.
또한 상기 코어 할당 장치(100)는 도면에 도시하지는 않았지만, 각 구성 부분에 동작전원을 공급하는 전원부, 각종 기능에 대한 데이터 입력을 위한 입력부, 코어 할당과 관련된 각종 동작프로그램을 저장하고 있으며 각각의 리틀 코어 및 빅 코어별로 수행될 태스크 정보를 저장하는 저장부, 각종 동작프로그램의 업데이트를 관리하는 업데이트 관리부 등을 추가로 포함할 수 있다.
상기 태스크 입력부(110)는 스마일 모바일 단말에서 실행 중인 애플리케이션 등을 통해 각종 태스크를 입력받아 실시간 태스크 또는 비 실시간 태스크의 여부를 확인한다.
즉 현재 입력되는 태스크가 처리량이 많고 긴급성을 요구하는 실시간 태스크인지, 아니면 현재 입력되는 태스크가 비교적 처리량이 적고 일반적인 비실시간 태스크인지를 확인하는 것이다.
상기 태스크 마감시간 확인부(120)는 상기 태스크 확인부(110)에서 확인된 실시간 태스크의 마감시간(D)을 확인하고, 상기 확인한 마감시간 정보를 상기 할당 조건 확인부(150)로 출력한다.
이때 상기 실시간 태스크에는 해당 태스크의 마감시간 정보가 포함되어 있으며, 상기 마감시간 정보는 상기 태스크의 헤더에 포함되거나, 또는 애플리케이션으로부터 별도의 파일로 제공받을 수 있을 것이다.
또한 상기 태스크 마감시간 확인부(120)는 상기 코어 할당 장치(100)로 입력되는 태스크가 실시간 태스크인 경우에 한해서 동작되며, 비 실시간 태스크의 경우 동작되지 않는다.
상기 태스크 예상종료시간 계산부(130)는 상기 리틀 코어(220) 및 빅 코어(210)별로 대기열에 포함된 모든 태스크의 예상종료시간(E)을 계산하고, 상기 계산한 예상종료시간 정보를 상기 할당 조건 확인부(150)로 출력한다.
상기 태스크 예상실행시간 계산부(140)는 상기 태스크 입력부(110)를 통해 입력받은 상기 실시간 태스크의 각 리틀 코어(220) 및 빅 코어(210)에서의 예상실행시간(T)을 계산하고, 상기 계산한 예상실행시간 정보를 상기 할당 조건 확인부(150)로 출력한다.
한편 상기 태스크 마감시간 확인부(120), 태스크 예상종료시간 계산부(130) 및 태스크 예상실행시간 계산부(140)는 각각 독립된 형태로 구성하지 않고 하나로 통합한 형태로 구현할 수 있다.
상기 할당 조건 확인부(150)는 상기 태스크 입력부(110)를 통해 처리할 실시간 태스크가 입력되면, 상기 실시간 태스크의 마감시간까지 상기 리틀 코어(220)를 통해 처리가 가능한지의 여부를 판단하고, 판단결과를 상기 태스크 할당부(160)로 출력한다.
즉 상기 할당 조건 확인부(150)는 상기 실시간 태스크의 마감시간을 보장하는 범위 내에서 상기 실시간 태스크를 상기 리틀 코어(220)에 우선적으로 할당하여 처리할 수 있도록 하는 것이다. 이를 통해 상기 스마트 모바일 단말의 에너지 소비량을 줄일 수 있으며, 결과적으로 전력효율을 높일 수 있게 된다.
보다 구체적으로 설명하면, 상기 할당 조건 확인부(150)는 상기 태스크 예상종료시간 계산부(130) 및 태스크 예상실행시간 계산부(140)에서 각각 계산한 예상종료시간(E) 및 예상실행시간(T)의 합이 상기 마감시간(D)보다 작은지를 판단하여, 상기 실시간 태스크의 마감시간까지 상기 리틀 코어(220)를 통해 처리가 가능한지의 여부를 판단한다.
한편 본 발명에서는 리틀 코어(220)를 우선으로 소팅(sorting)되어 있기 때문에 복수 개의 리틀 코어(220) 및 빅 코어(210)가 사용되는 경우, 상기 할당 조건 확인부(150)는 현재 입력된 실시간 태스크의 마감시간(D)을 확인함과 동시에, 첫 번째 리틀 코어(220)의 대기열에 포함된 모든 태스크의 예상종료시간(E), 및 상기 실시간 태스크의 첫 번째 리틀 코어(220)에서의 예상실행시간(T)을 각각 계산한 다음, 이를 토대로 현재 입력된 실시간 태스크를 첫 번째 리틀 코어(220)에서 처리할 수 있는지의 여부를 확인한다. 그리고 현재 입력된 실시간 태스크가 첫 번째 리틀 코어(220)에서 처리하지 못하는 것으로 판단되면, 소팅 순서에 따라 다음의 리틀 코어(220) 또는 빅 코어(210)에서 상기 실시간 태스크의 처리가 가능한지의 여부를 확인한다. 만일 모든 리틀 코어(220) 및 빅 코어(210)에서 처리가 불가능하다고 판단되면 마감시간을 놓친 작업으로 처리하는데, 이는 해당 실시간 태스크를 오류 처리하거나, 또는 해당 실시간 태스크를 할당 작업을 수행할 작업대기열에 두는 것으로 볼 수 있다.
상기 태스크 할당부(160)는 상기 할당 조건 확인부(150)로부터 제공받은 판단결과를 토대로, 상기 실시간 태스크의 마감시간까지 상기 리틀 코어(220)에서 처리가 가능하면 상기 실시간 태스크를 상기 리틀 코어(220)에 할당하며, 상기 실시간 태스크의 마감시간까지 상기 리틀 코어(220)에서 처리하는 것이 불가능하면 상기 실시간 태스크를 상기 빅 코어(210)에 할당한다.
보다 구체적으로 설명하면, 상기 태스크 할당부(160)는 상기 할당 조건 확인부(150)에서의 판단결과 상기 예상종료시간(E) 및 예상실행시간(T)의 합이 상기 마감시간(D)보다 작으면, 상기 실시간 태스크를 상기 리틀 코어(220)에 우선적으로 할당하여 처리하도록 한다. 그리고 상기 태스크 할당부(160)는 상기 할당 조건 확인부(150)에서의 판단결과 상기 예상종료시간(E) 및 예상실행시간(T)의 합이 상기 마감시간(T)보다 크거나 같으면, 상기 실시간 태스크를 상기 빅 코어(210)에 할당하여 처리하도록 한다.
상기 태스크 예상종료시간 갱신부(170)는 상기 태스크 할당부(160)에서 상기 실시간 태스크를 상기 리틀 코어(220) 또는 상기 빅 코어(210)에 할당한 이후, 상기 실시간 태스크가 할당된 리클 코어(220) 또는 빅 코어(210)의 대기열에 포함된 모든 태스크의 실행종료시간을 갱신한다.
이와 같이 구성된 본 발명에 따른 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법의 일 실시예를 도 6과 도 7을 참조하여 상세하게 설명하면 다음과 같다. 이때 본 발명의 방법에 따른 각 단계는 사용 환경이나 당업자에 의해 순서가 변경될 수 있다.
도 6은 본 발명에 적용된 코어 선택 알고리즘과 알고리즘에서 사용하는 주요 변수의 정의를 나타낸 도면이다.
도 6의 (a)는 본 발명에 적용되는 에너지 보존적 빅 코어 및 리틀 코어 선택 알고리즘이며, 도 6의 (b)는 상기 코어 선택 알고리즘에서 사용되는 주요 변수들에 대한 설명을 나타낸 표이다.
즉 n은 코어의 수이고, Ei는 코어 i의 대기열에 포함된 모든 작업의 예상종료시간이고, Dj는 작업 j의 마감시간이고, Tij는 코어 i에 의한 작업 j의 예상실행시간이며, missed_job_count는 마감시간을 놓친 작업이다.
도 7은 본 발명의 일 실시예에 따른 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법의 동작과정을 상세하게 나타낸 순서도로서, 도 6의 코어 선택 알고리즘을 보다 상세하게 설명한 것이다.
도 7에 도시된 바와 같이, 코어 할당 장치(100)는 빅 코어(210) 및 리틀 코어(200)를 포함한 비대칭 멀티코어 구조의 CPU(200)를 사용하는 스마트 모바일 단말에 적용되는 것으로서, 스마트 모바일 단말에서 실행 중인 애플리케이션으로부터 입력되는 실시간 태스크를 확인한다(S100).
또한 상기 코어 할당 장치(100)는 처리할 실시간 태스크가 입력되면, 상기 입력된 실시간 태스크의 마감시간(D)을 확인하고(S200), 상기 리틀 코어(220)의 대기열에 포함된 모든 태스크의 예상종료시간(E)을 계산하며(S300), 상기 S100 단계에서 확인된 실시간 태스크의 상기 리틀 코어(220)에서의 예상실행시간(T)을 계산한다(S400).
상기 S200 단계 내지 상기 S400 단계를 통해 실시간 태스크의 마감시간(D) 확인, 상기 리틀 코어(220)의 대기열에 포함된 모든 태스크의 예상종료시간(E) 및 실시간 태스크의 상기 리틀 코어(220)에서의 예상실행시간(T)이 계산되면, 상기 코어 할당 장치(100)는 상기 예상종료시간(E) 및 예상실행시간(T)의 합이 상기 마감시간(D)보다 작은지를 판단한다(S500).
상기 S500 단계의 판단결과 상기 예상종료시간(E) 및 예상실행시간(T)의 합보다 상기 마감시간(D)이 작으면, 상기 코어 할당 장치(100)는 상기 S100 단계에서 확인한 상기 실시간 태스크를 리틀 코어(220)에 우선적으로 할당한다(S600).
그러나 상기 S500 단계의 판단결과 상기 예상종료시간(E) 및 예상실행시간(T)의 합이 상기 마감시간(D)과 같거나 크면, 상기 코어 할당 장치(100)는 상기 S100 단계에서 확인한 상기 실시간 태스크를 빅 코어(230)에 할당한다(S700).
이처럼 상기 S600 단계 또는 S700 단계를 통해 상기 실시간 태스크를 상기 리틀 코어(220) 또는 상기 빅 코어(210)에 할당한 이후, 상기 코어 할당 장치는 해당 코어의 대기열에 포함된 모든 태스크의 실행종료시간을 갱신한다(S800).
또한 상기 코어 할당 장치(100)는 현재 입력된 실시간 태스크의 할당 작업(즉 스케줄링)이 종료되는지를 판단하여(S900), 상기 실시간 태스크의 할당 작업이 종료될 때까지 상기 S100 단계 이후를 반복하여 수행한다.
한편 상기 S500 단계 내지 S900 단계의 설명에서처럼 하나의 리틀 코어(220) 및 빅 코어(210)를 사용한 방식과 달리, 복수 개의 리틀 코어(220) 및 빅 코어(210)가 사용되는 경우, 상기 코어 할당 장치(100)는 현재 입력된 실시간 태스크를 사전에 소팅되어 있는 첫 번째 리틀 코어(220)에서 처리하지 못하면 소팅 순서에 따라 다음의 리틀 코어(220)에서 상기 실시간 태스크의 처리가 가능한지의 여부를 확인한다. 또한 상기 실시간 태스크가 사전에 소팅되어 있는 모든 리틀 코어(220)에서 처리가 가능하지 않으면, 상기 코어 할당 장치(100)는 다음 순서로 소팅되어 있는 빅 코어(210)에서 상기 실시간 태스크의 처리가 가능한지의 여부를 확인하며, 태스크 할당 작업이 종료될 때까지 반복하여 수행한다.
다음에는, 본 발명에 적용된 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당에 대한 시뮬레이션에 의한 성능평가에 대하여 도 8 내지 도 11을 참조하여 상세하게 설명한다.
도 8은 본 발명에 적용된 코어 선택 알고리즘의 성능평가를 위한 시뮬레이션 파라미터를 나타낸 도면으로서, 실제 환경에 대한 모사를 위해서 리틀 코어는 1.3GHz 클록과 392μAh의 에너지 소비(power consumption), 빅 코어는 1.9 GHz 클록과 777μAh의 에너지 소비인 것을 가정하여 시뮬레이션 파라미터로 설정하였다.
또한 본 발명의 성능 평가를 위하여, 시뮬레이션 대상 스마트 모바일 단말은 1개의 빅 코어와 1개의 리틀 코어로 구성되고, 태스크들은 마감시간을 갖는 실시간 태스크로 가정하였으며, 이에 따라 상기 코어 할당 장치(100)는 실행할 태스크가 도달되면 각 코어(즉 빅 코어 및 리틀 코어)에서 실행할 때 예상실행시간을 예측할 수 있다. 또한 상기 코어 할당 장치(100)는 멀티코어에서 실행할 태스크들의 발생은 도착률이 λ인 포아송 프로세스(poisson process)를 따르며, 측정하는 에너지 소비량은 1시간당 에너지 소비량을 의미하며 단위는 μAh이다.
또한 성능 평가를 위해서 Legacy 기법(기존 방식)과 본 발명에서 제안한 코어 선택 알고리즘의 에너지 소비율을 비교하였다.
상기 Legacy 기법은 기존의 big.LITTLE 구조에서 사용되는 스케줄링 방식으로서, 기존의 big.LITTLE 구조에서는 태스크의 크기가 중요도(시급성)에 따라 코어를 할당하도록 되어 있다. 또한 마감시간 준수가 중요한 실시간 태스크(즉 mission critical task)의 경우 빅 코어에 우선적으로 할당된다. 본 발명의 성능평가에서도 실시간 태스크를 대상으로 하므로, Legacy 기법에서는 빅 코어에 우선적으로 할당된다.
또한 본 발명에서 제안한 코어 선택 알고리즘은 태스크의 마감시간 준수가 예상될 경우 리틀 코어에 우선으로 할당한다.
도 9는 본 발명에 적용된 코어 선택 알고리즘과 기존 방식 사이의 가동률(utilization)에 따른 에너지 소비의 성능을 비교한 도면이다.
도 9는 마감시간을 태스크의 1.5배로 고정하고, 태스크 도착률 λ를 0.001로 고정하였을 때, 가동률을 0%에서 90%까지 변경하면서 실험을 진행한 결과이다.
가동률이 클수록 실행할 태스크가 많음을 의미하며, 전반적인 경우에서 본 발명에 제안된 코어 선택 알고리즘의 성능이 우수하게 나타났다. 단, 가동률이 90% 이상이 되면 처리할 태스크의 량이 처리 가능한 CPU 용량에 근접하면서 리틀 코어와 빅 코어가 모두 활성화 되어야 하므로, 이 경우에는 본 발명의 코어 선택 알고리즘과 기존의 Legacy 기법의 차이가 적을 것으로 사료된다. 도 9의 결과에서도 가동률이 90%인 경우 기존의 기법에 비해 본 발명의 코어 선택 알고리즘과 기존의 Legacy 기법의 차이가 적음을 확인할 수 있다.
도 10은 본 발명에 적용된 코어 선택 알고리즘과 기존 방식 사이의 태스크들의 마감시간에 따른 에너지 소비의 성능을 비교한 도면이다.
도 10은 가동률을 30%로 고정하고, 태스크 도착률 λ를 0.001로 고정하였을 때, 마감시간을 태스크의 실행시간의 1.5배에서 4배까지 변경하면서 실험을 진행한 결과이다.
실험 전반에 걸쳐 본 발명의 코어 선택 알고리즘은 마감시간 준수를 보장하면서도 기존의 Legacy 기법에 비해 낮은 에너지 소모량을 나타내는 것을 확인할 수 있다.
도 11은 본 발명에 적용된 코어 선택 알고리즘과 기존 방식 사이의 태스크 도착률(λ)에 따른 에너지 소비의 성능을 비교한 도면이다.
도 11은 가동률을 30%로 고정하고, 마감시간을 태스크의 1.5배로 고정하였을 때, 태스크 도착률 λ를 0.001에서 10배까지 변경하면서 실험을 진행한 결과이다.
실험 전반에 걸쳐 본 발명의 코어 선택 알고리즘은 마감시간 준수를 보장하면서도 기존의 Legacy 기법에 비해 낮은 에너지 소모량을 나타내는 것을 확인할 수 있다.
이처럼, 본 발명은 빅 코어와 리틀 코어로 구성된 비대칭 멀티코어 구조를 사용하는 스마트 모바일 단말에서 실시간 태스크들을 처리할 때, 마감시간이 보장되는 범위에서 처리속도는 느리나 전력 효율이 높은 리틀 코어에 실시간 태스크를 우선적으로 할당하기 때문에, 스마트 모바일 단말의 에너지 소비량을 줄일 수 있으며, 요구되는 성능을 보장할 수 있다.
또한 본 발명은 실시간 태스크들이 빅 코어에 집중되는 기존의 방식과 달리 마감시간 준수를 보장하면서 리틀 코어의 활용도를 크게 높일 수 있으며, 에너지 보존성을 높일 수 있다.
이상에서와 같이 본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 기술적 보호범위는 아래의 특허청구범위에 의해서 판단되어야 할 것이다.
100 : 코어 할당 장치 110 : 태스크 입력부
120 : 태스크 마감시간 확인부 130 : 태스크 예상종료시간 계산부
140 : 태스크 예상실행시간 계산부 150 : 할당 조건 확인부
160 : 태스크 할당부 170 : 태스크 예상종료시간 갱신부
200 : CPU 210 : 빅 코어
220 : 리틀 코어

Claims (6)

  1. 빅 코어 및 리틀 코어로 구성된 비대칭 멀티코어 구조를 사용하는 스마트 모바일 단말에 적용되는 코어 할당 장치에서 수행하는 코어 할당 방법에 있어서,
    상기 코어 할당 장치로 실시간 태스크가 입력되면, 상기 실시간 태스크의 마감시간까지 상기 리틀 코어를 통해 처리가 가능한지의 여부를 판단하는 리틀 코어 처리가능 판단 단계; 및
    상기 판단한 결과 상기 실시간 태스크의 마감시간까지 상기 리틀 코어에서 처리가 가능하면 상기 실시간 태스크를 상기 리틀 코어에 할당하고, 상기 실시간 태스크의 마감시간까지 상기 리틀 코어에서 처리가 가능하지 않으면 상기 실시간 태스크를 상기 빅 코어에 할당하는 태스크 할당 단계;를 포함하며,
    상기 리틀 코어 처리가능 판단 단계는,
    상기 실시간 태스크의 마감시간, 상기 리틀 코어의 대기열에 포함된 모든 태스크의 예상종료시간 및 상기 실시간 태스크의 리틀 코어에서의 예상실행시간을 확인하고, 상기 확인한 예상종료시간과 예상실행시간의 합이 상기 실시간 태스크의 마감시간보다 작은지를 판단하는 것을 더 포함하며,
    상기 태스크 할당 단계는,
    상기 판단한 결과 상기 예상종료시간과 예상실행시간의 합이 상기 실시간 태스크의 마감시간보다 작으면 상기 실시간 태스크를 리틀 코어에 할당하고, 상기 예상종료시간과 예상실행시간의 합이 상기 실시간 태스크의 마감시간보다 크거나 같으면 상기 실시간 태스크를 빅 코어에 할당하는 것을 더 포함하며,
    상기 실시간 태스크에 대해서 상기 비대칭 멀티코어 중에서 상기 리틀 코어에서의 처리 가능 여부를 먼저 판단하고, 그 결과에 따라 상기 실시간 태스크를 상기 리틀 코어에 할당할지 혹은 빅 코어에 할당할지 결정하는 것을 특징으로 하는 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 태스크 할당 단계는,
    상기 실시간 태스크를 상기 리틀 코어 또는 상기 빅 코어에 할당한 이후, 상기 실시간 태스크가 할당된 상기 리틀 코어 또는 상기 빅 코어의 대기열에 포함된 모든 태스크의 실행종료시간을 갱신하는 단계;를 더 포함하는 것을 특징으로 하는 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법.
  4. 빅 코어 및 리틀 코어로 구성된 비대칭 멀티코어 구조를 사용하는 스마트 모바일 단말의 코어 할당 장치에 있어서,
    실시간 태스크가 입력되면, 상기 실시간 태스크의 마감시간까지 상기 리틀 코어를 통해 처리가 가능한지의 여부를 판단하는 할당 조건 확인부; 및
    상기 판단한 결과 상기 실시간 태스크의 마감시간까지 상기 리틀 코어에서 처리가 가능하면 상기 실시간 태스크를 상기 리틀 코어에 할당하고, 상기 실시간 태스크의 마감시간까지 상기 리틀 코어에서 처리가 가능하지 않으면 상기 실시간 태스크를 상기 빅 코어에 할당하는 태스크 할당부;를 포함하며,
    상기 할당 조건 확인부는,
    상기 실시간 태스크의 마감시간, 상기 리틀 코어의 대기열에 포함된 모든 태스크의 예상종료시간 및 상기 실시간 태스크의 리틀 코어에서의 예상실행시간을 확인하고, 상기 확인한 예상종료시간과 예상실행시간의 합이 상기 실시간 태스크의 마감시간보다 작은지를 판단하는 것을 더 포함하며,
    상기 태스크 할당부는,
    상기 판단한 결과 상기 예상종료시간과 예상실행시간의 합이 상기 실시간 태스크의 마감시간보다 작으면 상기 실시간 태스크를 리틀 코어에 할당하고, 상기 예상종료시간과 예상실행시간의 합이 상기 실시간 태스크의 마감시간보다 크거나 같으면 상기 실시간 태스크를 빅 코어에 할당하는 것을 더 포함하며,
    상기 실시간 태스크에 대해서 상기 비대칭 멀티코어 중에서 상기 리틀 코어에서의 처리 가능 여부를 먼저 판단하고, 그 결과에 따라 상기 실시간 태스크를 상기 리틀 코어에 할당할지 혹은 빅 코어에 할당할지 결정하는 것을 특징으로 하는 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 장치.
  5. 삭제
  6. 청구항 4에 있어서,
    상기 태스크 할당부는,
    상기 실시간 태스크를 상기 리틀 코어 또는 상기 빅 코어에 할당한 이후, 태스크 예상종료시간 갱신부를 통해 상기 실시간 태스크가 할당된 상기 리틀 코어 또는 빅 코어의 대기열에 포함된 모든 태스크의 실행종료시간을 갱신하도록 하는 것을 더 포함하는 것을 특징으로 하는 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 장치.
KR1020190026088A 2019-03-07 2019-03-07 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법 및 그 장치 KR102204032B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190026088A KR102204032B1 (ko) 2019-03-07 2019-03-07 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190026088A KR102204032B1 (ko) 2019-03-07 2019-03-07 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20200107251A KR20200107251A (ko) 2020-09-16
KR102204032B1 true KR102204032B1 (ko) 2021-01-15

Family

ID=72669459

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190026088A KR102204032B1 (ko) 2019-03-07 2019-03-07 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102204032B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102630955B1 (ko) * 2021-03-30 2024-01-29 남서울대학교 산학협력단 사용자 경험을 기반으로 big.LITTLE 멀티코어 구조의 스마트 모바일 단말의 에너지 소비 최적화 장치 및 그 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130020420A (ko) * 2011-08-19 2013-02-27 삼성전자주식회사 반도체 장치의 태스크 스케쥴링 방법

Also Published As

Publication number Publication date
KR20200107251A (ko) 2020-09-16

Similar Documents

Publication Publication Date Title
Geng et al. Energy-efficient computation offloading for multicore-based mobile devices
KR101629155B1 (ko) 전력-인식 스레드 스케줄링 및 프로세서들의 동적 사용
RU2454704C2 (ru) Способ и система для выполнения программных приложений и машиночитаемый носитель
US20130198758A1 (en) Task distribution method and apparatus for multi-core system
CN107168770B (zh) 一种低能耗的云数据中心工作流调度与资源供给方法
CN105117285B (zh) 一种基于移动虚拟化***的非易失性存储器调度优化方法
US20080098395A1 (en) System and method of expediting certain jobs in a computer processing system
CN111104211A (zh) 基于任务依赖的计算卸载方法、***、设备及介质
CN109445565B (zh) 一种基于流多处理器内核独占和预留的gpu服务质量保障方法
Zhang et al. Energy efficient real-time task scheduling for embedded systems with hybrid main memory
Yeh et al. Deadline-aware offloading for high-throughput accelerators
El Ghor et al. Energy efficient scheduler of aperiodic jobs for real-time embedded systems
KR102204032B1 (ko) 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법 및 그 장치
Hu et al. Adaptive energy-minimized scheduling of real-time applications in vehicular edge computing
Bartolini et al. Proactive workload dispatching on the EURORA supercomputer
Kuo et al. Task assignment with energy efficiency considerations for non-DVS heterogeneous multiprocessor systems
CN111459648B (zh) 面向应用程序的异构多核平台资源优化方法和装置
Marau et al. Performing flexible control on low-cost microcontrollers using a minimal real-time kernel
WO2011078162A1 (ja) スケジューリング装置、スケジューリング方法及びプログラム
Zhao et al. Insight and reduction of MapReduce stragglers in heterogeneous environment
Li et al. Real-time workflows oriented hybrid scheduling approach with balancing host weighted square frequencies in clouds
Huang et al. Dynamic allocation/reallocation of dark cores in many-core systems for improved system performance
Ahmad et al. A novel dynamic priority based job scheduling approach for cloud environment
Eitschberger et al. Energy-efficient task scheduling in manycore processors with frequency scaling overhead
Wu et al. Weakly hard real-time scheduling algorithm for multimedia embedded system on multiprocessor platform

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant