KR20130067100A - 이종 멀티코어 환경에서의 코어 배정 장치 - Google Patents

이종 멀티코어 환경에서의 코어 배정 장치 Download PDF

Info

Publication number
KR20130067100A
KR20130067100A KR1020110133947A KR20110133947A KR20130067100A KR 20130067100 A KR20130067100 A KR 20130067100A KR 1020110133947 A KR1020110133947 A KR 1020110133947A KR 20110133947 A KR20110133947 A KR 20110133947A KR 20130067100 A KR20130067100 A KR 20130067100A
Authority
KR
South Korea
Prior art keywords
core
thread
allocation
information
type
Prior art date
Application number
KR1020110133947A
Other languages
English (en)
Other versions
KR101869325B1 (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 KR1020110133947A priority Critical patent/KR101869325B1/ko
Publication of KR20130067100A publication Critical patent/KR20130067100A/ko
Application granted granted Critical
Publication of KR101869325B1 publication Critical patent/KR101869325B1/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
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/3009Thread control instructions
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Molds, Cores, And Manufacturing Methods Thereof (AREA)

Abstract

본 발명은 코어 정보 및 쓰레드에 코어를 지정하는 방식을 정의한 코어 배정 정보를 저장하는 코어배정 데이터 저장부, 코어배정 데이터 저장부에 저장된 코어 정보와 코어 배정 정보를 이용하여 쓰레드 각각에 상기 코어를 배정하는 스케쥴러 및 스케쥴러의 배정 명령에 따라 쓰레드 별로 코어를 연결시키는 바인더부를 포함하는 것을 특징으로 한다.

Description

이종 멀티코어 환경에서의 코어 배정 장치{CORE ALLOCATION APPARATUS IN DIFFERENT MULTI-CORE}
본 발명은 이종 멀티코어 환경에서의 코어 배정 장치에 관한 것으로서, 더욱 상세하게는 여러 개의 서비스 또는 작업을 쓰레드로 처리하는 이종 멀티코어 환경에서 각 쓰레드에 코어를 배정하는 이종 멀티코어 환경에서의 코어 배정 장치에 관한 것이다.
최근들어 IT 시장에서는 사용자들이 고성능 저전력 프로세서에 대한 요구가 많아지고, 응용프로그램도 동시에 여러 개의 서비스를 처리하는 모드로 변하고 있으며, 이러한 요구사항에 대항하기 위해서는 시스템 또는 프로세서의 성능을 향상시켜야 하는데, 단일 프로세서로 성능을 향상시키는 것은 문제가 있기 때문에 다수개의 프로세서를 사용하는 멀티 프로세서 또는 멀티 코어 사용 환경으로 진화하고 있다.
종래의 멀티 프로세싱은 범용 프로세서(General Purpose Processor)나 특별히 설계된 단일 프로세서를 여러 개 넣어서 만든 동종 멀티코어(Homogeneous Multi-Core) 시스템을 이용해서 멀티프로세싱을 처리하는 방법을 사용해왔다.
동종 멀티코어 시스템은 수행할 멀티미디어 데이터 처리를 여러 프로세서에 나눠서 처리하긴 하지만, 멀티코어에 들어있는 프로세서들이 동일한 범용 프로세서(코어)이기 때문에, 다양한 특성을 갖는 쓰레드를 처리할 때, 최적화 되지 않은 프로세서를 사용하게 되고, 그것 때문에 성능 향상이 제한적일 수밖에 없다.
도 1 은 종래의 멀티 쓰레드 작업을 수행할 때 코어를 배정하는 방식을 보여주고 있다.
종래의 방식은 메인 프로세스에서 새로운 쓰레드가 생성될 때마다, 사용이 가능한 프로세서 코어 목록에서 순차적으로 하나씩 배정해서 쓰레드를 처리하게 하는 방법이다.
이러한 방법은 모든 코어가 동일한 명령어 집합을 갖는 같은 종류의 ASIP(Application Specific Instruction-set Processor) 코어로 이루어진 동종 멀티코어 칩을 사용할 때는 문제가 없지만, 개별 코어가 서로 다른 종류(타입)의 ASIP 코어일 경우 성능에 문제가 생기게 된다.
예를 들어 도 1 에서 쓰레드1에 코어를 배정할 때, 종래의 방법은 순차적으로 배정하기 때문에 코어3이 쓰레드1을 수행하는데 가장 적합한 코어(프로세서)라 하더라도 코어1을 배정하게 된다.
이러한 방법은 이종 멀티코어 환경에서는 적합하지 않으며, 최고의 성능을 올리기 위해서는 각각의 쓰레드에 적합한 코어를 찾아 배정해야 획기적인 성능 향상을 기대할 수 있다.
또한, 종래에는 이종 멀티코어 환경에서 쓰레드에 코어를 할당하는 방법으로써, 쓰레드 수행을 위해서 하드웨어 구조를 재설계하여 쓰레드 수행시 전력 소모와 프로세서 면적을 감소하는 기술이 개시되었다.
그러나, 이러한 방법은 하드웨어 구조를 재설계하여야 하는 문제점이 있었다.
본 발명의 배경기술은 대한민국 특허공개번호 10-2008-0076392호(2008.08.20)에 개시되어 있다.
본 발명은 전술한 문제점을 개선하기 위해 창작된 것으로서, 서로 다른 명령어 집합(Instruction Set)을 갖는 ASIP(Application Specific Instruction-set Processor) 코어로 이루어진 멀티코어 시스템에서 멀티 쓰레드 작업을 수행할 때 개별 쓰레드에 적합한 ASIP 코어를 배정하는 이종 멀티코어 환경에서의 코어 배정 장치를 제공하는데 그 목적이 있다.
본 발명의 일 측면에 따른 이종 멀티코어 환경에서의 코어 배정 장치는 코어 정보 및 쓰레드에 코어를 지정하는 방식을 정의한 코어 배정 정보를 저장하는 코어배정 데이터 저장부; 상기 코어배정 데이터 저장부에 저장된 상기 코어 정보와 상기 코어 배정 정보를 이용하여 상기 쓰레드 각각에 상기 코어를 배정하는 스케쥴러; 및 상기 스케쥴러의 배정 명령에 따라 상기 쓰레드 별로 상기 코어를 연결시키는 바인더부를 포함하는 것을 특징으로 한다.
본 발명은 기 설정된 코어 타입에 따라 쓰레드별로 코어를 배정하거나, 자동 탐색 기능을 통해 최적의 코어 배정 방법을 찾아내 각 쓰레드 별로 적합한 코어를 배정함으로써, 멀티 쓰레드 환경에서 단순히 프로세서 개수만 늘려서 멀티프로세싱을 하는 방식으로는 구현할 수 없었던 시스템의 성능을 향상시킨다.
도 1 은 종래의 순차적 코어 배정 방법을 도시한 도면이다.
도 2 는 본 발명의 일 실시예에 따른 이종 멀티코어 환경에서의 코어 배정 장치의 블럭 구성도이다.
도 3 은 본 발명의 일 실시예에 따른 이종 멀티코어 환경에서의 쓰레드에 설정된 코어 타입에 따라 쓰레드에 코어를 배정하는 예를 도시한 도면이다.
도 4 는 도 3 의 쓰레드에 지정된 코어 타입을 사용할 때 조합 가능한 경우의 수를 도시한 도면이다.
도 5 는 본 발명의 일 실시예에 따른 자동 탐색 기능을 이용하여 쓰레드에 코어를 배정하는 방법을 도시한 도면이다.
도 6 은 도 5 의 전체 코어 타입에 대해 쓰레드를 배정할 때 조합 가능한 경우의 수를 도시한 도면이다.
이하에서는 본 발명의 일 실시예에 따른 이종 멀티코어 환경에서의 코어 배정 장치를 첨부된 도면을 참조하여 상세하게 설명한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로, 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 2 는 본 발명의 일 실시예에 따른 이종 멀티코어 환경에서의 코어 배정 장치의 블럭 구성도이다.
본 발명의 일 실시예에 따른 이종 멀티코어 환경에서의 코어 배정 장치는 도 도 1 에 도시된 바와 같이, 코어배정 데이터 저장부(230), 코어 탐색엔진부(220), 스케쥴러(240) 및 바인더부(250)를 포함한다.
코어배정 데이터 저장부(230)는 코어 정보 및 쓰레드에 코어를 배정하는 방식을 정의한 코어 배정 정보를 포함한다.
여기서, 코어 정보는 코어에 대한 다양한 정보를 포함하며, 특히 코어의 특성에 따라 각각 정의된 코어 타입을 포함한다.
코어 배정 정보는 쓰레드에 코어를 배정하는 방법을 정의한 정보로써, 쓰레드에 코어 타입이 지정되었는지 여부에 따라 다양하게 정의될 수 있다.
즉, 코어 배정 정보는 쓰레드에 코어 타입이 지정된 경우에는, 각 쓰레드 별로 지정된 코어 타입에 해당하는 코어를 해당 쓰레드에 배정하는 방식으로 정의된다.
그러나, 쓰레드에 코어 타입이 지정되지 않는 경우에는, 쓰레드 별로 각 코어 타입의 코어를 모두 조합하고, 각각의 조합 결과에 따른 성능을 평가한 후에 이들 중 가장 성능이 우수한 최적의 조합으로 정의된다. 이러한 코어 배정 정보는 코어 탐색엔진부(220)에 의해 생성된다.
코어 탐색엔진부(220)는 상기한 바와 같이 쓰레드에 코어 타입이 지정되지 않은 경우, 코어 배정정보 저장부에서 코어 정보를 읽어들여 코어별로 코어 타입을 체크하고, 각 쓰레드에 각 코어 타입의 코어를 다양하게 배정하여 최적의 코어 배정 정보를 생성하고, 생성된 코어 배정 정보를 코어 배정정보 저장부에 기록한다.
즉, 코어 탐색엔진부(220)는 사용자에 의해 코어 타입이 지정되지 않은 경우, 코어배정정보 저장부에서 코어 정보를 읽어들이고, 각 쓰레드 별로 코어를 배정하여 쓰레드 별로 코어 타입 배정에 대해 가능한 모든 조합을 대상으로 하는 전체 탐색 영역을 찾아서 성능을 평가한 후 최적의 코어 배정 정보를 검색한다. 검색 결과 최적의 코어 배정 정보를 생성하면, 이 코어 배정 정보를 코어배정 데이터 저장부(230)에 저장한다.
스케쥴러(240)는 코어배정 데이터 저장부(230)에 저장된 코어 정보와 코어 배정 정보를 이용하여 쓰레드 각각에 코어를 배정한다.
이러한 스케쥴러(240)는 상기한 바와 같이, 각 쓰레드 별로 코어 타입이 지정된 코어 배정 정보가 저장되어 있으면, 이 코어 배정 정보에 따라 각 쓰레드 별로 코어를 배정한다.
그러나, 각 쓰레드 별로 코어 타입이 지정되지 않아 코어 탐색엔진부(220)에 의해 생성된 코어 배정 정보가 저장되어 있으면, 코어 탐색엔진부(220)에 의해 생성된 코어 배정 정보에 따라 각 쓰레드 별로 코어를 배정한다.
바인더부(250)는 스케쥴러(240)의 배정 명령에 따라 쓰레드 각각에 코어를 배정하여 연결시킴으로써, 쓰레드 각각을 해당 쓰레드 각각에 배정된 코어에서 수행하도록 한다.
즉, 본 발명의 일 실시예에 따른 이종 멀티코어 환경에서의 코어 배정 장치는 상기한 바와 같이, 코어 배정 정보를 기반으로 쓰레드 별로 코어를 배정한다.
이 경우, 사용자 등에 의해 쓰레드 별로 코어 타입이 지정되어 있으면, 쓰레드에 지정된 코어 타입에 속하는 코어를 해당 쓰레드에 배정하고, 반면에 쓰레드 별로 코어 타입이 지정되어 있지 않으면, 코어 탐색엔진부(220)에서 쓰레드 별로 코어 배정에 대해 가능한 모든 조합을 대상으로 하는 전체 탐색 영역을 찾아서 성능을 평가한 후에 최적의 코어 배정 정보를 결정하고, 이를 통해 각 쓰레드 별로 코어를 배정하게 된다.
참고로, 본 실시예에서의 이종 멀티코어는 특정 명령어 집합을 구현한 ASIP(Application Specific Instruction-set Processor) 코어를 특성에 따라 한정된 개수의 코어 타입으로 분류하고, 같은 코어 타입의 코어는 특정 작업에 대해 유사한 성능을 발휘하도록 그룹화된 것을 예시로 설명한다.
이하, 쓰레드에 코어 타입이 지정된 경우와 지정되지 않는 경우, 쓰레드에 코어를 할당하는 과정을 더욱 상세하게 설명한다.
도 3 은 본 발명의 일 실시예에 따른 이종 멀티코어 환경에서의 쓰레드에 설정된 코어 타입에 따라 쓰레드에 코어를 배정하는 예를 도시한 도면이고, 도 4 는 도 3 의 쓰레드에 지정된 코어 타입을 사용할 때 조합 가능한 경우의 수를 도시한 도면이다.
참고로, 본 실시예에서는 코어 타입이 코어 타입A(360), 코어 타입B(370), 코어 타입C(380) 및 코어 타입D(390)로 구분되고, 코어 타입A(360)에는 코어 A0, 코어 A1, 코어 A2가 포함되며, 코어 타입B(370)에는 코어 B3가 포함되며, 코어 타입C(380)에는 코어 C4, 코어 C5가 포함되며, 코어 타입D(390)에는 코어 D6, 코어 D7이 포함되는 것을 예시로 설명한다.
아울러, 코어 타입A(360)에 속하는 프로세서 코어인 코어A0(361), 코어A1(362) 그리고 코어A2(363)은 특정 쓰레드 작업에 대해 개별적으로 성능이 약간 차이가 나지만 다른 코어 타입B(370), 코어 타입C(380) 및 코어 타입D(390) 보다는 성능이 뛰어나다.
그러나, 본 발명의 기술적 범위는 상기한 실시예에 한정되는 것은 아니며, 더욱 세분화되고 다양한 코어 타입으로 구분되고, 각 코어 타입에는 다양한 개수의 코어가 포함되는 것을 모두 포함한다할 것이다.
먼저, 쓰레드 별로 코어 타입이 지정된 경우는, 쓰레드의 특성과 코어 타입의 특성을 모두 알고 있는 경우에 사용될 수 있다.
이 경우, 스케쥴러(240)는 코어배정 데이터 저장부(230)에서 코어 배정 정보를 입력받는데, 쓰레드가 생성될 때 해당 코어 타입에 대한 정보도 같이 제공한다.
이 경우, 코어 배정 정보에서, 쓰레드 별로 코어 타입이 지정되어 있기 때문에 스케쥴러(240)는 해당 코어 타입에 속한 코어 종류 중에서 사용 가능한 코어를 배정한다.
따라서, 도 3 에 도시된 바와 같이, 코어를 코어 타입별로 배정할 경우, 쓰레드0(320)에 배정할 코어 타입은 코어 타입A(360)이므로, 코어A0, 코어A1, 코어 A2 중 어느 하나 이상이 가능하다.
이는 나머지 코어 타입B, 코어 타입C 및 코어 타입D에서도 동일하게 적용될 수 있다.
따라서 도 4 에 도시된 바와 같이, 4개의 쓰레드(320,330,340,350)에 코어를 배정하는 방법은 코어 타입A(360)의 3가지, 코어 타입B(370)의 1가지, 코어 타입C(380)의 2가지 그리고 코어 타입D(390)의 2가지가 될 수 있고, 각 경우를 곱하면 총 12가지 경우의 수가 나온다.
이와 같이, 쓰레드에 코어 타입이 지정된 경우에는, 쓰레드에 코어를 배정한 각 조합간에 약간의 성능 차이는 발생될 수 있다. 그러나, 각 코어 타입이 그 성능 별로 구분된 것이므로, 큰 성능 차이가 크게 발생하지는 않게 된다.
다음은 쓰레드에 코어가 지정되는 않은 경우, 쓰레드에 코어를 배정하는 과정을 설명한다.
도 5 는 본 발명의 일 실시예에 따른 자동 탐색 기능을 이용하여 쓰레드에 코어를 배정하는 방법을 도시한 도면이고, 도 6 은 도 5 의 전체 코어 타입에 대해 쓰레드를 배정할 때 조합 가능한 경우의 수를 도시한 도면이다.
사용자가 쓰레드 별로 코어 타입을 지정하지 않는 경우는 코어 검색엔진부(220)를 이용해서 쓰레드 별로 코어타입 지정에 대해 가능한 모든 조합을 대상으로 하는 전체 탐색 영역을 찾아서 성능을 평가한 후에 최적의 코어 배정 정보를 결정한다.
이 경우 도 5 에 도시된 바와 같이, 생성된 쓰레드1(510)은 코어 타입A(550)에서 수행될 수도 있으나, 나머지 코어 타입B(560), 코어 타입C(570), 코어 타입D(580)에서 수행될 수도 있다.
게다가, 쓰레드2(520), 쓰레드3(530), 쓰레드4(540)도 코어 타입A(550)도 코어 타입B(560) 뿐만 아니라, 코어 타입A(550), 코어 타입C(570), 코어 타입D(580) 에서도 수행될 수 있다.
즉, 쓰레드1(510), 쓰레드2(520), 쓰레드3(530) 및 쓰레드4(540)가 모든 코어 타입에 의해 수행될 수 있다.
따라서, 코어 탐색엔진(220)은 가능한 조합을 모두 탐색해서 실제로 가능한 조합 각각에 대한 성능 평가를 통해 최적의 코어 배정 방식을 결정하고, 이 코어 배정 정보를 코어배정 데이터 저장부(230)에 저장한다.
이를 통해, 차후에 프로그램을 수행할 때 쓰레드 별로 최적의 코어에서 수행시킴으로써, 최적의 성능 향상을 이룰 수 있다.
도 6 은 도 5 에 나와 있는 모든 경우에 대한 코어 배정 조합으로 가능한 경우 수는 순열로 4!(4x3x2x1)이므로, 24가지 서로 다른 방법이 존재하게 된다.
이러한 방법은 모든 가능한 조합에 대해 성능 평가를 하기 때문에 가장 최적의 코어 배정 정보를 얻을 수 있다.
상술한 바와 같이 본 발명은 서로 다른 작업처리에 최적화된 ASIP 코어 기반 멀티코어 멀티쓰레드 시스템에서, 코어를 쓰레드에 대응되는 복수 개의 코어 타입으로 구분하고, 쓰레드가 생성될 때 해당 쓰레드에 최적화된 코어 타입의 코어를 배정함으로서 단순히 순차적으로 쓰레드에 코어를 배정하는 방식에 비해 시스템의 성능을 크게 향상시킬 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다.
220: 코어 탐색엔진부 230: 코어 배정 데이터 저장부
240: 스케쥴러 250: 바인더부

Claims (1)

  1. 코어 정보 및 쓰레드에 코어를 지정하는 방식을 정의한 코어 배정 정보를 저장하는 코어배정 데이터 저장부;
    상기 코어배정 데이터 저장부에 저장된 상기 코어 정보와 상기 코어 배정 정보를 이용하여 상기 쓰레드 각각에 상기 코어를 배정하는 스케쥴러; 및
    상기 스케쥴러의 배정 명령에 따라 상기 쓰레드 별로 상기 코어를 연결시키는 바인더부를 포함하는 이종 멀티코어 환경에서의 코어 배정 장치.
KR1020110133947A 2011-12-13 2011-12-13 이종 멀티코어 환경에서의 코어 배정 장치 KR101869325B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110133947A KR101869325B1 (ko) 2011-12-13 2011-12-13 이종 멀티코어 환경에서의 코어 배정 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110133947A KR101869325B1 (ko) 2011-12-13 2011-12-13 이종 멀티코어 환경에서의 코어 배정 장치

Publications (2)

Publication Number Publication Date
KR20130067100A true KR20130067100A (ko) 2013-06-21
KR101869325B1 KR101869325B1 (ko) 2018-06-21

Family

ID=48863083

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110133947A KR101869325B1 (ko) 2011-12-13 2011-12-13 이종 멀티코어 환경에서의 코어 배정 장치

Country Status (1)

Country Link
KR (1) KR101869325B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150075499A (ko) * 2013-12-26 2015-07-06 한국전자통신연구원 멀티코어 시스템의 시스템 성능 최적화 장치 및 방법
US9753771B2 (en) 2014-09-01 2017-09-05 Samsung Electronics Co., Ltd. System-on-chip including multi-core processor and thread scheduling method thereof
KR20170109185A (ko) * 2016-03-18 2017-09-28 한국전자통신연구원 매니코어 시스템에서 쓰레드를 스케줄링 하는 방법 및 그 장치

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050000487A (ko) * 2003-06-27 2005-01-05 가부시끼가이샤 도시바 스케줄링 방법 및 실시간 처리시스템
KR20070011434A (ko) * 2004-04-07 2007-01-24 샌드브리지 테크놀로지스, 인코포레이티드 쓰레드 당 다중의 동시적 파이프라인을 갖는 멀티쓰레드프로세서
KR20080076392A (ko) * 2007-02-15 2008-08-20 고려대학교 산학협력단 임베디드 코어에서 멀티 쓰레드 실행을 위해 확장된프로세서 및 임베디드 코어에서 멀티 쓰레드 실행 방법
US20090031317A1 (en) * 2007-07-24 2009-01-29 Microsoft Corporation Scheduling threads in multi-core systems
KR20100032399A (ko) * 2007-05-30 2010-03-25 엑스모스 엘티디 프로세서에서의 쓰레드 스케쥴링
KR20100074920A (ko) * 2008-12-24 2010-07-02 삼성전자주식회사 멀티코어 시스템에서의 로드 밸런싱 장치 및 방법
US20110067029A1 (en) * 2009-09-11 2011-03-17 Andrew Wolfe Thread shift: allocating threads to cores

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050000487A (ko) * 2003-06-27 2005-01-05 가부시끼가이샤 도시바 스케줄링 방법 및 실시간 처리시스템
KR20070011434A (ko) * 2004-04-07 2007-01-24 샌드브리지 테크놀로지스, 인코포레이티드 쓰레드 당 다중의 동시적 파이프라인을 갖는 멀티쓰레드프로세서
KR20080076392A (ko) * 2007-02-15 2008-08-20 고려대학교 산학협력단 임베디드 코어에서 멀티 쓰레드 실행을 위해 확장된프로세서 및 임베디드 코어에서 멀티 쓰레드 실행 방법
KR20100032399A (ko) * 2007-05-30 2010-03-25 엑스모스 엘티디 프로세서에서의 쓰레드 스케쥴링
US20090031317A1 (en) * 2007-07-24 2009-01-29 Microsoft Corporation Scheduling threads in multi-core systems
KR20100074920A (ko) * 2008-12-24 2010-07-02 삼성전자주식회사 멀티코어 시스템에서의 로드 밸런싱 장치 및 방법
US20110067029A1 (en) * 2009-09-11 2011-03-17 Andrew Wolfe Thread shift: allocating threads to cores

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150075499A (ko) * 2013-12-26 2015-07-06 한국전자통신연구원 멀티코어 시스템의 시스템 성능 최적화 장치 및 방법
US9753771B2 (en) 2014-09-01 2017-09-05 Samsung Electronics Co., Ltd. System-on-chip including multi-core processor and thread scheduling method thereof
KR20170109185A (ko) * 2016-03-18 2017-09-28 한국전자통신연구원 매니코어 시스템에서 쓰레드를 스케줄링 하는 방법 및 그 장치

Also Published As

Publication number Publication date
KR101869325B1 (ko) 2018-06-21

Similar Documents

Publication Publication Date Title
US9047196B2 (en) Usage aware NUMA process scheduling
US8700838B2 (en) Allocating heaps in NUMA systems
EP2176751B1 (en) Scheduling by growing and shrinking resource allocation
US10609129B2 (en) Method and system for multi-tenant resource distribution
Gregg et al. {Fine-Grained} Resource Sharing for Concurrent {GPGPU} Kernels
US8650570B2 (en) Method of assigning instructions in a process to a plurality of scheduler instances based on the instruction, in which each scheduler instance is allocated a set of negoitaited processor resources
US9563474B2 (en) Methods for managing threads within an application and devices thereof
US8561072B2 (en) Scheduling collections in a scheduler
US20140331235A1 (en) Resource allocation apparatus and method
US20120278811A1 (en) Stream processing on heterogeneous hardware devices
KR101703328B1 (ko) 이종 멀티 프로세서 환경에서의 데이터 처리 최적화 장치 및 방법
JP2012511204A (ja) リソースを最適化するためのタスク再編成方法
KR20110075297A (ko) 병렬도를 고려한 병렬 처리 장치 및 방법
US11347563B2 (en) Computing system and method for operating computing system
KR20150043066A (ko) 멀티코어 환경에서 우선순위 기반의 실시간 운영체제의 태스크 스케줄링 방법
US8352702B2 (en) Data processing system memory allocation
Vaishnav et al. Heterogeneous resource-elastic scheduling for CPU+ FPGA architectures
CN104598304B (zh) 用于作业执行中的调度的方法和装置
WO2014046885A2 (en) Concurrency identification for processing of multistage workflows
KR101177059B1 (ko) 병렬 제어 모듈을 동적으로 할당하는 방법
KR101869325B1 (ko) 이종 멀티코어 환경에서의 코어 배정 장치
US8806180B2 (en) Task execution and context switching in a scheduler
Zahaf et al. Contention-aware GPU partitioning and task-to-partition allocation for real-time workloads
KR102224446B1 (ko) Gpgpu 스레드 블록 스케줄링 확장 방법 및 장치
US20190310857A1 (en) Method of Concurrent Instruction Execution and Parallel Work Balancing in Heterogeneous Computer Systems

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right