KR101232561B1 - 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 및 캐쉬 메모리 리사이징 장치 및 방법 - Google Patents

임베디드 멀티 코어 프로세서의 태스크 스케쥴링 및 캐쉬 메모리 리사이징 장치 및 방법 Download PDF

Info

Publication number
KR101232561B1
KR101232561B1 KR1020110010651A KR20110010651A KR101232561B1 KR 101232561 B1 KR101232561 B1 KR 101232561B1 KR 1020110010651 A KR1020110010651 A KR 1020110010651A KR 20110010651 A KR20110010651 A KR 20110010651A KR 101232561 B1 KR101232561 B1 KR 101232561B1
Authority
KR
South Korea
Prior art keywords
task
core
aperiodic
cores
cache memory
Prior art date
Application number
KR1020110010651A
Other languages
English (en)
Other versions
KR20120090298A (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 KR1020110010651A priority Critical patent/KR101232561B1/ko
Publication of KR20120090298A publication Critical patent/KR20120090298A/ko
Application granted granted Critical
Publication of KR101232561B1 publication Critical patent/KR101232561B1/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • 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/5044Allocation 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 hardware capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

에너지/전력 소모를 줄이기 위해 주기적인 태스크 또는 비주기적인 태스크의 특성을 고려하여 멀티 코어 프로세서의 태스크를 효율적으로 스케쥴링하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치 및 방법, 성능 향상을 위해 주기적인 태스크 또는 비주기적인 태스크의 특성을 고려하여 캐쉬 메모리를 재구성하는 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치 및 방법을 제시한다. 제시된 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치는 비주기적 태스크의 전체 개수를 파악하는 태스크 개수 파악부, 비주기적 태스크의 전체 개수가 임계값 이하인지를 비교하는 비교부, 및 비교부의 비교결과에 따라 주기적 태스크를 담당하는 코어 및 비주기적 태스크를 담당하는 코어의 개수를 조정하는 코어 조정부를 포함한다. 성능 요구(performance requirement) 조건에 영향을 주지 않는 범위내에서 주기적 태스크를 할당받은 두 개 또는 그 이상의 코어의 전압과 클럭 주파수를 낮출 수 있게 되어 에너지/전력의 소모를 획기적으로 줄일 수 있다.

Description

임베디드 멀티 코어 프로세서의 태스크 스케쥴링 및 캐쉬 메모리 리사이징 장치 및 방법{Apparatus and method for scheduling task and resizing cache memory of embedded multicore processor}
본 발명은 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 및 캐쉬 메모리 리사이징 장치 및 방법에 관한 것으로, 보다 상세하게는 멀티 코어가 사용되는 임베디드 마이크로 프로세서에서 태스크를 스케쥴링하고 캐쉬 메모리를 리사이징하는 장치 및 방법에 관한 것이다.
마이크로 프로세서 설계시 중요하게 여겨지는 것들이 여러 가지가 있다. 특히, 에너지/전력 소모, 및 성능은 서로 상충되는 관계이다. 즉, 마이크로 프로세서의 성능 향상은 에너지/전력 소모의 증가라는 부정적인 결과를 초래한다. 마이크로 프로세서에서 소모되는 전력은 클럭 속도에 비례하여 증가하기 때문이다. 이와 같은 이유로 인해 마이크로 프로세서의 설계시 에너지/전력 소모는 성능과 함께 중요한 고려 요소가 되고 있다.
특히, 디지털 정보화 기기에 내장되는 임베디드 프로세서(Embedded Processor)의 설계시 에너지/전력 소모가 상당히 중요한 요소이다. 왜냐하면, 보통 임베디드 프로세서는 모바일 기기 즉, 배터리로 동작하는 기기에 들어가는 경우가 많기 때문이다. 그리고, 성능 또한 중요하다. 에너지/전력 소모를 낮추기 위해 DVFS(Dynamic Voltage and Frequency Scaling)를 통해 전압과 클럭 주파수를 무한정 낮출 수 있지만, 그리하면 성능에 악영향을 미친다. 성능에 악영향을 주게 되면 주어진 태스크를 처리하기 힘들게 된다.
도 1은 종래의 로드 언밸런싱 태스크 스케쥴링 방법(참조 문헌; Hyeran Jeon, Woo Hyong Lee, and Sung Woo Chung, "Load Unbalancing Strategy for Multi-Core Embedded Processors", IEEE Transactions on Computers, vol. 59, no. 10)을 설명하기 위한 도면이다.
멀티 코어 프로세서(20)는 대략 4개 정도의 가용할 수 있는 코어(core)(제 1코어(10), 제 2코어(12), 제 3코어(14), 제 4코어(16))를 갖춘다. 제 1코어(10)에는 주기적인 태스크(periodic task)들이 할당된다. 나머지 세 개의 코어(제 2코어(12), 제 3코어(14), 제 4코어(16))에는 비주기적인 태스크(aperiodic task)들이 할당된다.
통상적으로, 주기적인 태스크는 일정 시간 간격을 두고 주기적으로 실행되는 태스크이다. 주기적인 태스크는 QoS(Quality of Service)를 만족시키는 것을 중요하게 여긴다. 비주기적인 태스크는 사용자의 요청이 있을 때마다 실행되는 태스크이다. 비주기적인 태스크는 사용자 요청시 얼마나 빨리 반응하느냐를 중요하게 여긴다.
도 1과 같은 로드 언밸런싱 태스크 스케쥴링 방법에 의하면 에너지 소모를 줄일 수 있다.
그러나, 도 1은 주기적인 태스크 및 비주기적인 태스크의 특성과 무관하게 일방적으로 제 1코어(10)에 주기적인 태스크들을 모아둔다. 이와 같이 하면, 많은 주기적인 태스크들이 하나의 코어(즉, 제 1코어(10))에만 몰려 있어서 전압 및 주파수를 낮출 수 있는 한계가 줄어든다.
본 발명은 상기한 종래의 문제점들을 해결하기 위해 제안된 것으로, 에너지/전력 소모를 줄이기 위해 주기적인 태스크 또는 비주기적인 태스크의 특성을 고려하여 멀티 코어 프로세서의 태스크를 효율적으로 스케쥴링하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치 및 방법을 제공함에 그 목적이 있다.
본 발명의 다른 목적은 성능 향상을 위해 주기적인 태스크 또는 비주기적인 태스크의 특성을 고려하여 캐쉬 메모리를 재구성하는 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치 및 방법을 제공함에 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치는, 비주기적 태스크의 전체 개수를 파악하는 태스크 개수 파악부; 비주기적 태스크의 전체 개수가 임계값 이하인지를 비교하는 비교부; 및 비교부의 비교결과에 따라 주기적 태스크를 담당하는 코어 및 비주기적 태스크를 담당하는 코어의 개수를 조정하는 코어 조정부;를 포함한다.
비교부는, 비주기적 태스크의 전체 개수가 임계값 이하로 유지되는 시간을 계수하는 타이머를 추가로 포함한다.
코어 조정부는, 비주기적 태스크의 전체 개수가 임계값 이하로 소정 시간 유지되면 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시켜 주기적 태스크를 담당하는 코어의 개수를 하나 증가시킨다.
코어 조정부는, 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시킬 때 바로 이전의 비주기적 태스크를 담당하는 코어의 개수에서 하나 감소시킨다.
코어 조정부는, 조정된 각각의 코어에 그에 상응하는 주기적 태스크 또는 비주기적 태스크를 재할당한다.
본 발명의 바람직한 실시양태에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 방법은, 태스크 개수 파악부가, 비주기적 태스크의 전체 개수를 파악하는 단계; 비교부가, 비주기적 태스크의 전체 개수가 임계값 이하인지를 비교하는 단계; 및 코어 조정부가, 비교결과에 따라 주기적 태스크를 담당하는 코어 및 비주기적 태스크를 담당하는 코어의 개수를 조정하는 단계;를 포함한다.
비교 단계는, 비주기적 태스크의 전체 개수가 임계값 이하로 유지되는 시간을 계수하는 단계를 추가로 포함한다.
코어 조정 단계는, 비주기적 태스크의 전체 개수가 임계값 이하로 소정 시간 유지되면 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시켜 주기적 태스크를 담당하는 코어의 개수를 하나 증가시킨다.
코어 조정 단계는, 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시킬 때 바로 이전의 비주기적 태스크를 담당하는 코어의 개수에서 하나 감소시킨다.
코어 조정 단계는, 조정된 각각의 코어에 그에 상응하는 주기적 태스크 또는 비주기적 태스크를 재할당한다.
본 발명의 바람직한 실시양태에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치는, 주기적 태스크를 담당하는 코어의 캐쉬 미스율을 체크하는 캐쉬 미스율 체크부; 캐쉬 미스율이 임계치 이상이 되는지를 판단하는 판단부; 및 판단부의 판단결과에 따라 코어가 사용가능한 레벨2 캐쉬 메모리의 용량을 조정하는 캐쉬 메모리 용량 조정부;를 포함한다.
캐쉬 미스율 체크부는 정해진 시간 주기로 코어의 캐쉬 미스율을 체크한다.
캐쉬 메모리 용량 조정부는 하기의 식에 따라 레벨2 캐쉬 메모리의 용량을 조정한다.
주기적 태스크를 담당하는 코어가 할당받는 레벨2 캐쉬 메모리의 용량 =
(고정적으로 할당할 전체 레벨2 캐쉬 메모리의 용량×c/(c+d))/a
(여기서, a는 주기적 태스크를 담당하는 코어의 개수이고, c는 주기적 태스크의 워킹 세트 크기의 합이고, d는 비주기적 태스크의 워킹 세트 크기의 합이다.)
본 발명의 바람직한 실시양태에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 방법은, 캐쉬 미스율 체크부가, 주기적 태스크를 담당하는 코어의 캐쉬 미스율을 체크하는 단계; 판단부가, 캐쉬 미스율이 임계치 이상이 되는지를 판단하는 단계; 및 캐쉬 메모리 용량 조정부가, 판단결과에 따라 코어가 사용가능한 레벨2 캐쉬 메모리의 용량을 조정하는 단계;를 포함한다.
캐쉬 미스율 체크 단계는 정해진 시간 주기로 코어의 캐쉬 미스율을 체크한다.
캐쉬 메모리 용량 조정 단계는 하기의 식에 따라 레벨2 캐쉬 메모리의 용량을 조정한다.
주기적 태스크를 담당하는 코어가 할당받는 레벨2 캐쉬 메모리의 용량 =
(고정적으로 할당할 전체 레벨2 캐쉬 메모리의 용량×c/(c+d))/a
(여기서, a는 주기적 태스크를 담당하는 코어의 개수이고, c는 주기적 태스크의 워킹 세트 크기의 합이고, d는 비주기적 태스크의 워킹 세트 크기의 합이다.)
이러한 구성의 본 발명에 따르면, 임베디드 멀티 코어 프로세서상에서 에너지/전력 소모를 줄이고 성능을 향상시킬 수 있다.
즉, 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치 및 방법은 주기적 태스크를 복수개의 코어에 분산시킨다. 그에 따라, 성능 요구(performance requirement) 조건에 영향을 주지 않는 범위내에서 주기적 태스크를 할당받은 두 개 또는 그 이상의 코어의 전압과 클럭 주파수를 낮출 수 있게 되어 에너지/전력의 소모를 획기적으로 줄일 수 있다.
한편, 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치 및 방법은 주기적 태스크들이 하나의 코어에 몰림으로써 발생할 수 있는 캐쉬 미스율의 영향을 최소화함으로써 성능을 향상시킨다.
도 1은 종래의 로드 언밸런싱 태스크 스케쥴링 방법을 설명하는 도면이다.
도 2는 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치의 구성을 설명하는 블럭도이다.
도 3은 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치에 의한 태스크 스케쥴링 결과의 일 예이다.
도 4는 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치의 동작을 설명하는 플로우차트이다.
도 5는 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치의 구성을 설명하는 블럭도이다.
도 6은 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치에 의한 리사이징 결과의 일 예이다.
도 7은 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치의 동작을 설명하는 플로우차트이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 및 캐쉬 메모리 리사이징 장치 및 방법에 대하여 설명하면 다음과 같다. 본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니된다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
먼저, 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치 및 방법에 대해 설명한다.
도 2는 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치의 구성을 설명하는 블럭도이고, 도 3은 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치에 의한 태스크 스케쥴링 결과의 일 예이다.
본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치(30)는 복수개의 코어(제 1코어(10), 제 2코어(12), 제 3코어(14), 제 4코어(16))를 구비한 멀티 코어 프로세서(20)와 연결된다.
주로 제 1코어(10)에는 주기적 태스크가 할당되고 제 2 내지 제 4코어(12, 14, 16)에는 비주기적 태스크가 할당되겠으나, 비주기적 태스크의 개수가 적을 경우에는 본 발명의 실시예에 따른 태스크 스케쥴링 장치(30)에 의해 주기적 태스크를 할당받을 코어의 수가 증가된다.
본 발명 실시예의 태스크 스케쥴링 장치(30)는 태스크 개수 파악부(32), 비교부(34), 및 코어 조정부(36)를 포함한다.
태스크 개수 파악부(32)는 코어(제 1코어(10), 제 2코어(12), 제 3코어(14), 제 4코어(16))에 할당되어 있는 태스크중에서 비주기적 태스크의 전체 개수를 파악한다. 물론, 태스크 개수 파악부(32)는 이미 어느 코어에 비주기적 태스크가 할당되어 있는지를 알고 있기 때문에 모든 코어를 확인하지 않고서도 쉽게 파악할 수 있다.
비교부(34)는 태스크 개수 파악부(32)에서 파악된 비주기적 태스크의 전체 개수가 임계값 이하인지를 비교한다. 바람직하게, 비교부(34)는 비주기적 태스크의 전체 개수가 임계값 이하로 유지되는 시간을 계수하는 타이머(도시 생략)를 포함한다. 이는 비주기적 태스크의 개수가 일정 임계값 이하로 일정 시간(예컨대, 1분, 2분, 3분 등의 시간) 이상 유지될 경우에 비주기적 태스크를 담당하는 코어의 개수를 한 개씩 감소시키기 위함이다. 다시 말해서, 시간 계수가 없다면 비주기적 태스크의 전체 개수가 임계값 이하로 되는 순간마다 비주기적 태스크를 담당하는 코어의 개수를 한 개씩 감소시키는 동작이 행해진다. 이 경우, 불필요하게 너무 빈번한 변화가 발생되어 프로세서의 성능에 문제를 야기시킬 수 있다.
코어 조정부(36)는 비교부(34)의 비교결과에 따라 주기적 태스크를 담당하는 코어 및 비주기적 태스크를 담당하는 코어의 개수를 조정한다. 즉, 코어 조정부(36)는 비주기적 태스크의 전체 개수가 임계값 이하로 소정 시간 유지되면 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시켜 주기적 태스크를 담당하는 코어의 개수를 하나 증가시킨다. 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시킬 때, 코어 조정부(36)는 바로 이전의 비주기적 태스크를 담당하는 코어의 개수에서 하나 감소시킨다. 다시 말해서, 바로 이전에 비주기적 태스크를 담당하는 코어의 개수가 3개였다면 코어 조정부(36)는 그 코어의 개수를 2개로 감소시킨다.
그에 따라, 코어 조정부(36)는 조정된 각각의 코어에 그에 상응하는 주기적 태스크 또는 비주기적 태스크를 재할당한다. 이에 의해, 도 3에서와 같이 주기적 태스크를 담당하는 코어가 복수개로 된다.
이어, 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치의 동작에 대해 도 4의 플로우차트를 참조하여 설명한다.
먼저, 멀티 코어 프로세서(임베디드 프로세서)(20) 안에 네 개의 코어(10, 12, 14, 16)가 있고, 주기적 태스크(periodic task)가 제 1 코어(10)에 몰려 있고, 비주기적 태스크(aperiodic task)는 제 2 내지 제 4코어(12, 14, 16)에 분산되어 있다고 가정한다.
태스크 개수 파악부(32)는 제 2 내지 제 4코어(12, 14, 16)에 분산되어 있는 비주기적 태스크의 전체 개수를 파악한 후 그 결과를 비교부(34)에게로 전송한다(S10).
비교부(34)는 입력받은 비주기적 태스크의 전체 개수와 미리 설정되어 있는 일정 임계값을 비교한다. 이 때, 비교부(34)는 비주기적 태스크의 개수가 일정 임계값 이하로 일정 시간(예컨대, 1분, 2분, 3분 등의 시간) 이상 유지되는지를 비교한다(S12). 비교부(34)는 비교결과 신호를 코어 조정부(36)에게로 전송한다.
만약, 비주기적 태스크의 전체 개수가 임계값 이하로 일정 시간 이상 유지되지 않으면(S14에서 "No") 코어 조정부(36)는 코어에 대한 조정없이 제 1 내지 제 4코어(10, 12, 14, 16)에 할당되어 있는 태스크들을 이전과 동일하게 유지시킨다.
반대로, 비주기적 태스크의 전체 개수가 임계값 이하로 일정 시간 이상 유지된다면(S14에서 "Yes") 코어 조정부(36)는 비주기적 태스크를 담당하는 코어의 개수를 한 개씩 감소시킨다. 이와 같이 하면 주기적 태스크를 담당하는 코어의 개수는 이전과 비교하여 상대적으로 늘어나게 된다(S16). 예를 들어, 코어 조정부(36)는 비주기적 태스크를 담당하는 코어를 제 3코어(14) 및 제 4코어(16)로 하고, 주기적 태스크를 담당하는 코어를 제 1코어(10) 및 제 2코어(12)로 조정한다.
이후, 코어 조정부(36)는 이전에 제 1코어(10)에만 모여 있었던 주기적 태스크를 제 1코어(10) 및 제 2코어(12)에게로 분할하여 할당한다. 그리고, 코어 조정부(36)는 이전에 제 2 내지 제 4코어(12, 14, 16)에 분할되어 있던 비주기적 태스크들을 제 3코어(14) 및 제 4코어(16)에게로 재할당한다(S18).
이와 같은 태스크 스케쥴링은 비주기적 태스크의 전체 개수의 파악과 함께 반복적으로 행해진다.
한편, 비교부(34)에서의 임계값은 복수개로 설정될 수도 있다. 예를 들어, 제 1임계값, 제 2임계값(즉, 제 1임계값보다 적은 값임)과 같이 복수개로 설정할 수도 있다. 이와 같이 임계값을 복수개로 하게 되면 비주기적 태스크의 전체 개수는 우선 제 1임계값과 비교되어 일정 시간 이상 제 1임계값 이하를 유지하면 재차 제 2임계값과 비교된다. 이와 같이 임계값을 복수개로 하면 필요에 따라서는 비주기적 태스크를 담당하는 코어의 개수를 조정하는 시간을 줄일 수 있다. 즉, 비주기적 태스크의 전체개수가 제 2임계값 이하로 일정 시간 이상 유지될 경우에는 비주기적 태스크를 담당하는 코어의 개수를 2개 줄인다.
상술한 바와 같은 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치는 주기적 태스크를 하나의 코어에 집중시키는 것보다 복수개의 코어에 분산시킨다. 이에 의해, 성능 요구(performance requirement) 조건에 영향을 주지 않는 범위내에서 주기적 태스크를 할당받은 두 개 또는 그 이상의 코어의 전압과 클럭 주파수를 낮출 수 있게 된다. 이 경우, 에너지/전력의 소모를 줄일 수 있다.
성능 요구 조건을 만족시키면서 클럭 주파수와 전압을 조절하는 방법을 정량적으로 정의하면 다음과 같다.
n개의 주기적 태스크와 m개의 비주기적 태스크가 있다고 가정한다. 기본적으로 설정되어 있는 코어들의 클럭 주파수는 a GHz, 공급 전압은 b V로 가정한다.
주기적 태스크를 담당하는 코어의 개수는 c개, 비주기적 태스크를 담당하는 코어의 개수는 d개이다. 따라서, 전체 코어의 개수는 c+d개이다. 기본적으로 설정된 클럭 주파수 및 공급 전압은 기본적으로 시스템의 성능 요구조건을 해치지 않는 상태라고 가정한다.
이와 같은 가정하에, d개의 코어에 분산되었던 비주기적 태스크들의 개수가 일정 임계값 이하(시스템 사용자가 정할 수 있음)로 일정시간 이상 유지되면 비주기적 태스크를 담당하는 코어의 개수를 한 개씩 줄인다. 이렇게 될 경우 주기적 태스크들을 담당하는 코어의 개수는 상대적으로 늘어나게 된다. 이와 같이 주기적 태스크들을 담당하는 코어의 개수가 늘어나게 되면 주기적 태스크들을 담당하는 각각의 코어에서 담당하게 될 주기적 태스크들의 개수는 n/c개가 된다.
이와 같이, 주기적 태스크를 담당하는 각각의 코어에서는 주기적 태스크들의 개수가 줄어들었으므로, 이에 비례하여 해당 코어(즉, 주기적 태스크를 담당하는 각각의 코어)의 클럭 주파수와 공급 전압을 각각 a/c, b/c로 낮출 수 있다.
이 때, 얻을 수 있는 전력 소모량의 이득은, 종래의 로드 언밸런싱 태스크 스케쥴링 방식일 때에는 "a×b2×(c+d)"이고, 본 발명에서 제안하는 방식을 사용할 경우에는 "c×(a/c×b2/c2)+d×a×b2"이다.
따라서, 본 발명의 실시예의 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치 및 방법에 의해 얻을 수 있는 전력 소모량의 이득은 "c×(a/c×b2/c2) - a×b2×c"이다. 위의 식은 전력 소모량(P)이 공급 전압(V)의 제곱과 클럭 주파수(f)에 비례한다(즉, P ∝V2f)는 점을 이용하였다.
결국, 상술한 본 발명의 실시예의 임베디드 태스크 스케쥴링 장치 및 방법에 의하면, 주기적 태스크의 성능에 영향을 주지 않으면서 동시에 에너지/전력 소모를 줄이는 효과를 얻게 된다.
이번에는, 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치 및 방법에 대해 설명한다.
도 5는 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치의 구성을 설명하는 블럭도이고, 도 6은 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치에 의한 리사이징 결과의 일 예이다.
본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치(40)는 복수개의 코어(제 1코어(10), 제 2코어(12), 제 3코어(14), 제 4코어(16))를 구비한 멀티 코어 프로세서(20)와 연결된다. 통상적으로, 메모리의 용량은 작지만 고속으로 동작할 수 있는 캐쉬인 레벨1(L1) 캐쉬 메모리가 각각의 코어(10, 12, 14, 16)에 내장된다. 레벨1 캐쉬 메모리(10a, 12a, 14a, 16a)와 외부 메모리 사이에서 프로세서(20)와는 다소 거리를 두고 떨어져 배치되어 있으나 대용량의 캐쉬인 레벨2(L2) 캐쉬 메모리는 복수의 코어(10, 12, 14, 16)가 공유하는 계층적 구조로 되어 있다.
비주기적 태스크의 개수가 많아서 주기적 태스크들을 위한 코어의 여유가 없는 경우 또는 주기적 태스크의 개수가 많아서 전압 및 클럭 주파수를 낮추기 힘들 경우에는 본 발명의 실시예에 따른 캐쉬 메모리 리사이징 장치(40)에 의해 캐쉬 메모리에 대한 리사이징을 실시한다.
본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치(40)는 캐쉬 미스율 체크부(42), 판단부(44), 및 캐쉬 메모리 용량 조정부(46)를 포함한다.
캐쉬 미스율 체크부(42)는 주기적 태스크를 담당하는 코어(예컨대, 10)의 캐쉬 미스율을 체크한다. 바람직하게, 캐쉬 미스율 체크부(42)는 정해진 시간(예컨대, 10분, 20분 정도) 주기로 주기적 태스크를 담당하는 코어(예컨대, 10)의 캐쉬 미스율을 체크한다. 매초 또는 매분마다 레벨2 캐쉬 메모리에 대한 리사이징을 실시하는 것은 비효율적이기 때문이다.
제 1코어(10)에 많은 수의 주기적 태스크가 몰리게 되면 제 1코어(10)의 레벨1 캐쉬 메모리(10a)에서는 캐쉬 미스(cache miss)가 빈번하게 발생하게 된다. 따라서, 캐쉬 미스율 체크부(42)는 이와 같이 주기적 태스크를 담당하는 제 1코어(10)에서 빈번하게 발생되는 캐쉬 미스의 비율을 체크한다.
판단부(44)는 캐쉬 미스율 체크부(40)에서 체크된 캐쉬 미스율이 임계치 이상이 되는지를 판단한다. 판단부(44)는 그 결과를 캐쉬 메모리 용량 조정부(46)에게로 전송한다.
캐쉬 메모리 용량 조정부(46)는 판단부(44)의 판단결과에 따라 해당 코어(즉, 주기적 태스크를 담당하는 코어)가 사용가능한 레벨2 캐쉬 메모리(52)의 용량을 조정한다.
그에 따라, 캐쉬 메모리 용량 조정부(46)는 도 6에서와 같이 레벨2 캐쉬 메모리(50)에서 주기적 태스크를 담당하는 코어(10)의 레벨2 캐쉬 메모리(52)의 용량을 다른 코어용 레벨2 캐쉬 메모리(54, 56, 58)의 용량에 비해 더 크게 한다.
이와 같이 하게 되면 예를 들어, 레벨1 캐쉬 메모리(10a)에서 미스처리된 데이터는 용량이 증가된 레벨2 캐쉬 메모리(52)에서 처리할 수 있게 된다. 제 1 내지 제 4코어(10, 12, 14, 16)에 공유되되 용량이 고정된 기존의 레벨2 캐쉬 메모리 구조와 비교하여 볼 때, 본 발명의 실시예의 캐쉬 메모리 리사이징 장치에 의하면 레벨2 캐쉬 메모리에서의 미스율을 최소화하여 성능저하를 줄이게 된다. 다시 말해서, 본 발명의 실시예의 캐쉬 메모리 리사이징 장치에 의하면 용량이 증가된 레벨2 캐쉬 메모리(52)가 레벨1 캐쉬 메모리(10a)에서 미스처리된 데이터를 대신 처리해 줄 수 있으므로, 시스템 전체적인 측면에서 보면 기존에 비해 성능저하를 줄이게 된다.
이어, 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치의 동작에 대해 도 7의 플로우차트를 참조하여 설명한다.
일단, 도 6에서와 같이 메모리의 용량은 작지만 고속으로 동작할 수 있는 캐쉬인 레벨1 캐쉬 메모리가 각각의 코어(10, 12, 14, 16)에 내장되는 것으로 가정한다. 도 6에서와 같이 레벨1 캐쉬 메모리(10a, 12a, 14a, 16a)와 외부 메모리 사이에서 프로세서(20)와는 다소 거리를 두고 떨어져 배치되어 있으나 대용량의 캐쉬인 레벨2 캐쉬 메모리는 복수의 코어(10, 12, 14, 16)가 공유하는 계층적 구조로 되어 있는 것으로 가정한다. 또한, 주기적 태스크들이 제 1코어(10)에만 할당되고, 비주기적 태스크들이 제 2 내지 제 4코어(12, 14, 16)에 분산되어 할당된 것으로 가정한다.
캐쉬 미스율 체크부(42)가 주기적 태스크를 담당하고 있는 제 1코어(10)의 레벨1 캐쉬 메모리(10a)에서의 캐쉬 미스율을 정해진 시간 주기로 체크한다(S20).
체크된 캐쉬 미스율은 판단부(44)에게로 전송되고, 판단부(44)는 입력된 캐쉬 미스율이 임계치 이상이 되는지를 판단한다(S22).
판단 결과, 체크된 캐쉬 미스율이 기준 캐쉬 미스율 미만이라면(S22에서 "No") 캐쉬 메모리 용량 조정부(46)는 레벨2 캐쉬 메모리(50)의 리사이징이 필요없는 것으로 판단하여 이전 상태를 유지한다.
반대로, 체크된 캐쉬 미스율이 기준 캐쉬 미스율 이상이면(S22에서 "Yes") 캐쉬 메모리 용량 조정부(46)는 레벨2 캐쉬 메모리(50)를 재구성한다(S24). 즉, 도 6에서와 같이 레벨2 캐쉬 메모리(50)에서 주기적 태스크를 담당하는 코어(10)의 레벨2 캐쉬 메모리(52)의 용량을 다른 코어용 레벨2 캐쉬 메모리(54, 56, 58)의 용량에 비해 더 크게 한다.
상술한 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치는 태스크가 많이 몰리는 제 1 코어(10)의 레벨2 캐쉬 메모리(52)의 용량을 다른 레벨2 캐쉬 메모리(54, 56, 58)의 용량에 비해 크도록 할당하여 레벨2 캐쉬 메모리(52)에서의 미스율을 최소화하여 성능저하를 줄인다.
비주기적 태스크는 주기적으로 실행되는 것이 아니라 한번 실행되고 마는 태스크들이어서 캐쉬 메모리에 데이터를 유지해야할 필요성이 적다.
그에 따라, 상술한 본 발명의 실시예에 따른 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치에서는 비주기적 태스크들을 담당하는 코어가 가용할 수 있는 L2 캐쉬의 용량을 최소로 유지하였다. 이에 의해, 비주기적 태스크들을 담당하는 코어들이 레벨 2 캐쉬를 오염시키는 것을 최소화할 수 있다.
이와 같이 하면 용량이 증가된 제 1코어용 레벨2 캐쉬 메모리(52)가 레벨1 캐쉬 메모리(10a)에서 미스처리된 데이터를 대신 처리해 줄 수 있으므로, 시스템 전체적인 측면에서 보면 기존에 비해 성능저하를 줄이게 된다.
여기서, 레벨2 캐쉬 메모리(50)의 용량을 정량적으로 정하기 위해서 다음과 같은 방법을 사용한다.
주기적 태스크들의 워킹 세트(working set)의 크기를 운영체제에서 미리 알고 있다고 가정한다. 또한, 주기적 태스크들을 담당하는 코어의 개수를 "a"라고 가정하고, 비주기적 태스크들을 담당하는 코어의 개수를 "b"라고 가정한다. 주기적 태스크들의 워킹 세트의 합을 "c"라고 가정하고, 비주기적 태스크들의 워킹 세트 크기의 합을 "d"라고 가정한다.
상술한 본 발명의 실시예에 따른 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치의 동작에 의하면, 주기적 태스크들을 담당하는 코어 한 개가 고정적으로 할당받는 레벨2 캐쉬 메모리의 용량은 "(고정적으로 할당할 전체 레벨2 캐쉬 메모리의 용량×c/(c+d))/a"으로 된다. 한편, 비주기적 태스크들을 담당하는 코어 한 개가 고정적으로 할당받는 레벨2 캐쉬 메모리의 용량은 "(고정적으로 할당할 전체 L2 캐쉬 메모리의 용량×d/(c+d))/b"로 된다. 이와 같은 레벨2 캐쉬 메모리의 용량 조정은 캐쉬 메모리 용량 조정부(46)에서 행해진다.
통상적으로, 레벨2 캐쉬 메모리는 본래 모든 영역이 공유되는 것이 일반적이지만, 상술한 본 발명의 실시예를 적용하게 되면 레벨2 캐쉬 메모리가 공유되는 것이 아니라 각 코어별로 고정된 크기를 사용하도록 할당된다. 즉, 도 6에서와 같이 공유되는 영역이 없어지게 된다.
그러나, 공유되는 영역이 없을 경우, 레벨2 캐쉬 메모리가 가지는 장점이 없어지게 되므로, 설계에 유연성을 가미하여 공유되는 영역을 일정량 남겨 놓고 나머지 부분을 코어별로 할당되게 할 수도 있다. 다시 말해서, 도 6에서와 같이 공유되는 영역이 없을 수도 있고, 모든 부분이 공유될 수도 있다.
상술한 바와 같은 본 발명의 실시예에 따른 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치는 비주기적 태스크가 많아서 주기적 태스크들을 위한 코어의 여유가 없는 경우 또는 주기적 태스크의 개수가 많아서 전압 및 클럭 주파수를 낮추기 힘든 경우에 적용함이 바람직하다. 그와 같은 경우에는 주기적 태스크들을 담당하는 코어에 레벨2 캐쉬 메모리의 용량을 보다 많이 할당해서 레벨2 캐쉬 메모리에서의 미스율(miss rate)을 최소화하여 성능저하를 줄인다.
한편, 본 발명은 상술한 실시예로만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위내에서 수정 및 변형하여 실시할 수 있고, 그러한 수정 및 변형이 가해진 기술사상 역시 이하의 특허청구범위에 속하는 것으로 보아야 한다.
30 : 태스크 스케쥴링 장치 32 : 태스크 개수 파악부
34 : 비교부 36 : 코어 조정부
40 : 캐쉬 메모리 리사이징 장치 42 : 캐쉬 미스율 체크부
44 : 판단부 46 : 캐쉬 메모리 용량 조정부

Claims (16)

  1. 비주기적 태스크의 전체 개수를 파악하는 태스크 개수 파악부;
    상기 비주기적 태스크의 전체 개수가 임계값 이하인지를 비교하는 비교부; 및
    상기 비교부의 비교결과에 따라 주기적 태스크를 담당하는 코어 및 상기 비주기적 태스크를 담당하는 코어의 개수를 조정하는 코어 조정부;를 포함하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치.
  2. 청구항 1에 있어서,
    상기 비교부는, 상기 비주기적 태스크의 전체 개수가 상기 임계값 이하로 유지되는 시간을 계수하는 타이머를 추가로 포함하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치.
  3. 청구항 2에 있어서,
    상기 코어 조정부는, 상기 비주기적 태스크의 전체 개수가 상기 임계값 이하로 소정 시간 유지되면 상기 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시켜 상기 주기적 태스크를 담당하는 코어의 개수를 하나 증가시키는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치.
  4. 삭제
  5. 청구항 1에 있어서,
    상기 코어 조정부는, 상기 조정된 각각의 코어에 그에 상응하는 주기적 태스크 또는 비주기적 태스크를 재할당하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치.
  6. 비주기적 태스크의 전체 개수를 파악하는 단계;
    상기 비주기적 태스크의 전체 개수가 임계값 이하인지를 비교하는 단계; 및
    상기 비교의 결과에 따라 주기적 태스크를 담당하는 코어 및 상기 비주기적 태스크를 담당하는 코어의 개수를 조정하는 단계;를 포함하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 방법.
  7. 청구항 6에 있어서,
    상기 비교 단계는, 상기 비주기적 태스크의 전체 개수가 상기 임계값 이하로 유지되는 시간을 계수하는 단계를 추가로 포함하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 방법.
  8. 청구항 7에 있어서,
    상기 코어 조정 단계는, 상기 비주기적 태스크의 전체 개수가 상기 임계값 이하로 소정 시간 유지되면 상기 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시켜 상기 주기적 태스크를 담당하는 코어의 개수를 하나 증가시키는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 방법.
  9. 청구항 8에 있어서,
    상기 코어 조정 단계는, 상기 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시킬 때 바로 이전의 상기 비주기적 태스크를 담당하는 코어의 개수에서 하나 감소시키는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 방법.
  10. 청구항 6에 있어서,
    상기 코어 조정 단계는, 상기 조정된 각각의 코어에 그에 상응하는 주기적 태스크 또는 비주기적 태스크를 재할당하는 단계를 포함하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 방법.
  11. 주기적 태스크를 담당하는 코어의 캐쉬 미스율을 체크하는 캐쉬 미스율 체크부;
    상기 캐쉬 미스율이 임계치 이상이 되는지를 판단하는 판단부; 및
    상기 판단부의 판단결과에 따라 상기 코어가 사용가능한 레벨2 캐쉬 메모리의 용량을 조정하는 캐쉬 메모리 용량 조정부;를 포함하며,
    상기 캐쉬 메모리 용량 조정부는 하기의 식에 따라 상기 레벨2 캐쉬 메모리의 용량을 조정하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치.
    주기적 태스크를 담당하는 코어가 할당받는 레벨2 캐쉬 메모리의 용량 =
    (고정적으로 할당할 전체 레벨2 캐쉬 메모리의 용량×c/(c+d))/a
    (여기서, a는 주기적 태스크를 담당하는 코어의 개수이고, c는 주기적 태스크의 워킹 세트 크기의 합이고, d는 비주기적 태스크의 워킹 세트 크기의 합이다.)
  12. 청구항 11에 있어서,
    상기 캐쉬 미스율 체크부는 정해진 시간 주기로 상기 코어의 캐쉬 미스율을 체크하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치.
  13. 삭제
  14. 주기적 태스크를 담당하는 코어의 캐쉬 미스율을 체크하는 단계;
    상기 캐쉬 미스율이 임계치 이상이 되는지를 판단하는 단계; 및
    상기 판단의 결과에 따라 상기 코어가 사용가능한 레벨2 캐쉬 메모리의 용량을 조정하는 단계;를 포함하며,
    상기 캐쉬 메모리 용량 조정 단계는 하기의 식에 따라 상기 레벨2 캐쉬 메모리의 용량을 조정하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 방법.
    주기적 태스크를 담당하는 코어가 할당받는 레벨2 캐쉬 메모리의 용량 =
    (고정적으로 할당할 전체 레벨2 캐쉬 메모리의 용량×c/(c+d))/a
    (여기서, a는 주기적 태스크를 담당하는 코어의 개수이고, c는 주기적 태스크의 워킹 세트 크기의 합이고, d는 비주기적 태스크의 워킹 세트 크기의 합이다.)
  15. 청구항 14에 있어서,
    상기 캐쉬 미스율 체크 단계는 정해진 시간 주기로 상기 코어의 캐쉬 미스율을 체크하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 방법.
  16. 삭제
KR1020110010651A 2011-02-07 2011-02-07 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 및 캐쉬 메모리 리사이징 장치 및 방법 KR101232561B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110010651A KR101232561B1 (ko) 2011-02-07 2011-02-07 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 및 캐쉬 메모리 리사이징 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110010651A KR101232561B1 (ko) 2011-02-07 2011-02-07 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 및 캐쉬 메모리 리사이징 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120090298A KR20120090298A (ko) 2012-08-17
KR101232561B1 true KR101232561B1 (ko) 2013-02-12

Family

ID=46883398

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110010651A KR101232561B1 (ko) 2011-02-07 2011-02-07 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 및 캐쉬 메모리 리사이징 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101232561B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817759B2 (en) 2013-12-10 2017-11-14 Samsung Electronics Co., Ltd. Multi-core CPU system for adjusting L2 cache character, method thereof, and devices having the same
CN109347930A (zh) * 2018-09-27 2019-02-15 视联动力信息技术股份有限公司 一种任务处理方法和装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102005765B1 (ko) 2012-12-17 2019-07-31 삼성전자주식회사 시스템-온 칩과, 이의 동작 방법
WO2015163506A1 (ko) * 2014-04-25 2015-10-29 전자부품연구원 그래픽 처리 장치의 동작을 위한 작업 할당 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155713A (ja) * 1998-11-24 2000-06-06 Sony Corp キャッシュサイズ制御装置
JP2002544621A (ja) * 1999-05-14 2002-12-24 ハネウェル・インコーポレーテッド タスクスケジューリングおよびメッセージ受け渡し
KR20080024681A (ko) * 2006-09-14 2008-03-19 한국전자통신연구원 분산처리시스템에서의 태스크 할당방법 및 시스템
KR20100026989A (ko) * 2008-08-28 2010-03-10 한림대학교 산학협력단 에너지 절약형 멀티 코어 프로세서

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155713A (ja) * 1998-11-24 2000-06-06 Sony Corp キャッシュサイズ制御装置
JP2002544621A (ja) * 1999-05-14 2002-12-24 ハネウェル・インコーポレーテッド タスクスケジューリングおよびメッセージ受け渡し
KR20080024681A (ko) * 2006-09-14 2008-03-19 한국전자통신연구원 분산처리시스템에서의 태스크 할당방법 및 시스템
KR20100026989A (ko) * 2008-08-28 2010-03-10 한림대학교 산학협력단 에너지 절약형 멀티 코어 프로세서

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817759B2 (en) 2013-12-10 2017-11-14 Samsung Electronics Co., Ltd. Multi-core CPU system for adjusting L2 cache character, method thereof, and devices having the same
CN109347930A (zh) * 2018-09-27 2019-02-15 视联动力信息技术股份有限公司 一种任务处理方法和装置
CN109347930B (zh) * 2018-09-27 2021-04-27 视联动力信息技术股份有限公司 一种任务处理方法和装置

Also Published As

Publication number Publication date
KR20120090298A (ko) 2012-08-17

Similar Documents

Publication Publication Date Title
US9292068B2 (en) Controlling a turbo mode frequency of a processor
US9715415B2 (en) Method of scheduling threads for execution on multiple processors within an information handling system
US10509677B2 (en) Granular quality of service for computing resources
US8307370B2 (en) Apparatus and method for balancing load in multi-core processor system
US9208113B2 (en) Deferred inter-processor interrupts
CN109074331B (zh) 具有系统高速缓存和本地资源管理的功率降低存储器子系统
JP2017527025A (ja) マルチプロセッサシステムのための指向性イベントシグナリング
US20190065243A1 (en) Dynamic memory power capping with criticality awareness
US8627325B2 (en) Scheduling memory usage of a workload
KR101232561B1 (ko) 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 및 캐쉬 메모리 리사이징 장치 및 방법
CN104239153A (zh) 多核cpu负载均衡的方法和装置
US20170212581A1 (en) Systems and methods for providing power efficiency via memory latency control
US10768684B2 (en) Reducing power by vacating subsets of CPUs and memory
JP4448163B2 (ja) コンピュータ・システムおよびプロセスに対するデバイスの管理方法
CN110795323A (zh) 负载统计方法、装置、存储介质及电子设备
EP3256952B1 (en) Systems and methods for providing kernel scheduling of volatile memory maintenance events
US20210124609A1 (en) System and Method for Dynamic CPU Multitasking
Kim et al. Using DVFS and task scheduling algorithms for a hard real-time heterogeneous multicore processor environment
KR102468286B1 (ko) 대칭형 다중 처리 시스템에서의 전력 제한 장치 및 방법
US11144318B2 (en) Method and apparatus for application thread prioritization
KR101856750B1 (ko) 터보 모드의 특징을 고려하여 로드 밸런싱을 수행하는 전자 장치, 그 제어방법 및 컴퓨터로 판독가능한 기록매체
US20190391846A1 (en) Semiconductor integrated circuit, cpu allocation method, and program
CN108885587B (zh) 具有系统高速缓存和本地资源管理的功率降低存储器子系统
KR20150002270A (ko) 멀티 코어 시스템에서 태스크를 분배하기 위한 방법 및 그 전자 장치
CN117271058A (zh) 容器资源调度方法、装置及存储介质

Legal Events

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

Payment date: 20160201

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170109

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee