KR101622168B1 - 실시간 스케쥴링 방법 및 이를 이용한 중앙처리장치 - Google Patents

실시간 스케쥴링 방법 및 이를 이용한 중앙처리장치 Download PDF

Info

Publication number
KR101622168B1
KR101622168B1 KR1020080129146A KR20080129146A KR101622168B1 KR 101622168 B1 KR101622168 B1 KR 101622168B1 KR 1020080129146 A KR1020080129146 A KR 1020080129146A KR 20080129146 A KR20080129146 A KR 20080129146A KR 101622168 B1 KR101622168 B1 KR 101622168B1
Authority
KR
South Korea
Prior art keywords
tasks
task
determining
determined
core
Prior art date
Application number
KR1020080129146A
Other languages
English (en)
Other versions
KR20100070556A (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 KR1020080129146A priority Critical patent/KR101622168B1/ko
Priority to US12/453,171 priority patent/US8782649B2/en
Publication of KR20100070556A publication Critical patent/KR20100070556A/ko
Application granted granted Critical
Publication of KR101622168B1 publication Critical patent/KR101622168B1/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]
    • 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/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Multi Processors (AREA)

Abstract

할당된 태스크들 중에서 제1 태스크 세트 및 제2 태스트 세트를 결정하고, 상기 결정된 제1 태스크 세트를 단일 코어에 스케쥴링하여 태스크가 처리되도록 하거나, 상기 결정된 제2 태스크 세트를 다중 코어에 스케쥴링하여 태스크가 처리되도록 하는 중앙처리장치 및 상기 중앙처리장치에 적용되는 실시간 스케쥴링 방법을 개시한다.
Manycore, 다중 코어, 태스크, 연산, cpu

Description

실시간 스케쥴링 방법 및 이를 이용한 중앙처리장치{REALTIME SCHEDULING METHOD AND CENTRAL PROCESSING UNIT BASED ON THE SAME}
본 발명의 실시예들은 미래형 미디어 서비스 시스템 및 지능형 홈 서버 등, 초고성능 임베디드 시스템의 기반이 될 Manycore 환경에서, 실시간성이 필요한 태스크들에 대해 실시간성을 보장하면서 효율적으로 스케쥴링하는 중앙처리장치 및 상기 중앙처리장치에 적용되는 실시간 스케쥴링 방법에 관한 것이다.
Manycore 기반의 실시간 스케쥴링 알고리즘은 크게 파티션 알고리즘(Partitioned algorithm)과 글로벌 알고리즘(Global algorithm)의 두 가지로 구분할 수 있다. 각 실시간 스케쥴링 알고리즘은 큐에 들어가 있는 실시간 태스크 들을 코어에 할당하여 실시간으로 처리되도록 하는 것을 목표로 한다.
파티션 알고리즘의 경우에는, 파티션-EDF(partitioned - Earliest Deadline First) 등과 같이 어느 정도 효율적으로 쓰이고 있는 알고리즘들이 존재한다. 그러나 실제로 파티션 알고리즘은 실시간 스케쥴링이 가능한 태스크 세트의 경우도, 태스크들에 실시간성을 보장하도록 스케쥴링 하지 못하는 경우를 야기한다.
글로벌 스케쥴링 알고리즘의 대표적인 알고리즘으로는 Pfair 알고리즘을 고 려할 수 있다. Pfair 알고리즘은 현재 유일하게 태스크들에 실시간성을 보장하여 Manycore 기반 실시간 스케쥴링이 가능한 알고리즘이라 할 수 있다. 즉, Pfair 알고리즘은 실시간성을 보장할 수 있다고 판단한 모든 태스크 세트에 대해서 실시간성을 보장할 수 있다. 그러나, 글로벌 스케쥴링 알고리즘은 태스크 이동(migration)과 문맥 교환(context switch)의 문제가 빈번하게 발생하여 시스템 자원에 큰 오버헤드(overhead)가 발생한다. 결국, Pfair 알고리즘 등의 글로벌 스케쥴링 알고리즘은 이론적으로는 Manycore 환경에서 실시간성을 보장하나, 실제 환경에서 사용되는 경우가 매우 드물다.
본 발명의 일실시예에 따른 실시간 스케쥴링 방법은 제1 태스크 세트를 단일 코어에 스케쥴링하는 제1 단계, 제2 태스크 세트를 다중 코어에 스케쥴링하는 제2 단계, 및 상기 제1 단계 및 상기 제2 단계 중 적어도 어느 하나에서 스케쥴링된 태스크를 처리하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 일실시예에 따른 실시간 스케쥴링 방법은 할당된 태스크들 중에서, 빅팀 태스크(victim task)를 결정하는 단계, 상기 결정된 빅팀 태스크를 제1 부분 태스크 및 제2 부분 태스크로 분할하는 단계, 상기 할당된 태스크들 중에서 상기 제1 부분 태스크를 포함하는 제1 태스크 세트를 결정하는 단계, 상기 할당된 태스크들 중에서 상기 제2 부분 태스크를 포함하는 제2 태스크 세트를 결정하는 단계, 및 상기 결정된 제1 태스크 세트를 제1 코어에서, 상기 결정된 제2 태스크 세트를 제2 코어에서 각각 처리하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 일실시예에 따른 중앙처리장치는 할당된 태스크들을 처리하는 복수의 코어들 및 상기 할당된 태스크들을 상기 복수의 코어들에 스케쥴링하는 스케쥴러를 포함하는 것을 특징으로 한다.
본 발명의 일실시예에 따른 실시간 스케쥴링 방법을 구현하는 중앙처리장치는 글로벌 스케쥴링 알고리즘에서 빈번한 태스크 마이그래이션(migration) 문제와 컨텍스트 스위칭(context switching) 문제로부터 야기되는 오버헤드(overhead)를 해결할 수 있다.
본 발명의 일실시예에 따른 실시간 스케쥴링 방법을 구현하는 중앙처리장치는 실시간성을 보장할 수 있다고 판단한 모든 태스크 세트에 대해서 실시간으로 처리할 수 있다.
이하 첨부된 도면을 참조하여 본 발명에 따른 실시간 스케쥴링 방법 및 이를 이용한 중앙처리장치를 상세히 설명한다. 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
본 발명의 일실시예에 따른 도 1 내지 도 3에서는 파티션 스케쥴링 알고리즘과 글로벌 스케쥴링 알고리즘을 동시에 사용하는 실시간 스케쥴링 방법을 설명하기로 한다. 구체적으로는, 할당된 태스크들 중에서 웨이트(weight)의 합이 1이하가 되며 최대 태스크의 개수를 갖는 조합을 찾고, 이들 조합을 하나의 코어에 스케쥴링하여 파티션 스케쥴링 알고리즘을 통해 스케쥴링하며, 나머지는 하나의 큐에 넣어 글로벌 스케쥴링 알고리즘을 이용하여 스케쥴링하는 방법을 개시한다.
본 발명의 일실시예에 따른 도 1은 중앙처리장치에서의 실시간 스케쥴링 방법을 설명하기 위한 흐름도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 실시간 스케쥴링 방법은 할당된 태스크들에 대하여 실시간 스케쥴링 방법을 적용하기 위해, 제1 태스크 세트를 단일 코어에 스케쥴링할 수 있다(S101).
본 발명의 일실시예에 따른 실시간 스케쥴링 방법은 제2 태스크 세트를 다중 코어에 스케쥴링할 수 있다(S102).
본 발명의 일실시예에 따른 실시간 스케쥴링 방법은 단계 101 및 단계 102에서 중 적어도 어느 하나의 단계에서 적어도 하나의 코어에 스케쥴링된 태스크를 처리할 수 있다(S103).
본 발명의 일실시예에 따른 실시간 스케쥴링 방법을 구현하는 중앙처리장치는 도 2에서 구체적으로 설명한다.
도 2는 도 1의 일실시예에 따른 실시간 스케쥴링 방법이 적용된 중앙처리장치(200)를 설명하기 위한 블록도이다.
중앙처리장치(200)는 메모리 등으로부터 할당된 태스크들(205, 206, 207, 208, 209, 210, 211)을 처리하기 위한 코어들(201, 202, 203, 204)을 포함하고, 태스크들(205, 206, 207, 208, 209, 210, 211)이 코어들(201, 202, 203, 204)로 스케쥴링되어 처리될 수 있도록 할 수 있다.
구체적으로 설명하면, 중앙처리장치(200)는 제1 코어(201), 제2 코어(202), 제3 코어(203), 및 제4 코어(204)를 포함할 수 있다.
이 때, 메모리 등으로부터 할당된 태스크들(205, 206, 207, 208, 209, 210, 211)은 적어도 하나 이상의 태스크를 포함하는 태스크 세트의 형태로써, 큐를 통해 제1 코어(201), 제2 코어(202), 제3 코어(203), 및 제4 코어(204) 중에서 적어도 어느 하나의 코어에 스케쥴링될 수 있다.
예를 들어, 제1 태스크 세트(205, 206)는 제1 코어(201)로, 제2 태스크 세트(207, 208)는 제2 코어(202)로, 제3 태스크 세트(209, 210, 211)는 제3 코어(203) 및 제4 코어(204) 중에서 적어도 어느 하나로 스케쥴링되어 처리될 수 있다.
즉, 도 2에서 보는 바와 같이, 중앙처리장치(200)는 종래 파티션 스케쥴링 알고리즘과 글로벌 스케쥴링 알고리즘을 결합하여 사용하는 하이브리드(hybrid) 방식의 스케쥴링 알고리즘으로써 동작할 수 있다.
태스크가 할당되면, 중앙처리장치(200)는 파티션 스케쥴링 알고리즘으로 태스크를 스케쥴링할 것인지 또는 글로벌 스케쥴링 알고리즘으로 태스크를 스케쥴링 할 것인지를 결정해야 한다.
만약, 할당된 태스크들을 파티션 스케쥴링 알고리즘으로 스케쥴링할 것으로 결정한 경우, 중앙처리장치(200)는 할당된 태스크들 중에서 파티션 스케쥴링 알고리즘으로 스케쥴링할 태스크 세트를 결정하여 하나의 코어(단일 코어)에 태스크들을 스케쥴링할 수 있다.
즉, 할당된 태스크들 중에서 태스크(205) 및 태스크(206)가 제1 태스크 세트로 결정되고, 제1 코어(201)에 스케쥴링된다. 마찬가지로, 태스크(207) 및 태스 크(208)가 제2 태스크 세트로 결정되고, 제2 코어(202)에 스케쥴링된다.
또한 만약, 할당된 태스크들을 글로벌 스케쥴링 알고리즘으로 태스크를 스케쥴링할 것으로 결정된 경우, 중앙처리장치(200)는 할당된 태스크들 중에서 글로벌 스케쥴링 알고리즘으로 스케쥴링할 태스크 세트를 결정하여 복수의 코어(다중 코어)에 태스크들을 스케쥴링할 수 있다.
즉, 할당된 태스크들 중에서 태스크(209), 태스크(210) 및 태스크(211)가 제3 태스크 세트로 결정되고, 제3 코어(203) 및 제4 코어(204)로 스케쥴링된다.
스케쥴링된 태스크들은 각각의 코어에서 처리될 수 있다.
이를 위해, 상기 중앙처리장치는 할당된 태스크들을 처리하는 복수의 코어들과, 상기 할당된 태스크들을 상기 복수의 코어들에 스케쥴링하는 스케쥴러를 포함할 수 있다.
구체적으로, 상기 스케쥴러는 상기 할당된 태스크들 중에서 제1 태스크 세트(205, 206)를 결정하여, 제1 코어(201)에 스케쥴링하고, 상기 할당된 태스크들 중에서 제3 태스크 세트(209, 210, 211)를 결정하여, 제3 코어(203) 및 제4 코어(204) 중에서 적어도 어느 하나의 코어에 스케쥴링되도록 할 수 있다.
또한, 상기 스케쥴러는, 상기 할당된 태스크들 각각에 대하여 웨이트(weight)를 확인하고, 상기 확인된 웨이트의 합이 1 이하인 태스크들의 세트들을 결정할 수 있다. 이 때, 상기 스케쥴러는 상기 결정된 세트들 중에서 가장 많은 개수의 태스크들이 존재하는 세트를 제1 태스크 세트(205, 206)로 결정할 수 있다.
본 발명의 일실시예에 따른 상기 스케쥴러는 상기 할당된 태스크들 중에서 제1 태스크 세트(205, 206)를 제외한 나머지 태스크들을 제3 태스크 세트(209, 210, 211)로 결정할 수 있다.
도 3은 본 발명의 일실시예에 따른 실시간 스케쥴링 방법이 적용된 중앙처리장치가 제1 태스크 세트를 결정하는 것을 설명하는 흐름도이다.
먼저, 본 발명의 일실시예에 따른 실시간 스케쥴링 방법은 할당된 태스크들 각각에 대하여 웨이트를 확인할 수 있다(S301).
다음으로, 상기 실시간 스케쥴링 방법은 상기 확인된 웨이트에 기초하여, 상기 할당된 태스크들 중에서 웨이트의 합이 1이하인 태스크들의 세트들을 결정할 수 있다(S302). 이 때, 상기 실시간 스케쥴링 방법은 전체 태스크 세트의 웨이트(수행시간/수행주기)의 합이 코어의 개수 이하인 세트들이 실시간 스케쥴링이 가능하다고 판단하고, 이러한 세트들만 스케쥴링할 수 있다. 즉, 웨이트의 합이 코어의 개수 이하가 되는 태스크 세트는 실시간성을 보장하며 스케쥴링이 가능하다.
구체적으로, 웨이트의 관점에서 도 2를 살펴보면, 태스크(205) 및 태스크(206)를 포함하는 제1 태스크 세트의 총 웨이트의 합이 1보다 작거나 같아야 한다. 즉, 태스크(205) 및 태스크(206)는 한 개의 코어(201)에서 처리가 되므로 코어의 개수인 1보다 작거나 같아야만 실시간성이 보장된다.
또한, 태스크(207) 및 태스크(208)를 포함하는 제2 태스크 세트의 총 웨이트의 합은 1보다 작거나 같아야 한다. 즉, 태스크(207) 및 태스크(208)는 한 개의 코어(202)에서 처리가 되므로 코어의 개수인 1보다 작거나 같아야만 실시간성이 보장된다.
또한, 태스크(209), 태스크(210), 및 태스크(211)을 포함하는 제3 태스크 세트의 웨이트의 합은 총 코어의 개수 2(제3 코어(203)과 제4 코어(204))보다 작거나 같아야 한다.
만약, 웨이트의 합이 1이하인 태스크 세트들이 많다면, 상기 실시간 스케쥴링 방법은 상기 결정된 세트들 중에서 가장 많은 개수의 태스크들이 존재하는 제1 태스크 세트를 결정할 수 있다(S303). 즉, 결정된 세트들 중에서 많은 태스크들을 처리하기 위한 중앙처리장치의 효율을 위해서, 가장 많은 개수의 태스크들이 존재하는 태스크 세트를 상기 제1 태스크 세트로 결정한다.
상기 결정된 제1 태스크 세트는 단일 코어에 할당되어 파티션 스케쥴링 알고리즘에 이용된다.
본 발명의 일실시예에 따른 실시간 스케쥴링 방법은 상기 파티션 스케쥴링 알고리즘에 이용되는 태스크 세트들을 제외한 나머지의 태스크들을 다른 태스크 세트로 결정하여 다중 코어에 스케쥴링 함으로써, 글로벌 스케쥴링 알고리즘에 이용할 수 있다.
본 발명의 일실시예에 따른 실시간 스케쥴링 방법은 상기 제1 태스크 세트를 결정하기 위해서, 할당된 태스크들 중에서 캐시 히트율이 선정된 비율 이상으로 요구되는 태스크들을 확인한다. 이에, 상기 확인된 태스크 세트를 포함하여 제1 태스크 세트를 결정할 수 있다.
캐시 히트율이 선정된 비율 이상으로 요구되는 태스크라 함은, 캐시 미스(cache miss)에 민감한 태스크이며, 태스크 이동(migration) 및 문맥 교 환(context switch)이 자주 발생하면 처리 속도가 저하되는 태스크로 해석될 수 있다. 예를 들어, 연산(computing) 위주의 태스크들이 캐시 히트율이 선정된 비율 이상으로 요구되는 태스크로 해석될 수 있으며, 결정된 제1 태스크 세트는 기존의 EDF(Earliest-Deadline-First) 등 다양한 알고리즘을 통해 큐에 할당될 수 있다.
이를 위해, 상기 중앙처리장치의 실시간 스케쥴링 방법은 제1 태스크 세트를 결정하기 위하여, 할당된 태스크들 중에서 캐시 히트율이 선정된 비율 이상으로 요구되는 태스크들을 결정하고, 상기 결정된 태스크들 중에서 웨이트의 합이 코어 개수 이하인 태스크들의 세트들을 결정하며, 상기 결정된 세트들 중에서 가장 많은 개수의 태스크들이 존재하는 제1 태스크 세트를 결정할 수 있다.
결국, 본 발명의 일실시예에 따른 실시간 스케쥴링 방법을 구현하는 중앙처리장치는 글로벌 스케쥴링 알고리즘에서 빈번한 태스크 마이그래이션(task migration) 문제와 컨텍스트 스위칭(context switching) 문제로부터 야기되는 오버헤드(overhead)를 해결할 수 있다. 뿐만 아니라, 실시간성을 보장할 수 있다고 판단한 모든 태스크 세트에 대해서 실제로 실시간으로 처리할 수 있다.
이하, 본 발명의 일실시예에 따른 도 4 내지 도 5는 빅팀 태스크(victim task)를 이용하여 스케쥴링하는 실시간 스케쥴링 방법을 개시하기로 한다.
구체적으로, 파티션 스케쥴링 알고리즘을 기반으로 하나, 적어도 하나 이상의 빅팀 태스크를 선정하여 이를 다른 태스크 세트에 나누어 할당하는 방식으로, 모든 태스크 세트에 대하여 웨이트의 합이 코어의 개수 이하가 되도록 조정하는 방법을 설명한다.
본 발명의 일실시예에 따른 도 4는 중앙처리장치의 실시간 스케쥴링 방법을 설명하기 위한 흐름도이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 실시간 스케쥴링 방법은 메모리 등으로부터 할당된 태스크들 중에서 빅팀 태스크(victim task)를 결정할 수 있다(S401).
상기 빅팀 태스크라 함은, 하나의 코어에서 할당되지 않고 분할된 후 각각의 부분들이 다른 코어들에서 나뉘어 처리되는 태스크로 해석될 수 있다. 이 때, 빅팀 태스크는 캐시 미스(cache miss)에 민감하지 않은 태스크 중에서 결정되어야만 한다.
다음으로, 상기 실시간 스케쥴링 방법은 상기 결정된 빅팀 태스크를 두 부분 이상의 부분으로 분할할 수 있다(S402). 이하에서는 설명의 편의상 빅팀 태스크가 제1 부분 태스크 및 제2 부분 태스크로 분할되는 실시예를 설명한다.
상기 빅팀 태스크가 분할되면, 상기 실시간 스케쥴링 방법은 상기 할당된 태스크들 중에서 상기 제1 부분 태스크를 포함하는 제1 태스크 세트를 결정하고, 상기 할당된 태스크들 중에서 상기 제2 부분 태스크를 포함하는 제2 태스크 세트를 결정할 수 있다(S403).
빅팀 태스크를 결정하여 제1 태스크 부분 및 제2 태스크 부분으로 분할하는 것은, 결정할 태스크 세트의 웨이트의 합이 코어의 개수(1)에 근접하면서 이하가 되도록 하기 위함이다.
따라서, 상기 할당된 태스크들 중에서 상기 제1 부분 태스크와 웨이트의 합 이 1 이하인 세트들 중에서 가장 많은 개수의 태스크가 존재하는 세트를 상기 제1 태스크로 결정할 수 있다.
마찬가지로, 상기 실시간 스케쥴링 방법은 상기 할당된 태스크들 중에서 상기 제2 부분 태스크와 웨이트의 합이 1 이하인 세트들 중에서 가장 많은 개수의 태스크가 존재하는 세트를 상기 제2 태스크로 결정할 수 있다.
마지막으로, 상기 실시간 스케쥴링 방법은 상기 결정된 제1 태스크 세트를 제1 코어에서, 상기 결정된 제2 태스크 세트를 제2 코어에서 각각 처리할 수 있다(S404).
도 4의 실시예에 따른 실시간 스케쥴링 방법을 구현하는 중앙처리장치는 도 5를 통해 상세히 설명한다.
도 5는 도 4의 일실시예에 따른 실시간 스케쥴링 방법이 적용된 중앙처리장치(500)를 설명하기 위한 블록도이다.
중앙처리장치(500)는 파티션 스케쥴링 알고리즘에 기반하여, 각각의 코어들(501, 502, 503)에 각각의 태스크 세트가 스케쥴링된다. 즉, 빅팀 태스크의 제1 부분 태스크(504)는 태스크(506) 및 태스크(507)과 함께 제1 태스크 세트로 결정되고, 제1 코어(501)에 스케쥴링된다.
또한, 빅팀 태스크의 제2 부분 태스크(505)는 태스크(508)와 함께 제2 태스크 세트로 결정되어, 제2 코어(502)에 스케쥴링된다. 마찬가지로 제3 태스크 세트는 제3 코어(503)에 할당되어 처리될 수 있다.
이를 위해, 중앙처리장치(500)는 제1 코어(501) 및 제2 코어(502)뿐만 아니 라, 스케쥴러를 포함한다.
이 때, 상기 스케쥴러는 상기 할당된 태스크들 중에서 빅팀 태스크를 결정하고, 상기 결정된 빅팀 태스크를 제1 부분 태스크(504) 및 제2 부분 태스크(504)로 분할하는 역할을 수행한다.
뿐만 아니라, 상기 스케쥴러는 상기 할당된 태스크들 중에서 제1 부분 태스크(504)를 포함하여 제1 태스크 세트(504, 506, 507)를 결정하고, 상기 할당된 태스크들 중에서 제2 부분 태스크(505)를 포함하여 제2 태스크 세트(505, 508)를 결정하는 역할을 수행한다.
또한, 상기 스케쥴러는 제1 태스크 세트(504, 506, 507)를 제1 코어(501)에서, 제2 태스크 세트(505, 508)를 제2 코어(502)에서 각각 처리하도록 제어한다. 결국, 할당된 태스크들 중에서 cache miss에 민감하지 않은 빅팀 태스크는 복수의 부분으로 분할되어, 다른 코어들에서 나뉘어 처리될 수 있다.
이로써, 각각의 태스크 세트들은 코어의 개수 이하인 웨이트의 합을 갖고, 최대의 개수로서 코어에서 처리될 수 있다.
도 6은 본 발명의 일실시예에 따른 실시간 스케쥴링 방법이 적용된 중앙처리장치가 제1 태스크 세트를 결정하는 방법을 설명하는 흐름도이다.
먼저, 본 발명의 일실시예에 따른 실시간 스케쥴링 방법은 제1 태스크 세트를 결정하기 위해서, 할당된 태스크들 및 상기 제1 부분 태스크의 웨이트를 확인할 수 있다(S601).
다음으로, 상기 실시간 스케쥴링 방법은 상기 할당된 태스크들 중에서, 상 기 제1 부분 태스크와 웨이트의 합이 1 이하인 태스크들의 세트들을 결정할 수 있다(S602).
즉, 상기 실시간 스케쥴링 방법은 제1 부분 태스크와 태스크들의 조합을 확인하고, 상기 조합들 중에서도 웨이트의 합이 코어의 개수 이하인 조합을 상기 태스크들의 세트들로 결정한다.
다음으로, 상기 실시간 스케쥴링 방법은 상기 결정된 세트들 중에서 가장 많은 개수의 태스크들이 존재하는 세트를 선택하고(S603), 상기 선택된 세트에 상기 제1 부분 태스크를 추가하여, 제1 태스크 세트를 결정할 수 있다(S604).
즉, 상기 실시간 스케쥴링 방법은 처리의 효율을 위해서, 상기 결정된 세트들 중에서 가장 많은 개수의 태스크들이 존재하는 세트를 선택하고, 상기 빅팀 태스크의 분할된 일부를 상기 선택된 세트에 추가하여 제1 태스크 세트를 생성할 수 있다.
이 때, 제1 태스크 세트의 웨이트는 제1 태스크 세트를 처리하는 코어의 개수 이내로 결정되어야 한다.
도 6에서는 제1 태스크 세트를 결정하는 방법을 설명하나, 상술한 설명은 제2 태스크 세트를 결정하는 방법에서도 동일하게 적용될 수 있다.
즉, 상기 실시간 스케쥴링 방법은 제2 태스크 세트를 결정하기 위하여, 할당된 태스크들 및 상기 제1 부분 태스크의 웨이트를 확인한다.
이후, 상기 할당된 태스크들 중에서, 상기 제2 부분 태스크와 웨이트의 합이 코어의 개수 이하인 태스크들의 세트들을 결정한다.
또한, 상기 중앙처리장치는 상기 결정된 세트들 중에서 가장 많은 개수의 태스크들이 존재하는 세트를 선택하고, 상기 선택된 세트에 상기 제2 부분 태스크를 추가하여, 제2 태스크 세트를 결정할 수 있다.
본 발명에 따른 실시간 스케쥴링 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일실시예에 따른 중앙처리장치에서의 실시간 스케쥴링 방법을 설명하기 위한 흐름도이다.
도 2는 도 1의 일실시예에 따른 실시간 스케쥴링 방법이 적용된 중앙처리장치를 설명하기 위한 블록도이다.
도 3은 본 발명의 일실시예에 따른 실시간 스케쥴링 방법이 적용된 중앙처리장치가 제1 태스크 세트를 결정하는 것을 설명하는 흐름도이다.
도 4는 본 발명의 다른 일실시예에 따른 중앙처리장치의 실시간 스케쥴링 방법을 설명하기 위한 흐름도이다.
도 5는 도 4의 일실시예에 따른 실시간 스케쥴링 방법이 적용된 중앙처리장치를 설명하기 위한 블록도이다.
도 6은 본 발명의 일실시예에 따른 실시간 스케쥴링 방법이 적용된 중앙처리장치가 제1 태스크 세트를 결정하는 방법을 설명하는 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
200: 중앙처리장치
201~204: 코어들
205~211: 큐에 할당된 태스크들

Claims (21)

  1. 중앙처리장치의 실시간 스케쥴링 방법에 있어서,
    할당된 태스크들 각각에 대하여 웨이트를 확인하고, 상기 확인된 웨이트에 기초하여 제1 태스크 세트를 결정하는 단계;
    상기 결정된 제1 태스크 세트를 단일 코어에 스케쥴링하는 제1 단계;
    제2 태스크 세트를 다중 코어에 스케쥴링하는 제2 단계; 및
    상기 제1 단계 및 상기 제2 단계 중 적어도 어느 하나에서 스케쥴링된 태스크를 처리하는 단계
    를 포함하고,
    제1 태스크 세트를 결정하는 상기 단계는,
    할당된 태스크들 중에서 캐시 히트율(cache hit ratio)이 선정된 비율 이상으로 요구되는 태스크들을 포함하여 상기 제1 태스크 세트를 결정하는 단계
    를 포함하는 것을 특징으로 하는 실시간 스케쥴링 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    제1 태스크 세트를 결정하는 상기 단계는,
    상기 확인된 웨이트에 기초하여, 상기 할당된 태스크들 중에서 웨이트의 합이 코어의 개수 이하인 태스크들의 세트들을 결정하는 단계; 및
    상기 결정된 세트들 중에서 가장 많은 개수의 태스크들이 존재하는 상기 제1 태스크 세트를 결정하는 단계
    를 포함하는 것을 특징으로 하는 실시간 스케쥴링 방법.
  5. 삭제
  6. 중앙처리장치의 실시간 스케쥴링 방법에 있어서,
    할당된 태스크들 각각에 대하여 웨이트를 확인하고, 상기 확인된 웨이트에 기초하여 제1 태스크 세트를 결정하는 단계;
    상기 결정된 제1 태스크 세트를 단일 코어에 스케쥴링하는 제1 단계;
    제2 태스크 세트를 다중 코어에 스케쥴링하는 제2 단계; 및
    상기 제1 단계 및 상기 제2 단계 중 적어도 어느 하나에서 스케쥴링된 태스크를 처리하는 단계
    를 포함하고,
    제1 태스크 세트를 결정하는 상기 단계는,
    상기 할당된 태스크들 중에서 캐시 히트율(cache hit ratio)이 선정된 비율 이상으로 요구되는 태스크들을 결정하는 단계;
    상기 결정된 태스크들 중에서 웨이트의 합이 코어의 개수 이하인 태스크들의 세트들을 결정하는 단계; 및
    상기 결정된 세트들 중에서 가장 많은 개수의 태스크들이 존재하는 제1 태스크 세트를 결정하는 단계
    를 포함하는 것을 특징으로 하는 실시간 스케쥴링 방법.
  7. 제1항에 있어서,
    상기 결정된 제1 태스크 세트를 제외한 나머지의 태스크들을 포함하는 제2 태스크 세트를 결정하는 단계
    를 더 포함하는 것을 특징으로 하는 실시간 스케쥴링 방법.
  8. 중앙처리장치의 실시간 스케쥴링 방법에 있어서,
    할당된 태스크들 각각에 대하여 웨이트를 확인하는 단계;
    상기 할당된 태스크들 중에서, 빅팀 태스크(victim task)를 결정하는 단계;
    상기 결정된 빅팀 태스크를 제1 부분 태스크 및 제2 부분 태스크로 분할하는 단계;
    상기 확인된 웨이트에 기초하여, 상기 할당된 태스크들 중에서 상기 제1 부분 태스크를 포함하는 제1 태스크 세트를 결정하는 단계;
    상기 할당된 태스크들 중에서 상기 제2 부분 태스크를 포함하는 제2 태스크 세트를 결정하는 단계; 및
    상기 결정된 제1 태스크 세트를 제1 코어에서, 상기 결정된 제2 태스크 세트를 제2 코어에서 각각 처리하는 단계
    를 포함하는 것을 특징으로 하는 실시간 스케쥴링 방법.
  9. 삭제
  10. 제8항에 있어서,
    제1 태스크 세트를 결정하는 상기 단계는,
    상기 확인된 웨이트에 기초하여 상기 할당된 태스크들 중에서, 상기 제 1부분 태스크와 웨이트의 합이 코어의 개수 이하인 태스크들의 세트들을 결정하는 단계; 및
    상기 결정된 세트들 중에서 가장 많은 개수의 태스크들이 존재하는 세트를 선택하고, 상기 선택된 세트에 상기 제1 부분 태스크를 추가하여, 제1 태스크 세트를 결정하는 단계
    를 포함하는 것을 특징으로 하는 실시간 스케쥴링 방법.
  11. 제8항에 있어서,
    제2 태스크 세트를 결정하는 상기 단계는,
    할당된 태스크들 및 상기 제2 부분 태스크의 웨이트를 확인하는 단계
    를 포함하는 것을 특징으로 하는 실시간 스케쥴링 방법.
  12. 제11항에 있어서,
    제2 태스크 세트를 결정하는 상기 단계는,
    상기 확인된 웨이트에 기초하여 상기 할당된 태스크들 중에서, 상기 제2 부 분 태스크와 웨이트의 합이 코어의 개수 이하인 태스크들의 세트들을 결정하는 단계; 및
    상기 결정된 세트들 중에서 가장 많은 개수의 태스크들이 존재하는 세트를 선택하고, 상기 선택된 세트에 상기 제2 부분 태스크를 추가하여, 제2 태스크 세트를 결정하는 단계
    를 포함하는 것을 특징으로 하는 실시간 스케쥴링 방법.
  13. 제1항, 제4항, 제6항 내지 제8항, 및 제10항 내지 제12항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  14. 할당된 태스크들을 처리하는 복수의 코어들; 및
    상기 할당된 태스크들을 상기 복수의 코어들에 스케쥴링하는 스케쥴러
    를 포함하고,
    상기 스케쥴러는,
    할당된 태스크들 각각에 대하여 웨이트를 확인하고, 상기 확인된 웨이트에 기초하여, 상기 할당된 태스크들 중에서 웨이트의 합이 코어의 개수 이하인 태스크들의 세트들을 결정하고,
    상기 복수의 코어들은 제1 코어 및 제2 코어를 포함하고,
    상기 스케쥴러는,
    상기 할당된 태스크들 중에서 빅팀 태스크(victim 태스크)를 결정하고, 상기 결정된 빅팀 태스크를 제1 부분 태스크 및 제2 부분 태스크로 분할하는 것을 특징으로 하는 중앙처리장치.
  15. 제14항에 있어서,
    상기 복수의 코어들은 제1 코어, 제2 코어, 및 제3 코어를 포함하고,
    상기 스케쥴러는,
    상기 할당된 태스크들 중에서 제1 태스크 세트를 결정하여, 상기 제1 코어에 스케쥴링하고,
    상기 할당된 태스크들 중에서 제2 태스크 세트를 결정하여, 상기 제2 코어 및 상기 제3 코어 중에서 적어도 어느 하나의 코어에 스케쥴링하는 것을 특징으로 하는 중앙처리장치.
  16. 삭제
  17. 제15항에 있어서,
    상기 스케쥴러는,
    상기 결정된 세트들 중에서 가장 많은 개수의 태스크들이 존재하는 세트를 상기 제1 태스크 세트로 결정하는 것을 특징으로 하는 중앙처리장치.
  18. 제17항에 있어서,
    상기 스케쥴러는,
    상기 할당된 태스크들 중에서 상기 제1 태스크 세트를 제외한 나머지 태스크들을 제2 태스크 세트로 결정하는 것을 특징으로 하는 중앙처리장치.
  19. 삭제
  20. 제14항에 있어서,
    상기 스케쥴러는,
    상기 할당된 태스크들 중에서 상기 제1 부분 태스크를 포함하는 제1 태스크 세트를 결정하고, 상기 할당된 태스크들 중에서 상기 제2 부분 태스크를 포함하는 제2 태스크 세트를 결정하는 것을 특징으로 하는 중앙처리장치.
  21. 제20항에 있어서,
    상기 스케쥴러는,
    상기 결정된 제1 태스크 세트를 제1 코어에서, 상기 결정된 제2 태스크 세트를 제2 코어에서 각각 처리되도록 하는 것을 특징으로 하는 중앙처리장치.
KR1020080129146A 2008-12-18 2008-12-18 실시간 스케쥴링 방법 및 이를 이용한 중앙처리장치 KR101622168B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080129146A KR101622168B1 (ko) 2008-12-18 2008-12-18 실시간 스케쥴링 방법 및 이를 이용한 중앙처리장치
US12/453,171 US8782649B2 (en) 2008-12-18 2009-04-30 Real-time scheduling of task sets and determination of task sets based on verified weight, cache hit radio of the tasks and available processing cores

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080129146A KR101622168B1 (ko) 2008-12-18 2008-12-18 실시간 스케쥴링 방법 및 이를 이용한 중앙처리장치

Publications (2)

Publication Number Publication Date
KR20100070556A KR20100070556A (ko) 2010-06-28
KR101622168B1 true KR101622168B1 (ko) 2016-05-18

Family

ID=42268024

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080129146A KR101622168B1 (ko) 2008-12-18 2008-12-18 실시간 스케쥴링 방법 및 이를 이용한 중앙처리장치

Country Status (2)

Country Link
US (1) US8782649B2 (ko)
KR (1) KR101622168B1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2446624B1 (en) * 2009-06-26 2016-11-09 Nokia Solutions and Networks Oy Modifying command sequences
KR101859188B1 (ko) 2011-09-26 2018-06-29 삼성전자주식회사 매니코어 시스템에서의 파티션 스케줄링 장치 및 방법
CN103942101A (zh) * 2013-01-21 2014-07-23 中国科学院声学研究所 一种基于多核网络处理器的实时任务调度方法及系统
EP3111333B1 (en) * 2014-02-27 2022-03-30 Mercury Kingdom Assets Limited Thread and data assignment in multi-core processors
US10534542B2 (en) 2014-09-30 2020-01-14 Hewlett Packard Enterprise Development Lp Dynamic core allocation for consistent performance in a non-preemptive scheduling environment
US10394606B2 (en) * 2014-09-30 2019-08-27 Hewlett Packard Enterprise Development Lp Dynamic weight accumulation for fair allocation of resources in a scheduler hierarchy
US9483187B2 (en) 2014-09-30 2016-11-01 Nimble Storage, Inc. Quality of service implementation in a networked storage system with hierarchical schedulers
US9600337B2 (en) 2014-09-30 2017-03-21 Nimble Storage, Inc. Congestion avoidance in network storage device using dynamic weights
US10545791B2 (en) 2014-09-30 2020-01-28 Hewlett Packard Enterprise Development Lp Methods to apply IOPS and MBPS limits independently using cross charging and global cost synchronization
US9626295B2 (en) 2015-07-23 2017-04-18 Qualcomm Incorporated Systems and methods for scheduling tasks in a heterogeneous processor cluster architecture using cache demand monitoring
CN107943577B (zh) * 2016-10-12 2022-03-04 上海优扬新媒信息技术有限公司 用于调度任务的方法和装置
CN108153583B (zh) * 2016-12-06 2022-05-13 阿里巴巴集团控股有限公司 任务分配方法及装置、实时计算框架系统
US10387051B2 (en) 2017-08-24 2019-08-20 Hewlett Packard Enterprise Development Lp Acquisition of IOPS and MBPS limits independently at a scheduler in a scheduler hierarchy
EP3811328A4 (en) * 2018-06-14 2021-09-29 Shanghai United Imaging Healthcare Co., Ltd. IMAGE PROCESSING METHODS AND SYSTEMS
CN109144691B (zh) * 2018-07-13 2021-08-20 哈尔滨工程大学 一种面向多核处理器的任务调度分配方法
FR3090157B1 (fr) * 2018-12-12 2020-11-20 Continental Automotive France Procédé de commande d’une unité de contrôle moteur à processeur multicœur
KR20200112439A (ko) 2019-03-22 2020-10-05 삼성전자주식회사 멀티 코어를 포함하는 전자 장치 및 이의 패킷 처리를 위한 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030217090A1 (en) * 2002-05-20 2003-11-20 Gerard Chauvel Energy-aware scheduling of application execution
US20070204268A1 (en) * 2006-02-27 2007-08-30 Red. Hat, Inc. Methods and systems for scheduling processes in a multi-core processor environment
WO2007146544A2 (en) * 2006-06-06 2007-12-21 Qualcomm Incorporated Processor core stack extension

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528513A (en) * 1993-11-04 1996-06-18 Digital Equipment Corp. Scheduling and admission control policy for a continuous media server
US5694602A (en) * 1996-10-01 1997-12-02 The United States Of America As Represented By The Secretary Of The Air Force Weighted system and method for spatial allocation of a parallel load
US6779183B1 (en) * 1999-12-23 2004-08-17 Lucent Technologies Inc. Method and system for load scheduling multidimensional tasks among multiple processors
JP2002342097A (ja) * 2001-05-17 2002-11-29 Matsushita Electric Ind Co Ltd タスク割当可能時間決定装置及びタスク割当可能時間決定方法
US7310803B2 (en) * 2001-10-19 2007-12-18 419638 Canada Inc. Method and system for executing multiple tasks in a task set
US7360216B2 (en) * 2002-07-03 2008-04-15 Nvidia Corporation Method and system for real-time multitasking
JP3920818B2 (ja) * 2003-07-22 2007-05-30 株式会社東芝 スケジューリング方法および情報処理システム
US8230426B2 (en) * 2004-10-06 2012-07-24 Digipede Technologies, Llc Multicore distributed processing system using selection of available workunits based on the comparison of concurrency attributes with the parallel processing characteristics
CA2538503C (en) * 2005-03-14 2014-05-13 Attilla Danko Process scheduler employing adaptive partitioning of process threads
JP4074296B2 (ja) * 2005-03-25 2008-04-09 株式会社東芝 スケジューリング可能性判定方法、リアルタイムシステム及びプログラム
US7954106B2 (en) * 2005-12-19 2011-05-31 British Telecommunications Public Limited Company Estimating resource usage system for allocating resources to tasks based upon the rating value of tasks and resources mapping
US7673305B2 (en) * 2006-10-23 2010-03-02 Hewlett-Packard Development Company, L.P. System and method of expediting certain jobs in a computer processing system
JP5103951B2 (ja) * 2007-03-08 2012-12-19 ブラザー工業株式会社 駆動装置及び液滴吐出ヘッド
US8813080B2 (en) * 2007-06-28 2014-08-19 Intel Corporation System and method to optimize OS scheduling decisions for power savings based on temporal characteristics of the scheduled entity and system workload
US8544014B2 (en) * 2007-07-24 2013-09-24 Microsoft Corporation Scheduling threads in multi-core systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030217090A1 (en) * 2002-05-20 2003-11-20 Gerard Chauvel Energy-aware scheduling of application execution
US20070204268A1 (en) * 2006-02-27 2007-08-30 Red. Hat, Inc. Methods and systems for scheduling processes in a multi-core processor environment
WO2007146544A2 (en) * 2006-06-06 2007-12-21 Qualcomm Incorporated Processor core stack extension

Also Published As

Publication number Publication date
US8782649B2 (en) 2014-07-15
US20100162253A1 (en) 2010-06-24
KR20100070556A (ko) 2010-06-28

Similar Documents

Publication Publication Date Title
KR101622168B1 (ko) 실시간 스케쥴링 방법 및 이를 이용한 중앙처리장치
US9507631B2 (en) Migrating a running, preempted workload in a grid computing system
US9727372B2 (en) Scheduling computer jobs for execution
US8813080B2 (en) System and method to optimize OS scheduling decisions for power savings based on temporal characteristics of the scheduled entity and system workload
Liu et al. Priority-based consolidation of parallel workloads in the cloud
US8424007B1 (en) Prioritizing tasks from virtual machines
US8615765B2 (en) Dividing a computer job into micro-jobs
US20130139172A1 (en) Controlling the use of computing resources in a database as a service
WO2013029487A1 (zh) 一种资源分配方法及资源管理平台
WO2014019428A1 (en) Method and system for allocating fpga resources
JP6580307B2 (ja) マルチコア装置及びマルチコア装置のジョブスケジューリング方法
US10210338B2 (en) Reducing decryption latency for encryption processing
US9141436B2 (en) Apparatus and method for partition scheduling for a processor with cores
KR20140117905A (ko) 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
KR101392584B1 (ko) 리소스 모니터링을 이용한 동적 데이터 처리 장치 및 그 방법
KR20130080663A (ko) 멀티-쓰레딩을 사용하는 그래픽 처리를 위한 방법 및 장치
KR20170023280A (ko) 멀티코어 프로세서 시스템 및 상기 시스템에서의 공유 캐시 관리 방법
JP2011165105A (ja) 入出力制御装置、入出力制御方法
JP2019021185A (ja) 情報処理装置、情報処理システム、情報処理装置制御方法及び情報処理装置制御プログラム
JP5299869B2 (ja) コンピュータマイクロジョブ
KR101271211B1 (ko) 다중 쓰레드의 비동기 입출력 처리 장치 및 그 방법
CN117093335A (zh) 分布式存储系统的任务调度方法及装置
KR20110112640A (ko) 태스크의 실시간 처리를 위한 큐 관리 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E902 Notification of reason for refusal
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 4