KR101729596B1 - 작업 할당 방법, 작업 할당 장치, 및 네트워크 온 칩 - Google Patents
작업 할당 방법, 작업 할당 장치, 및 네트워크 온 칩 Download PDFInfo
- Publication number
- KR101729596B1 KR101729596B1 KR1020157035119A KR20157035119A KR101729596B1 KR 101729596 B1 KR101729596 B1 KR 101729596B1 KR 1020157035119 A KR1020157035119 A KR 1020157035119A KR 20157035119 A KR20157035119 A KR 20157035119A KR 101729596 B1 KR101729596 B1 KR 101729596B1
- Authority
- KR
- South Korea
- Prior art keywords
- chip
- idle
- router
- processor cores
- network
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7825—Globally asynchronous, locally synchronous, e.g. network on chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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 load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
Abstract
본 발명의 실시예는 작업 할당 방법, 작업 할당 장치, 및 네트워크 온 칩을 제공한다. 상기 방법은: 처리될 작업에 포함되어 있는 스레드의 수를 결정하는 단계; 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계; 영역이 비 직사각형 영역이면, 상기 영역으로부터 연장하는 직사각형 영역을 결정하는 단계; 및 상기 연장된 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 각각의 라우터 온 칩의 예측 트래픽이 미리 설정된 임계값을 초과하지 않으면, 상기 처리될 작업의 스레드를 상기 유휴 프로세서 코어에 할당하는 단계를 포함한다.
본 발명의 실시예에서 제공하는 작업 할당 방법에 따르면, 비 직사각형 영역이 작업이 할당된 에지 라우터를 사용함으로써 규칙적인 직사각형 영역으로 연장하고, 작업 할당은 작업 형상의 유연성과의 조합으로 XY 라우팅을 사용함으로써 수행되므로, 큰 하드웨어 오버헤드, 낮은 네트워크 처리량, 낮은 시스템 활용도 등의 문제가 회피된다.
본 발명의 실시예에서 제공하는 작업 할당 방법에 따르면, 비 직사각형 영역이 작업이 할당된 에지 라우터를 사용함으로써 규칙적인 직사각형 영역으로 연장하고, 작업 할당은 작업 형상의 유연성과의 조합으로 XY 라우팅을 사용함으로써 수행되므로, 큰 하드웨어 오버헤드, 낮은 네트워크 처리량, 낮은 시스템 활용도 등의 문제가 회피된다.
Description
본 발명의 실시예는 멀티코어 네트워크 온 칩 기술에 관한 것이며, 특히 작업 할당 방법, 작업 할당 장치, 및 네트워크 온 칩에 관한 것이다.
삭제
대규모 집적회로(Very Large Scale Integration, VLSI로 약칭)의 집적도가 높아짐에 따라, 저장 유닛 및 신호 처리 유닛과 같은, 온 칩 처리 유닛이 동일한 칩에 더 많이 집적되고 있으며, 각각의 온 칩 처리 유닛은 하나의 프로세서 코어와 등가이며, 복수의 프로세서 코어는 멀티코어 프로세서 또는 다수코어 프로세스를 형성한다. 네트워크 온 칩(Network-on-Chip, NoC로 약칭)은 멀티코어 프로세서 내의 상이한 프로세서 코어 간의 데이터 통신을 실현하기 위한 주요 수단이다. 프로세서의 수는 더 많아지고 있으므로 하나의 작업 및 복수의 작업의 복수의 스레드가 동일한 프로세서 코어에서 동시에 작동하는 상황이 점점 흔해지고 있으며; 상이한 작업의 스레드가 상이한 작업의 스레드가 일부의 프로세서 코어에 무작위로 할당되면, NoC에서, 동일한 작업의 상이한 스레드를 동작하는 프로세서 코어 간의 통신이 다른 작업의 데이터 스트림에 의해 영향을 받으며; 이 경우, 서비스의 품질(Quality of Service, QoS로 약칭)이 보장되지 않으며, 시스템 성능이 저하된다. NoC에서 작업을 무작위로 할당함으로써 야기되는 작업 간 데이터 스트림의 상호 간섭을 회피하기 위해, 서브넷 분할 방법이 통상적으로 사용되는데, 즉 동일한 작업에 속하는 데이터 스트림이 NoC의 특정한 영역에서 제한된다.
종래기술에서는, NoC 내의 각각의 라우터 온 칩에 대해 라우팅 테이블이 구축되고, 이 라우팅 테이블은 출발지 라우터 온 칩으로부터 목적지 라우터 온 칩으로 패킷을 전송하는 라우팅 메커니즘을 결정한다. 서브넷 분할이 수행될 때, 하나의 작업의 데이터 스트림의 다음 호프(hop)가 동일한 작업에 할당된 라우터 온 칩인 내부 라우팅 알고리즘을 사용함으로써 보장되며, 라우팅 알고리즘은 임의의 토폴로지에 적용될 수 있고, 상대적으로 복잡하며, 큰 하드웨어 오버헤드를 가지며, 불규칙한 형상의 서브넷은 트래픽 혼잡을 쉽게 발생한다. 도 1은 종래기술의 라우팅 알고리즘에 기초하여 작업 할당 방법에 대한 개략도이다. 도 1에 도시된 바와 같이, 작업 5에서 모든 다른 라우터 온 칩은 Dest와 통신해야 할 때, 동일한 링크가 사용되어야 하는데, 이는 링크 혼잡을 야기하고, 네트워크 처리량에 영향을 미친다.
본 발명의 실시예는 작업 할당 방법, 작업 할당 장치, 및 네트워크 온 칩을 제공하며, 이것들은 라우팅 알고리즘에 기초한 작업 할당 방법에서 하드웨어 오버헤드가 크고, 네트워크 처리량이 낮은 등의 종래기술의 문제를 해결하는 데 사용된다.
제1 관점에 따라, 본 발명의 실시예는 작업 할당 방법을 제공하며, 상기 방법은:
처리될 작업에 포함되어 있는 스레드(thread)의 수를 결정하는 단계;
멀티코어 프로세서에 의해 형성된 네트워크 온 칩(network-on-chip)에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계 - 상기 유휴 프로세서 코어 각각은 하나의 라우터 온 칩(router-on-chip)에 접속됨 - ;
상기 네트워크 온 칩에서 상기 유휴 프로세서 코어에 접속된 상기 결정된 라우터 온 칩에 의해 형성된 영역이 비 직사각형 영역(non-rectangular area)이면, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역을 검색하고 결정하는 단계; 및
비 유휴 프로세서 코어(non-idle processor core)에 접속되는 상기 연장된 직사각형 영역 내의 각각의 라우터 온 칩의 예측 트래픽이 미리 설정된 임계값을 초과하지 않으면, 상기 처리될 작업의 스레드를 상기 유휴 프로세서 코어에 할당하는 단계
를 포함하며,
상기 유휴 프로세서 코어 각각에는 하나의 스레드가 할당된다.
제1 관점의 제1 가능한 실시 방식에서, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역은 상기 네트워크 온 칩에서 상기 비 직사각형 영역을 포함하는 최소의 직사각형 영역이다.
제1 관점 또는 제1 관점의 제1 가능한 실시 방식을 참조해서, 제1 관점의 제2 가능한 실시 방식에서, 상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계 이후에, 상기 작업 할당 방법은:
상기 유휴 프로세서 코어의 상기 결정된 라우터 온 칩에 의해 형성된 영역이 직사각형 영역이면, 상기 처리될 작업의 스레드를 상기 유휴 프로세서 코어에 각각 할당하는 단계
를 더 포함하며, 상기 유휴 프로세서 코어 각각에는 하나의 스레드가 할당된다.
제1 관점, 제1 관점의 제1 가능한 실시 방식, 및 제1 관점의 제2 가능한 실시 방식 중 어느 하나를 참조해서, 제3 가능한 실시 방식에서, 상기 네트워크 온 칩은 행렬식으로 배열된 복수의 프로세서 코어를 포함하며,
이에 대응해서, 상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계는,
상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 최초의 유휴 프로세서 코어를 결정하는 단계; 및
상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 상기 최초의 유휴 프로세서 코어를 시작점으로 사용함으로써, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계
를 포함한다.
제1 관점의 제3 가능한 실시 방식을 참조해서, 제1 관점의 제4 가능한 실시 방식에서, 상기 유휴 프로세서 코어의 상기 결정된 라우터 온 칩에 의해 형성된 영역이 비 직사각형 영역이면, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역을 검색하고 결정하는 단계는:
상기 최초의 유휴 프로세서 코어에 접속된 동일한 행의 라우터 온 칩에서의 인접 라우터 온 칩을 따라, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어가 존재하는지를 연속적으로 결정하는 단계; 및
제1 유휴 영역 내에서, 동일한 행의 인접 라우터 온 칩을 따라 연속적으로 결정된 연속적인 프로세서 코어의 수가 상기 스레드의 수와 일치하지 않으면, 제1 유휴 영역 내의 프로세서 코어의 수와 제2 유휴 영역 내의 프로세서 코어의 수의 합이 상기 스레드의 수와 같아지도록, 상기 최초의 유휴 프로세서에 접속된 동일한 열의 라우터 온 칩 내의 인접 라우터 온 칩을 따르는 연속적인 제2 유휴 영역을 연속적으로 결정하는 단계
를 포함한다.
제1 관점의 제3 가능한 실시 방식을 참조해서, 제1 관점의 제5 가능한 실시 방식에서, 상기 유휴 프로세서 코어의 상기 결정된 라우터 온 칩에 의해 형성된 영역이 비 직사각형 영역이면, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역을 검색하고 결정하는 단계는:
상기 최초의 유휴 프로세서 코어에 접속된 동일한 열의 라우터 온 칩에서의 인접 라우터 온 칩을 따라, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어가 존재하는지를 연속적으로 결정하는 단계; 및
제3 유휴 영역 내에서, 동일한 열의 인접 라우터 온 칩을 따라 연속적으로 결정된 연속적인 프로세서 코어의 수가 상기 스레드의 수와 일치하지 않으면, 제3 유휴 영역 내의 프로세서 코어의 수와 제4 유휴 영역 내의 프로세서 코어의 수의 합이 상기 스레드의 수와 같아지도록, 상기 최초의 유휴 프로세서에 접속된 동일한 행의 라우터 온 칩 내의 인접 라우터 온 칩을 따르는 연속적인 제4 유휴 영역을 연속적으로 결정하는 단계
를 포함한다.
제1 관점 및 제1 관점의 제1 내지 제5 가능한 실시 방식 중 임의의 가능한 실시 방식을 참조해서, 제1 관점의 제6 가능한 실시 방식에서, 상기 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 각각의 라우터 온 칩의 예측 트래픽이 미리 설정된 임계값을 초과하지 않으면, 상기 처리될 작업에 포함되어 있는 스레드를 상기 유휴 프로세서 코어에 각각 할당하는 단계 이전에, 상기 작업 할당 방법은:
상기 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 내력 트래픽 정보(historical traffic information)에 따라, 상기 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 트래픽을 예측하여 상기 예측 트래픽을 획득하는 단계
를 더 포함한다.
제2 관점에 따라, 본 발명의 실시예는 작업 할당 장치를 제공하며, 상기 장치는:
처리될 작업에 포함되어 있는 스레드의 수를 결정하도록 구성되어 있는 제1 결정 모듈;
멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하도록 구성되어 있는 제2 결정 모듈 - 상기 유휴 프로세서 코어 각각은 하나의 라우터 온 칩에 접속됨 - ;
상기 제2 결정 모듈에 의해 결정되고 상기 유휴 프로세서 코어에 접속된 상기 결정된 라우터 온 칩에 의해 형성된 영역이 비 직사각형 영역일 때, 상기 네트워크 온 칩에서, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역을 검색하고 결정하도록 구성되어 있는 제3 결정 모듈; 및
상기 제3 결정 모듈에 의해 결정된 비 유휴 프로세서 코어에 접속되는 상기 직사각형 영역 내의 각각의 라우터 온 칩의 예측 트래픽이 미리 설정된 임계값을 초과하지 않으면, 상기 처리될 작업의 스레드를 상기 유휴 프로세서 코어에 할당하도록 구성되어 있는 할당 모듈
을 포함하며,
상기 유휴 프로세서 코어 각각에는 하나의 스레드가 할당된다.
제2 관점의 제1 가능한 실시 방식에서, 상기 제3 결정 모듈은 구체적으로:
상기 비 직사각형 영역으로부터 연장하는 직사각형 영역이 상기 네트워크 온 칩에서 상기 비 직사각형 영역을 포함하는 최소의 직사각형 영역인 것으로 결정하도록 구성되어 있다.
제2 관점 및 제2 관점의 제1 가능한 실시 방식을 참조해서, 제2 관점의 제2 가능한 실시 방식에서, 상기 할당 모듈은:
상기 제2 결정 모듈에 의해 결정되고 상기 복수의 유휴 프로세서 코어에 접속된 라우터 온 칩이 직사각형 영역을 형성하면, 상기 처리될 작업의 스레드를 상기 유휴 프로세서 코어에 각각 할당하도록 추가로 구성되어 있으며, 상기 유휴 프로세서 코어 각각에는 하나의 스레드가 할당된다.
제2 관점 및 제2 관점의 제1 및 제2 가능한 실시 방식 중 어느 하나의 가능한 실시 방식을 참조해서, 제2 관점의 제3 가능한 실시 방식에서, 상기 제2 결정 모듈은 구체적으로:
상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 최초의 유휴 프로세서 코어를 결정하며 - 상기 네트워크 온 칩은 행렬식으로 배열된 복수의 프로세서 코어를 포함함 - ; 그리고
상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 상기 최초의 유휴 프로세서 코어를 시작점으로 사용함으로써, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어를 결정하도록 구성되어 있다.
제2 관점의 제3 가능한 실시 방식을 참조해서, 제2 관점의 제4 가능한 실시 방식에서, 상기 제2 결정 모듈은 구체적으로:
상기 최초의 유휴 프로세서 코어에 접속된 동일한 행의 라우터 온 칩에서의 인접 라우터 온 칩을 따라, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어가 존재하는지를 연속적으로 결정하며; 그리고
제1 유휴 영역 내에서, 동일한 행의 인접 라우터 온 칩을 따라 연속적으로 결정된 연속적인 프로세서 코어의 수가 상기 스레드의 수와 일치하지 않으면, 제1 유휴 영역 내의 프로세서 코어의 수와 제2 유휴 영역 내의 프로세서 코어의 수의 합이 상기 스레드의 수와 같아지도록, 상기 최초의 유휴 프로세서에 접속된 동일한 열의 라우터 온 칩 내의 인접 라우터 온 칩을 따르는 연속적인 제2 유휴 영역을 연속적으로 결정하도록 구성되어 있다.
제2 관점의 제3 가능한 실시 방식을 참조해서, 제2 관점의 제5 가능한 실시 방식에서, 상기 제2 결정 모듈은 구체적으로:
상기 최초의 유휴 프로세서 코어에 접속된 동일한 열의 라우터 온 칩에서의 인접 라우터 온 칩을 따라, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어가 존재하는지를 연속적으로 결정하며; 그리고
제3 유휴 영역 내에서, 동일한 열의 인접 라우터 온 칩을 따라 연속적으로 결정된 연속적인 프로세서 코어의 수가 상기 스레드의 수와 일치하지 않으면, 제3 유휴 영역 내의 프로세서 코어의 수와 제4 유휴 영역 내의 프로세서 코어의 수의 합이 상기 스레드의 수와 같아지도록, 상기 최초의 유휴 프로세서에 접속된 동일한 행의 라우터 온 칩 내의 인접 라우터 온 칩을 따르는 연속적인 제4 유휴 영역을 연속적으로 결정하도록 구성되어 있다.
제2 관점 및 제2 관점의 제1 내지 제5 가능한 실시 방식 중 임의의 가능한 실시 방식을 참조해서, 제2 관점의 제6 가능한 실시 방식에서, 상기 작업 할당 장치는:
상기 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 내력 트래픽 정보에 따라, 상기 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 트래픽을 예측하여 상기 예측 트래픽을 획득하도록 구성되어 있는 예측 모듈
을 더 포함한다.
제3 관점에 따라, 본 발명의 실시예는 네트워크 온 칩을 제공하며, 상기 네트워크 온 칩은 복수의 프로세서 코어, 라우터 온 칩, 및 상호접속을 포함하고, 전술한 가능한 실시 방식 중 어느 하나의 방식에서 설명된 작업 할당 장치를 더 포함한다.
본 발명의 실시예에서 제공하는 작업 할당 방법, 작업 할당 장치, 및 네트워크 온 칩에 따르면, 처리될 작업에 포함된 스레드의 수가 결정되고; 복수의 유휴 프로세서 코어의 수가 필요한 스레드의 수와 일치하는 이러한 복수의 유휴 프로세서에 의해 형성된 비 직사각형 영역(non-rectangular area)이 네트워크 온 칩에서 결정되고, 이러한 비 직사각형 영역에 인접하는 에지 라우터 온 칩 및 라우터 온 칩은 유휴 프로세서 코어에 접속되고 비 직사각형 영역에서 규칙적인 직사각형 영역을 형성한다. 비 유휴 프로세서 코어에 접속되고 그런 다음 직사각형 영역 내에 있는 라우터 온 칩이 결정되는데, 즉 에지 라우터 온 칩의 트래픽이 미리 설정된 임계값을 초과하는지가 결정되고; 그리고 라우터 온 칩의 트래픽이 미리 설정된 임계값을 초과하지 않으면, 처리될 작업이 유휴 영역 내의 프로세서 코어에 할당된다. 본 발명의 실시예에서 제공하는 작업 할당 방법에 따르면, 네트워크 온 칩 내의 유휴 프로세서 코어 자원의 수가 처리될 작업이 필요로 하는 프로세서 코어의 수보다 크거나 같을 때, 처리될 작업이 할당되는 규칙적인 직사각형 영역이 없으면, 비 직사각형 영역은 에지 라우터를 사용함으로써 규칙적인 직사각형 영역을 형성하고 처리될 작업이 할당되며; 직사각형 영역에서, 출발지 라우터 온 칩으로부터 목적지 라우터 온 칩으로의 패킷의 라우팅 메커니즘은 라우팅 테이블을 사용함으로써 결정되지 않아도 되며, 패킷은 XY 라우팅 방식으로 전송되고, 이에 의해 네트워크 혼잡이 회피되고, 네트워크 처리량이 향상된다.
본 발명의 실시예 또는 종래기술의 기술적 솔루션을 더 명확하게 설명하기 위해, 이하에서는 본 발명의 실시예를 설명하는 데 필요한 첨부된 도면에 대해 간략하게 설명한다.
도 1은 종래기술의 라우팅 서브넷에 기초하여 작업 할당 방법에 대한 개략도이다.
도 2는 본 발명에 따른 작업 할당 방법의 실시예 1에 대한 흐름도이다.
도 3은 본 발명에 따른 작업 할당 방법의 실시예 2에서의 네트워크 온 칩에 대한 개략도이다.
도 4a는 본 발명에 따른 작업 할당 방법의 실시예 3에서의 네트워크 온 칩에 대한 개략도이다.
도 4b는 도 4a의 직사각형 영역을 다시 검색하는 개략도이다.
도 5a는 유니폼 랜덤 트래픽 모델(uniform random traffic model)을 사용함으로써, 본 발명의 작업 할당 방법 및 라우팅 서브넷에 기초한 작업 할당 방법을 분석하는 개략도이다.
도 5b는 비트콤 트래픽 모델(bitcomp traffic model)을 사용함으로써, 본 발명의 작업 할당 방법 및 라우팅 서브넷에 기초한 작업 할당 방법을 분석하는 개략도이다.
도 5c는 토네이도 트래픽 모델(tornado random traffic model)을 사용함으로써, 본 발명의 작업 할당 방법 및 라우팅 서브넷에 기초한 작업 할당 방법을 분석하는 개략도이다.
도 6은 본 발명에 따른 작업 할당 장치의 실시예 1에 대한 개략적인 구조도이다.
도 7은 본 발명에 따른 작업 할당 장치의 실시예 2에 대한 개략적인 구조도이다.
도 8은 본 발명에 따른 작업 할당 장치의 실시예 3에 대한 개략적인 구조도이다.
도 1은 종래기술의 라우팅 서브넷에 기초하여 작업 할당 방법에 대한 개략도이다.
도 2는 본 발명에 따른 작업 할당 방법의 실시예 1에 대한 흐름도이다.
도 3은 본 발명에 따른 작업 할당 방법의 실시예 2에서의 네트워크 온 칩에 대한 개략도이다.
도 4a는 본 발명에 따른 작업 할당 방법의 실시예 3에서의 네트워크 온 칩에 대한 개략도이다.
도 4b는 도 4a의 직사각형 영역을 다시 검색하는 개략도이다.
도 5a는 유니폼 랜덤 트래픽 모델(uniform random traffic model)을 사용함으로써, 본 발명의 작업 할당 방법 및 라우팅 서브넷에 기초한 작업 할당 방법을 분석하는 개략도이다.
도 5b는 비트콤 트래픽 모델(bitcomp traffic model)을 사용함으로써, 본 발명의 작업 할당 방법 및 라우팅 서브넷에 기초한 작업 할당 방법을 분석하는 개략도이다.
도 5c는 토네이도 트래픽 모델(tornado random traffic model)을 사용함으로써, 본 발명의 작업 할당 방법 및 라우팅 서브넷에 기초한 작업 할당 방법을 분석하는 개략도이다.
도 6은 본 발명에 따른 작업 할당 장치의 실시예 1에 대한 개략적인 구조도이다.
도 7은 본 발명에 따른 작업 할당 장치의 실시예 2에 대한 개략적인 구조도이다.
도 8은 본 발명에 따른 작업 할당 장치의 실시예 3에 대한 개략적인 구조도이다.
본 발명의 실시예의 목적, 기술적 솔루션, 및 이점을 더 잘 이해할 수 있도록 하기 위해, 이하에서는 본 발명의 실시예의 첨부된 도면을 참조하여 본 발명의 실시예에 따른 기술적 솔루션에 대해 명확하고 완전하게 설명한다.
도 2는 본 발명에 따른 작업 할당 방법의 실시예 1에 대한 흐름도이다. 이 실시예는 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에 집적될 수 있는 작업 할당 장치에 의해 실행되며, 이 장치는 예를 들어 네트워크 온 칩 내의 임의의 프로세서 등이 될 수 있다. 이 실시예는 네트워크 온 칩 내의 유휴 프로세서 코어 자원의 수가 처리될 작업에 필요한 프로세서 코어의 수보다 크거나 같은 시나리오에 적용될 수 있다. 구체적으로, 이 실시예는 이하의 단계를 포함한다:
101: 처리될 작업에 포함된 스레드의 수를 결정한다.
작업 할당 장치는 처리될 작업에 포함된 스레드의 수를 결정한다. 일반적으로, 하나의 작업에 포함된 스레드의 수는 그 작업을 처리하는 데 필요한 프로세서 코어의 수와 일대일 대응관계에 있다. 예를 들어, 하나의 작업이 9개의 스레드를 포함하면, 그 작업을 처리하는 데 9개의 프로세서 코어가 필요하다.
102: 멀티코어 프로세서에 의해 형성된 네트워크 온 칩(network-on-chip)에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하며, 상기 유휴 프로세서 코어 각각은 하나의 라우터 온 칩(router-on-chip)에 접속된다.
네트워크 온 칩은 동시 액세스, 고 신뢰성, 고 재사용가능성 등을 지원하는 특징이 있으며 복수의 프로세서 코어, 라우터 온 칩, 및 상호접속(채널)에 의해 형성된다. 상호접속은 라우터 온 칩과 프로세서 코어 간의 내부 상호접속 및 라우터 온 칩 간의 외부 상호접속을 포함하며, 각각의 프로세서 코어는 하나의 라우터 온 칩에 접속되고, 라우터 온 칩들은 메시 토폴로지(Mesh Topology, mesh로 약칭)를 형성하도록 상호접속된다. 이 단계에서, 처리될 작업에 포함되어 있는 스레드의 수가 결정된 후, 작업 할당 장치는, 멀티코어 프로세서에 의해 형성된 네트워크 온 칩 내에서 스레드의 수에 따라, 복수의 연속적인 유휴 프로세서 코어의 수가 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어 및 대응하는 라우터 온 칩을 결정한다.
103: 유휴 프로세서 코어에 접속된 상기 결정된 라우터 온 칩에 의해 형성된 영역이 비 직사각형 영역(non-rectangular area)이면, 네트워크 온 칩에서, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역을 검색하고 결정한다.
작업 할당 장치가 복수의 연속적인 유휴 프로세서 코어의 수가 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정한 후, 유휴 프로세서 코어에 접속된 라우터 온 칩에 의해 형성된 영역이 직사각형 영역이면, 작업 할당 장치는 처리될 작업에 포함되어 있는 스레드를 유휴 프로세서 코어에 직접 할당하고, 프로세서 코어 각각은 할당된 하나의 스레드이며; 그렇지 않으면, 유휴 프로세서 코어에 접속된 라우터 온 칩에 의해 형성된 영역이 비 직사각형 영역이면, 작업 할당 장치는 비 직사각형 영역으로부터 연장하는 직사각형 영역을 검색하고 결정하며, 여기서 영역은 네트워크 온 칩에서 비 직사각형 영역을 포함하는 최소 직사각형 영역이다. 예를 들어, 하나의 NoC는 5×5 메시 구조이고, 처리될 작업에 포함되어 있는 스레드의 수는 5이며, 그 결정된 연속적인 유휴 프로세서 코어가 동일한 열 또는 동일한 행에서 5개의 프로세서이면, 처리될 작업에 포함되어 있는 5개의 스레드는 5개의 연속적인 유휴 프로세서 코어에 할당되며, 각각의 프로세서 코어는 할당된 하나의 스레드이며; 그 결정된 연속적인 유휴 프로세서 코어의 수가 5이지만 5개의 프로세서 코어에 접속된 라우터 온 칩에 의해 형성된 영역이 비 사각형이면, 즉 그 형성된 영역이 불규칙한 형상의 영역이면, 작업 할당 장치는 비 직사각형 영역을 포함하는 직사각형 영역을 결정하며, 즉 작업이 할당된 비 유휴 프로세서 코어 및 비 직사각형 영역 내의 유휴 프로세서 코어는 직사각형 영역을 형성한다. 구체적으로, 5개의 프로세서 코어가 제1 행의 앞의 3개의 프로세서 코어와 제2 행의 앞의 2개의 프로세서 코어에 의해 형성되는 예를 사용함으로써, 제2 행에서의 제3 프로세서 코어에 접속된 라우터 온 칩이 에지 라우터 온 칩으로 사용되고, 작업 할당 장치는 5개의 프로세서 코어에 접속된 라우터 온 칩에 의해 형성된 직사각형 영역, 및 에지 라우터 온 칩을 결정한다.
본 발명은 5개의 프로세서 코어가 제1 행의 앞의 3개의 프로세서 코어와 제2 행의 앞의 2개의 프로세서 코어에 의해 형성되는 예를 사용함으로써 위에서 상세히 설명하였으나, 본 발명은 이에 제한되지 않으며, 다른 가능한 실시 방식에서, 연속적인 유휴 프로세서 코어는 다른 조합을 가질 수 있고, 프로세서 코어에 접속된 라우터 온 칩에 의해 형성된 비 직사각형 영역 역시 복수의 가능한 형상을 가지는데, 예를 들어, L 형상, E 형상, F 형상, 90도 역 H 형상, 및 I 형상을 가지며, 이에 대응해서 비 직사각형 영역을 포함하는 직사각형 영역 역시 복수의 가능한 형상을 가진다는 것에 유의해야 한다.
104: 연장된 직사각형 영역에서 비 유휴 프로세서 코어(non-idle processor core)에 접속되는 각각의 라우터 온 칩의 예측 트래픽이 미리 설정된 임계값을 초과하지 않으면, 상기 처리될 작업의 스레드를 유휴 프로세서 코어에 할당하며, 상기 유휴 프로세서 코어 각각에는 하나의 스레드가 할당된다.
직사각형 영역에서, 출발지 라우터 온 칩으로부터 목적지 라우터 온 칩으로의 패킷의 라우팅 메커니즘이 라우팅 테이블을 사용함으로써 결정될 수 있으며, 이 패킷은 XY 라우팅 방식으로 전송되며, 즉, 출발지 라우터 온 칩 및 목적지 라우터 온 칩이 결정된 후, 출발지 라우터 시작해서, 패킷은 목적지 라우터 온 칩이 위치하는 열과 교차하는 중간 라우터 온 칩에 먼저 수평으로 전송되고, 그런 다음 목적지 라우터 온 칩에 수직으로 전송되거나; 또는, 패킷은 목적지 라우터 온 칩이 위치하는 행과 교차하는 중간 라우터 온 칩에 먼저 수직으로 전송되고, 그런 다음 목적지 라우터 온 칩에 수평으로 전송된다.
비 직사각형 영역을 포함하는 직사각형 영역이 결정된 후, 작업 할당 장치는, 직사각형 영역에서 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 내력 트래픽 정보에 따라 예측하여 예측 트래픽을 획득하고, 이 예측 트래픽이 미리 설정된 임계값을 초과하는지를 결정하며, 예측 트래픽이 미리 설정된 임계값을 초과하지 않으면, 작업 할당 장치는 처리될 작업에 포함되어 있는 스레드를 유휴 프로세서 코어에 각각 할당한다.
본 발명의 실시예에서 제공하는 작업 할당 방법에 따르면, 처리될 작업에 포함된 스레드의 수가 결정되고; 복수의 유휴 프로세서 코어의 수가 필요한 스레드의 수와 일치하는 이러한 복수의 유휴 프로세서에 의해 형성된 비 직사각형 영역(non-rectangular area)이 네트워크 온 칩에서 결정되고, 이러한 비 직사각형 영역에 인접하는 에지 라우터 온 칩 및 라우터 온 칩은 유휴 프로세서 코어에 접속되고 비 직사각형 영역에서 규칙적인 직사각형 영역을 형성하며; 비 유휴 프로세서 코어에 접속되고 그런 다음 직사각형 영역 내에 있는 라우터 온 칩이 결정되는데, 즉 에지 라우터 온 칩의 트래픽이 미리 설정된 임계값을 초과하는지가 결정되고; 그리고 라우터 온 칩의 트래픽이 미리 설정된 임계값을 초과하지 않으면, 처리될 작업이 유휴 영역 내의 프로세서 코어에 할당된다. 본 발명의 실시예에서 제공하는 작업 할당 방법에 따르면, 네트워크 온 칩 내의 유휴 프로세서 코어 자원의 수가 처리될 작업이 필요로 하는 프로세서 코어의 수보다 크거나 같을 때, 처리될 작업이 할당되는 규칙적인 직사각형 영역이 없으면, 비 직사각형 영역은 에지 라우터를 사용함으로써 규칙적인 직사각형 영역을 형성하고 처리될 작업이 할당되며; 직사각형 영역에서, 출발지 라우터 온 칩으로부터 목적지 라우터 온 칩으로의 패킷의 라우팅 메커니즘은 라우팅 테이블을 사용함으로써 결정되지 않아도 되며, 패킷은 XY 라우팅 방식으로 전송되고, 이에 의해 네트워크 혼잡이 회피되고, 네트워크 처리량이 향상된다.
전술한 바로부터 알 수 있는 바와 같이, NoC는 라우터 온 칩 및 상호접속(채널)에 의해 형성되고, 각각의 프로세서 코어는 하나의 라우터 온 칩에 접속되며, 하나의 작업에 포함되어 있는 스레드의 수는 작업을 처리하는 데 필요한 프로세서 코어의 수와 일대일 대응관계에 있다. 그러므로 처리될 작업에 포함되어 있는 스레드의 수, 처리될 작업이 필요로 하는 프로세서 코어의 수, 및 필요한 프로세서 코어에 접속된 라우터 온 칩의 수는 같으며, 프로세서 코어의 상태는 라우터 온 칩의 상태와 일치하여, 동시에 유휴 상태에 있거나 작업이 할당되는 상태에 있으며, 검색에 의해 유휴 라우터 온 칩을 찾아내면, 유휴 프로세서 코어도 검색에 의해 찾아진다. 본 발명의 이 실시예를 더 명확하게 하기 위해, 이하의 관점에서 나타나는 네트워크 온 칩은 단지 라우터 온 칩만을 나타낸다.
일반적으로, 네트워크 온 칩은 행렬식으로 배열된 복수의 프로세서 코어를 포함하는데, 예를 들어, 5행 및 5열에 25개의 프로세서 코어와 25개의 라우터 온 칩을 포함하는 5×5 네트워크 온 칩을 포함한다. 이 방식에서, 복수의 연속적인 유휴 프로세서 코어의 수가 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어가 결정되면, 유휴 프로세서 코어는 행으로 검색될 수 있거나 유휴 프로세서 코어는 열로 검색될 수 있다. 예를 들어 행에 의한 검색을 사용하면, 구체적으로, 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 최초의 유휴 프로세서 코어가 결정될 수 있고, 복수의 연속적인 유휴 프로세서 코어의 수가 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어가 존재하는지가, 최초의 유휴 프로세서 코어에 접속된 동일한 행의 라우터 온 칩에서의 인접 라우터 온 칩을 따라 연속적으로 결정되며; 제1 유휴 영역 내에 포함되고 동일한 행의 인접 라우터 온 칩을 따라 연속적으로 결정된 연속적인 프로세서 코어의 수가 상기 스레드의 수와 일치하지 않으면, 제1 유휴 영역 내의 프로세서 코어의 수와 제2 유휴 영역 내의 프로세서 코어의 수의 합이 상기 스레드의 수와 같아지도록, 상기 최초의 유휴 프로세서에 접속된 동일한 열의 라우터 온 칩 내의 인접 라우터 온 칩을 따르는 연속적인 제2 유휴 영역을 연속적으로 결정한다. 본 발명은 네트워크 온 칩에서 구체적으로 작업을 할당하는 일부의 실시예를 사용함으로써 이하에 상세히 설명한다.
도 3은 본 발명에 따른 작업 할당 방법의 실시예 2에서의 네트워크 온 칩에 대한 개략도이다. 도 3에 도시된 바와 같이, 이 실시예에서, NoC는 5×5 NoC이고, 복수의 프로세서 코어는 행렬식으로 배열되며, 작업 대기열에는 처리될 작업 1(4)이 있으며, 작업 1은 4개의 스레드를 포함하며, 4개의 프로세서 코어가 작업을 처리하도록 할당되어야 한다는 것을 나타낸다. 라우터 온 칩 R1.1에 접속된 프로세서 코어는 최초의 유휴 프로세서 코어로서 무작위로 결정되며, 4개의 연속적인 유휴 라우터 온 칩은 R1.1에 접속된 동일한 행의 라우터 온 칩에서 인접 라우터 인 칩을 따라 성공적으로 결정되는데, 즉 총 4개의 라우터 온 칩이 결정되며, R1.1, R1.2, R1.3, R1.4이며, 4개의 라우터 온 칩은 규칙적인 직사각형 영역인 제1 유휴 영역을 형성하며, 그런 다음, 작업 1에 포함되어 있는 4개의 스레드는 R1.1, R1.2, R1.3, R1.4가 위치하는 직사각형 영역 내의 프로세서 코어에 직접적으로 할당된다.
도 4a는 본 발명에 따른 작업 할당 방법의 실시예 3에서의 네트워크 온 칩에 대한 개략도이다. 도 4a에 도시된 바와 같이, 본 실시예에서, NoC는 is a 5×5 NoC이고, 복수의 프로세서 코어가 행렬식으로 배열되며, 는 고 부하 라우터 온 칩을 나타내고, 는 저 부하 라우터 온 칩을 나타내고, 그리고 는 유휴 라우터 온 칩을 나타내며, 즉 R1.1 내지 R1.3, R2.1 내지 R2.4, 및 R3.1 내지 R3.4는 고 부하 라우터 온 칩이고, Rs0.1 내지 Rs0.6은 저 부하 라우터 온 칩이고, 그리고 다른 것들은 유휴 라우터이다. 구체적으로, 라우터 온 칩의 부하를 결정하는 방식은 필요에 따라 결정될 수 있으며, 예를 들어, 라우터 온 칩에 의해 생성된 트래픽이 미리 설정된 임계값보다 클 때, 라우터 온 칩은 고 부하 라우터 온 칩으로 결정된다.
본 실시예에서, 작업 대기열에는 처리될 작업 2(5)가 있으며, 작업 2는 5개의 스레드를 포함하며, 5개의 프로세서 코어가 작업을 처리하도록 할당되어야 한다는 것을 나타낸다. 라우터 온 칩 R5.0에 접속된 프로세서 코어는 최초의 유휴 프로세서 코어로서 무작위로 결정되며, 연속적인 유휴 라우터 온 칩이 R5.0으로부터 검색되며, 이 연속적인 유휴 라우터 온 칩이 직사각형 영역을 형성할 수 있는지가 결정되며; 다양한 가능한 상황이 행으로 또는 열로 횡단된 후 가능한 규칙적인 직사각형 영역이 발견되지 않으면, 검색은 행으로 또는 열로 연속적으로 수행된다. 구체적으로, 검색을 행으로 수행하면, 제1 유휴 영역이 R5.0으로부터 검색되고, 즉 R5.0, R5.1, R5.2, 및 R5.3이 R5.0이 위치하는 제1 행을 따라, 총 4개의 유휴 라우터 온 칩을 포함하는 제1 유휴 영역을 검색함으로써, 프로세서 코어의 수가 스레드의 수와 일치하지 않는다는 것을 알게 되고, 제1 유휴 영역에 포함되어 있는 프로세서의 수는 작업에서 필요로 하는 프로세서 코어의 수를 충족하지 않으며; 이 경우, R5.0이 위치하는 열로부터 제2 유휴 영역을 연속적으로 검색하며, 제2 유휴 영역 내의 프로세서 코어의 수와 제1 유휴 영역에 포함되어 있는 프로세서 코어의 수의 합이 5이면, 즉, R5.4가 제2 유휴 영역에서의 검색에 의해 발견된 후, 유휴 라우터 온 칩의 수는 스레드의 수와 같고, R5.0 내지 R5.4, Rs0.1, Rs0.2, 및 고 부하 라우터 온 칩 R1.1은 규칙적인 직사각형 영역을 형성한다.
전술한 바에서 제1 유휴 영역 및 제2 유휴 영역을 사용함으로써 하나의 규칙적인 직사각형 영역이 결정된 후, 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 트래픽이 미리 설정된 임계값을 초과하는지가 결정된다. 구체적으로, 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 트래픽이, 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 내력 트래픽 정보에 따라 직사각형 영역 내에서 예측될 수 있다. 이 실시예에서, Rs0.1, Rs0.2, 및 고 부하 라우터 온 칩 R1.1의 트래픽이 미리 설정된 임계값을 초과하는지가 결정되어야 한다. R1.1을 예로 사용함으로써, 제1 유휴 영역 및 제2 유휴 영역을 사용함으로써 결정되는 규칙적인 직사각형 영역에 작업 2가 할당되면, R1.1에 의해 원래 생기고 도면 중에 굵은 검은 화살표 ①을 사용하여 표시되어 있는 트래픽과 작업 2가 할당된 후 부가되고 도면 중에 굵은 화살표 ②를 사용하여 표시되어 있는 트래픽의 합이 미리 설정된 임계값을 초과하지 않으면, R1.1이 공유될 수 있는 것으로 간주되고, 도면 내의 파선 박스에 도시된 바와 같이, 작업 2가 직사각형 영역에 포함되어 있는 프로세서 코어에 할당될 수 있다는 것으로 추가로 결정되며, 이 경우, 패킷은 직사각형 영역 내에 있고 XY 라우팅 방식으로 전송된다. 예를 들어, R5.2가 출발지 라워터 온 칩이고, 목적지 라우터 온 칩이 R5.4이면, 이 경우, XY 라우팅을 사용함으로써, 패킷은 R5.2, R5.1, 및 R5.0을 통과함으로써 R5.2로부터 R5.4로 전송될 수 있거나, Rs0.2 및 Rs0.1을 통과함으로써 R5.2로부터 R5.4로 전송될 수 있으며, 그렇지 않고, 제1 유휴 영역 및 제2 유휴 영역을 사용함으로써 결정되는 규칙적인 직사각형 영역에 작업 2가 할당되고, R1.1에 의해 원래 생성된 트래픽과 작업 2가 할당된 후에 부가된 트래픽의 합이 미리 설정된 임계값을 초과하면, R1.1이 공유될 수 없는 것으로 간주되고, 작업 2는 직사각형 영역에 의해 포함된 프로세서 코어에 할당될 수 없는 것으로 추가로 결정된다.
라우터 온 칩에 의해 생성된 트래픽이 전술한 바에서 결정된 후, 3개의 라우터 온 칩 중 적어도 하나에 의해 생성된 트래픽이 미리 설정된 임계값을 초과하는 것으로 가정하고, R1.1에 의해 생성된 트래픽이 미리 생성된 임계값을 초과하는 것으로 가정한다. 이 경우, R5.0으로 검색이 행으로 또는 열로 다시 수행된다. 구체적으로, 도 4b에 도시된 바와 같이, 도 4b는 도 4a에서의 직사각형 영역을 다시 검색하는 개략도이다.
열에 의한 검색을 수행하면, R5.0으로부터 제3 유휴 영역을 검색하는데, 즉, R5.0이 위치하는 제1 행을 따라 R5.0, R5.4, 및 R5.5인 총 3개의 유휴 라우터 온 칩을 포함하는 제3 유휴 영역을 검색함으로써, 프로세서 코어의 수가 스레드의 수와 일치한다는 것을 알게 되고, 즉 제3 유휴 영역에 포함되어 있는 프로세서 코어의 수는 작업에서 필요로 하는 프로세서의 수를 충족하지 않으며; 이 경우, R5.0이 위치하는 행으로부터 제4 유휴 영역을 연속적으로 검색하며, 제4 유휴 영역 내의 프로세서 코어의 수와 제3 유휴 영역에 포함되어 있는 프로세서 코어의 수의 합이 4이면, 즉 제4 유휴 영역에서의 검색에 의해 R5.1 및 R5.2가 발견되며, 유휴 라우터 온 칩의 수가 스레드의 수와 같으며, 제2 행 및 제3 행에서의 R5.0, R5.4, R5.5, R5.1, R5.2, 및 4개의 저 부하 라우터 온 칩 Rs0.1, Rs0.2, Rs0.3, 및 Rs0.4는 규칙적인 직사각형 영역을 형성한다. 이 경우, 제3 유휴 영역 및 제4 유휴 영역을 사용함으로써 결정되는 규칙적인 직사각형 영역에 작업 2가 할당된 후, 공유된 Rs0.1, Rs0.2, Rs0.3, 및 Rs0.4에 의해 원래 생성된 트래픽과 작업 2가 할당된 후에 부가된 트래픽의 합이 미리 설정된 임계값을 초과하지 않으며, 4개의 공유 라우터 온 칩 각각의 트래픽이 미리 설정된 임계값을 초과하지 않으면, 도 4b에 파선 박스에 도시된 바와 같이, 작업 2는 직사각형 영역에 포함되어 있는 프로세서 코어에 할당되며, 4개의 공유 라우터 온 칩 중 하나에 의해 생성된 트래픽이 미리 설정된 임계값을 초과하면, 작업 2는 직사각형 영역에 할당될 수 없고, 프로세서 코어는 다시 검색되어야 한다는 것을 나타낸다.
전술한 실시예에서, 트래픽 예측이 모든 불규칙한 영역에서 성공할 수 없으면, 작업 2는 대기열에서 다음 작업 스케줄링을 대기한다. 예를 들어, 작업이 처리된 후 더 많은 프로세서 코어가 해제된 후에 다른 작업에 필요한 프로세서 코어를 다시 검색한다.
전술한 실시예에서, 제1 유휴 영역, 제2 유휴 영역, 제3 유휴 영역, 및 제4 유휴 영역은 규칙적인 직사각형 영역일 수도 있고, 불규칙한 직사각형 영역일 수도 있다는 것에 유의해야 한다. 예를 들어, 도 4a를 예를 들어 보면, Rs0.1도 유휴 라우터 온 칩일 때, R5.0으로부터 검색하여 발견되는 연속적인 유휴 라우터 온 칩은 R5.0, R5.1, the 5.2, R5.4, 및 Rs0.1을 포함하고; Rs0.2가 유휴 라우터 온 칩이고, R5.4, Rs0.1, 및 R1.1이 비 유휴 라우터 온 칩이면, R5.0으로부터 검색하여 발견되는 연속적인 유휴 라우터 온 칩은 R5.0, R5.1, R5.2, Rs0.2, 및 R5.3을 포함한다.
본 발명의 작업 할당 방법에서의 이로운 효과와 종래기술에서의 라우팅 서브넷에 기초한 작업 할당 방법의 이로운 효과를 분명하게 비교하기 위해, 본 발명의 기술적 솔루션 및 기존의 기술적 솔루션을 상이한 트래픽 모델을 사용하여 분석한다.
도 5a는 유니폼 랜덤 트래픽 모델(uniform random traffic model)을 사용함으로써, 본 발명의 작업 할당 방법 및 라우팅 서브넷에 기초한 작업 할당 방법을 분석하는 개략도이다. 도 5a에 도시된 바와 같이, 유니폼 랜덤 트래픽 모델(Uniform)에서, 수평 좌표는 주입 비율이고, 네트워크 온 칩의 프로세서 코어의 활용도로서 이해될 수 있으며, 수직 좌표는 지연 지속시간이고; 는 본 발명에서의 주입 비율과 지연 지속시간의 대응 곡선을 나타내고; 는 라우팅 서브넷에 기초한 작업 할당 방법에서의 주입 비율과 지연 지속시간의 대응 곡선을 나타낸다.
도 5a에 도시된 바와 같이, 주입 비율이 0 내지 6×10-3일 때, 전체 네트워크 온 칩의 프로세서 코어의 활용도는 높지 않으며; 이 방법에서, 본 발명의 기술적 솔루션의 지연 지속시간은 기본적으로 기존의 기술적 솔루션의 지연 지속시간과 같다. 그렇지만, 프로세서 코어의 활용도가 더 높기 때문에, 본 발명의 기술적 솔루션와 기존의 기술적 솔루션 간에 있고 동일한 지연 지속시간에 상응하는 차이가 더 크게 되며; 라우팅 서브넷에 기초한 작업 할당 방법에서, 이에 대응해서 주입 비율이 클수록 지연 지속시간이 더 길다는 것을 나타내며, 이는 네트워크 온 칩의 성능이 더 떨어진다는 것을 나타내고, 즉 지연은 분명하게 증가하고, 네트워크 처리량은 낮으며; 그렇지만, 본 발명의 작업 할당 방법에서, 주입 비율이 크게 되면 지연 지속시간은 상대적으로 느리게 증가하는데, 이는 네트워크 온 칩의 성능이 우수하다는 것을 나타내고, 즉 지연이 분명하게 증가하지 않고, 네트워크 처리량이 높다.
도 5b는 비트콤 트래픽 모델(bitcomp traffic model)을 사용함으로써, 본 발명의 작업 할당 방법 및 라우팅 서브넷에 기초한 작업 할당 방법을 분석하는 개략도이다. 마찬가지로, 도 5a에 도시된 바와 같이, 도 5b에 도시된 비트콤 트래픽(Bitcomp) 트래픽 모델에서, 유니폼 랜덤 트래픽 모델(Uniform)에서, 수평 좌표는 주입 비율이고, 네트워크 온 칩의 프로세서 코어의 활용도로서 이해될 수 있으며, 수직 좌표는 지연 지속시간이고; 본 발명에서의 주입 비율과 지연 지속시간의 대응 곡선을 나타내고; 는 라우팅 서브넷에 기초한 작업 할당 방법에서의 주입 비율과 지연 지속시간의 대응 곡선을 나타낸다. 주입 비율이 0 내지 2×10-3보다 클 때, 본 발명의 이로운 효과는 분명하게 드러난다.
도 5c는 토네이도 트래픽 모델(tornado random traffic model)을 사용함으로써, 본 발명의 작업 할당 방법 및 라우팅 서브넷에 기초한 작업 할당 방법을 분석하는 개략도이다. 마찬가지로, 도 5a에 도시된 바와 같이, 도 5c에 도시된 토네이도(Tornado) 트래픽 모델에서, 수평 좌표는 주입 비율이고, 네트워크 온 칩의 프로세서 코어의 활용도로서 이해될 수 있으며, 수직 좌표는 지연 지속시간이고; 본 발명에서의 주입 비율과 지연 지속시간의 대응 곡선을 나타내고; 는 라우팅 서브넷에 기초한 작업 할당 방법에서의 주입 비율과 지연 지속시간의 대응 곡선을 나타낸다. 주입 비율이 0 내지 4×10-3보다 클 때, 본 발명의 이로운 효과는 분명하게 드러난다.
[0061] In addition, in order to clearly compare the beneficial effects of the task allocation method of the present invention and beneficial effects of the task allocation method based on a routing subnet in the prior art, beneficial effects of router sharing of the present invention is compared with a division method based on a subnet in the prior art by using a system utilization table.
또한, 본 발명의 작업 할당 방법에서의 이로운 효과와 종래기술에서의 라우팅 서브넷에 기초한 작업 할당 방법의 이로운 효과를 분명하게 비교하기 위해, 본 발명의 라우터 공유의 이로운 효과와 종래기술의 서브넷에 기초한 분할 방법을 시스템 활용표를 사용하여 비교한다.
네트워크 부하 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1 |
사각형 서브넷의 분할 | 0.478033 | 0.572979 | 0.656676 | 0.693422 | 0.701311 | 0.707254 |
라우터 공유 | 0.465374 | 0.542073 | 0.626671 | 0.705102 | 0.766011 | 0.810507 |
표 1은 네트워크 부하 비율이 0.5 내지 1인 경우에 사각형 서브넷 분할방의 시스템 활용도와 본 발명의 라우터 공유 방법의 시스템 활용도 간의 비교표이다. 네트워크 부하 비율이 0.5 내지 1이다는 것은 시스템이 실제로 제공할 수 있는 프로세서 코어에 대한 필요한 프로세서 코어의 비율을 나타내며, 예를 들어, 표 1의 열은 다음을 나타낸다: 시스템이 실제로 제공할 수 있는 프로세서 코어에 대한 필요한 프로세서 코어의 비율이 0.5일 때, 시스템은 불포화 상태에 있는 것이고, 이 경우, 사각형 서브넷 분할 방법에 기초한 시스템 활용도는 0.478033인 반면, 본 발명의 라우터 공유 방법에 기초한 시스템 활용도는 0.465374이므로, 시스템 활용도의 차이는 작다. 그렇지만, 네트워크 부하는 지속적으로 증가하므로, 네트워크 부하 비율이 0.9일 때, 시스템은 점차 포화 상태로 되고, 사각형 서브넷 분할 방법에 기초한 시스템 활용도는 0.701311인 반면, 본 발명의 라우터 공유 방법에 기초한 시스템 활용도는 0.766011이며, 최종적으로, 네트워크 부하가 100%에 도달할 때, 즉, 시스템이 포화 상태에 이르렀을 때, 사각형 서브넷 분할 방법에 기초한 시스템 활용도는 0.707254인 반면, 본 발명의 라우터 공유 방법에 기초한 시스템 활용도는 0.810507이므로, 시스템 활용도의 차이는 거의 10%이다.
전술한 실시예에서, 네트워크 온 칩의 유휴 프로세서 코어는 최초의 유휴 프로세서 코어로서 무작위로 사용되고, 프로세서 코어를 다시 검색해야 할 때, 초기의 유휴 프로세서 코어로부터 검색을 수행하지만, 본 발명은 이에 제한되지 않으며, 다른 가능한 실시 방식에서, 초기의 유휴 프로세서 코어 역시 미리 설정된 규칙에 따라 선택될 수 있으며; 검색이 수행될 때마다, 초기의 유휴 프로세서 코어 역시 다를 수 있다. 또한, 네트워크 온 칩 내의 연속적인 유휴 프로세서 코어가 위치하는 비 직사각형 영역의 수가 1보다 크면, 이 영역 내의 프로세서 코어는 초기의 유휴 프로세서 코어로서 무작위로 결정될 수 있다.
[0064] FIG. 6 is a schematic structural diagram of Embodiment 1 of a task allocation apparatus according to the present invention. As shown in FIG. 6, the task allocation apparatus provided in this embodiment specifically may implement various steps of a method that is applied to the task allocation apparatus and provided in any embodiment of the present invention, and a specific implementation process is not described herein again. The task allocation apparatus provided in this embodiment specifically includes:
도 6은 본 발명에 따른 작업 할당 장치의 실시예 1에 대한 개략적인 구조도이다. 도 6에 도시된 바와 같이, 이 실시예에서 제공하는 작업 할당 장치는 본 발명의 임의의 실시예에서 제공하는 작업 할당 장치에 적용되는 방법의 다양한 단계를 실행할 수 있으며, 특정한 실시 프로세스에 대해서는 여기서 다시 설명하지 않는다. 이 실시예에서 제공하는 작업 할당 장치는 구체적으로:
처리될 작업에 포함되어 있는 스레드의 수를 결정하도록 구성되어 있는 제1 결정 모듈(11);
멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하도록 구성되어 있는 제2 결정 모듈(12) - 상기 유휴 프로세서 코어 각각은 하나의 라우터 온 칩에 접속됨 - ;
상기 제2 결정 모듈(12)에 의해 결정되고 상기 유휴 프로세서 코어에 접속된 상기 결정된 라우터 온 칩에 의해 형성된 영역이 비 직사각형 영역일 때, 상기 네트워크 온 칩에서, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역을 검색하고 결정하도록 구성되어 있는 제3 결정 모듈(13); 및
상기 제3 결정 모듈에 의해 결정된 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 각각의 라우터 온 칩의 예측 트래픽이 미리 설정된 임계값을 초과하지 않으면, 상기 처리될 작업의 스레드를 상기 유휴 프로세서 코어에 할당하도록 구성되어 있는 할당 모듈(14)
을 포함하며, 상기 유휴 프로세서 코어 각각에는 하나의 스레드가 할당된다.
본 발명의 실시예에서 제공하는 작업 할당 장치에 따르면, 제1 결정 모듈은 처리될 작업에 포함된 스레드의 수를 결정하고; 제2 결정 모듈은, 복수의 유휴 프로세서 코어의 수가 필요한 스레드의 수와 일치하는 이러한 복수의 유휴 프로세서에 의해 형성된 비 직사각형 영역을 네트워크 온 칩에서 결정하고, 이러한 비 직사각형 영역에 인접하는 에지 라우터 온 칩 및 라우터 온 칩은 유휴 프로세서 코어에 접속되고 비 직사각형 영역에서 규칙적인 직사각형 영역을 형성하며; 그런 다음 제3 결정 모듈은 비 유휴 프로세서 코어에 접속되고 직사각형 영역 내에 있는 라우터 온 칩, 즉 에지 라우터 온 칩의 트래픽이 미리 설정된 임계값을 초과하는지를 결정하고; 그리고 초과하지 않으면, 할당 모듈은 처리될 작업을 유휴 영역 내의 프로세서 코어에 할당한다. 본 발명의 실시예에서 제공하는 작업 할당 방법에 따르면, 네트워크 온 칩 내의 유휴 프로세서 코어 자원의 수가 처리될 작업이 필요로 하는 프로세서 코어의 수보다 크거나 같을 때, 처리될 작업이 할당되는 규칙적인 직사각형 영역이 없으면, 비 직사각형 영역은 에지 라우터를 사용함으로써 규칙적인 직사각형 영역을 형성하고 처리될 작업이 할당되며; 직사각형 영역에서, 출발지 라우터 온 칩으로부터 목적지 라우터 온 칩으로의 패킷의 라우팅 메커니즘은 라우팅 테이블을 사용함으로써 결정되지 않아도 되며, 패킷은 XY 라우팅 방식으로 전송되고, 이에 의해 네트워크 혼잡이 회피되고, 네트워크 처리량이 향상된다.
또한, 상기 제3 결정 모듈(13)은 구체적으로,
상기 비 직사각형 영역으로부터 연장하는 직사각형 영역이 상기 네트워크 온 칩에서 상기 비 직사각형 영역을 포함하는 최소의 직사각형 영역인 것으로 결정하도록 구성되어 있다.
또한, 상기 할당 모듈은,
상기 제2 결정 모듈(12)에 의해 결정되고 상기 복수의 유휴 프로세서 코어에 접속된 라우터 온 칩이 직사각형 영역을 형성하면, 상기 처리될 작업의 스레드를 상기 유휴 프로세서 코어에 각각 할당하도록 추가로 구성되어 있으며, 상기 유휴 프로세서 코어 각각에는 하나의 스레드가 할당된다.
또한, 상기 제2 결정 모듈(12)은 구체적으로,
상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 최초의 유휴 프로세서 코어를 결정하며 - 상기 네트워크 온 칩은 행렬식으로 배열된 복수의 프로세서 코어를 포함함 - ; 그리고
상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 상기 최초의 유휴 프로세서 코어를 시작점으로 사용함으로써, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어를 결정하도록 구성되어 있다.
또한, 상기 제2 결정 모듈(12)은 구체적으로,
상기 최초의 유휴 프로세서 코어에 접속된 동일한 행의 라우터 온 칩에서의 인접 라우터 온 칩을 따라, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어가 존재하는지를 연속적으로 결정하며; 그리고
제1 유휴 영역 내에서, 동일한 행의 인접 라우터 온 칩을 따라 연속적으로 결정된 연속적인 프로세서 코어의 수가 상기 스레드의 수와 일치하지 않으면, 제1 유휴 영역 내의 프로세서 코어의 수와 제2 유휴 영역 내의 프로세서 코어의 수의 합이 상기 스레드의 수와 같아지도록, 상기 최초의 유휴 프로세서에 접속된 동일한 열의 라우터 온 칩 내의 인접 라우터 온 칩을 따르는 연속적인 제2 유휴 영역을 연속적으로 결정하도록 구성되어 있다.
또한, 상기 제2 결정 모듈(12)은 구체적으로,
상기 최초의 유휴 프로세서 코어에 접속된 동일한 열의 라우터 온 칩에서의 인접 라우터 온 칩을 따라, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어가 존재하는지를 연속적으로 결정하며; 그리고
제3 유휴 영역 내에서, 동일한 열의 인접 라우터 온 칩을 따라 연속적으로 결정된 연속적인 프로세서 코어의 수가 상기 스레드의 수와 일치하지 않으면, 제3 유휴 영역 내의 프로세서 코어의 수와 제4 유휴 영역 내의 프로세서 코어의 수의 합이 상기 스레드의 수와 같아지도록, 상기 최초의 유휴 프로세서에 접속된 동일한 행의 라우터 온 칩 내의 인접 라우터 온 칩을 따르는 연속적인 제4 유휴 영역을 연속적으로 결정하도록 구성되어 있다.
도 7은 본 발명에 따른 작업 할당 장치의 실시예 2에 대한 개략적인 구조도이다. 도 7에 도시된 바와 같이, 도 6에 도시된 장치에 기초하여, 본 발명의 실시예에서 제공하는 작업 할당 장치는:
상기 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 내력 트래픽 정보에 따라, 상기 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 트래픽을 예측하여 상기 예측 트래픽을 획득하도록 구성되어 있는 예측 모듈(15)
을 더 포함할 수 있다.
도 8은 본 발명에 따른 작업 할당 장치의 실시예 3에 대한 개략적인 구조도이다. 도 8에 도시된 바와 같이, 이 실시예에서의 작업 할당 장치(800)는 프로세서(81) 및 메모리(82)를 포함할 수 있다. 작업 할당 장치(800)는 전송기(83) 및 수신기(84)를 더 포함할 수 있다. 전송기(83) 및 수신기(84)는 프로세서(81)에 접속될 수 있고, 메모리(82)는 실행 명령을 저장하며, 작업 할당 장치(800)가 실행되면, 프로세서(81)는 메모리(82)와 통신하며, 프로세서(81)는 메모리(82) 내의 실행 명령을 발동하여 다음의 동작을 수행한다:
작업 할당 장치(800)는 처리될 작업에 포함되어 있는 스레드(thread)의 수를 결정하고;
멀티코어 프로세서에 의해 형성된 네트워크 온 칩(network-on-chip)에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하고 - 상기 유휴 프로세서 코어 각각은 하나의 라우터 온 칩에 접속됨 - ;
상기 네트워크 온 칩에서 상기 유휴 프로세서 코어에 접속된 상기 결정된 라우터 온 칩에 의해 형성된 영역이 비 직사각형 영역이면, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역을 검색하고 결정하며; 그리고
비 유휴 프로세서 코어에 접속되는 상기 연장된 직사각형 영역 내의 각각의 라우터 온 칩의 예측 트래픽이 미리 설정된 임계값을 초과하지 않으면, 상기 처리될 작업의 스레드를 상기 유휴 프로세서 코어에 할당하며, 상기 유휴 프로세서 코어 각각에는 하나의 스레드가 할당된다.
선택적으로, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역은 상기 네트워크 온 칩에서 상기 비 직사각형 영역을 포함하는 최소의 직사각형 영역이다.
선택적으로, 상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계 이후에, 상기 작업 할당 방법은:
상기 유휴 프로세서 코어의 상기 결정된 라우터 온 칩에 의해 형성된 영역이 직사각형 영역이면, 상기 처리될 작업의 스레드를 상기 유휴 프로세서 코어에 각각 할당하는 단계
를 더 포함하며,
상기 유휴 프로세서 코어 각각에는 하나의 스레드가 할당된다.
선택적으로, 상기 네트워크 온 칩은 행렬식으로 배열된 복수의 프로세서 코어를 포함하며,
이에 대응해서, 상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계는:
상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 최초의 유휴 프로세서 코어를 결정하는 단계; 및
상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 상기 최초의 유휴 프로세서 코어를 시작점으로 사용함으로써, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계
를 포함한다.
선택적으로, 상기 유휴 프로세서 코어의 상기 결정된 라우터 온 칩에 의해 형성된 영역이 비 직사각형 영역이면, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역을 검색하고 결정하는 단계는:
상기 최초의 유휴 프로세서 코어에 접속된 동일한 행의 라우터 온 칩에서의 인접 라우터 온 칩을 따라, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어가 존재하는지를 연속적으로 결정하는 단계; 및
제1 유휴 영역 내에서, 동일한 행의 인접 라우터 온 칩을 따라 연속적으로 결정된 연속적인 프로세서 코어의 수가 상기 스레드의 수와 일치하지 않으면, 제1 유휴 영역 내의 프로세서 코어의 수와 제2 유휴 영역 내의 프로세서 코어의 수의 합이 상기 스레드의 수와 같아지도록, 상기 최초의 유휴 프로세서에 접속된 동일한 열의 라우터 온 칩 내의 인접 라우터 온 칩을 따르는 연속적인 제2 유휴 영역을 연속적으로 결정하는 단계
를 포함한다.
선택적으로, 상기 유휴 프로세서 코어의 상기 결정된 라우터 온 칩에 의해 형성된 영역이 비 직사각형 영역이면, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역을 검색하고 결정하는 단계는:
상기 최초의 유휴 프로세서 코어에 접속된 동일한 열의 라우터 온 칩에서의 인접 라우터 온 칩을 따라, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어가 존재하는지를 연속적으로 결정하는 단계; 및
제3 유휴 영역 내에서, 동일한 열의 인접 라우터 온 칩을 따라 연속적으로 결정된 연속적인 프로세서 코어의 수가 상기 스레드의 수와 일치하지 않으면, 제3 유휴 영역 내의 프로세서 코어의 수와 제4 유휴 영역 내의 프로세서 코어의 수의 합이 상기 스레드의 수와 같아지도록, 상기 최초의 유휴 프로세서에 접속된 동일한 행의 라우터 온 칩 내의 인접 라우터 온 칩을 따르는 연속적인 제4 유휴 영역을 연속적으로 결정하는 단계
를 포함한다.
선택적으로, 상기 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 각각의 라우터 온 칩의 예측 트래픽이 미리 설정된 임계값을 초과하지 않으면, 상기 처리될 작업에 포함되어 있는 스레드를 상기 유휴 프로세서 코어에 각각 할당하는 단계 이전에, 상기 방법은:
상기 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 내력 트래픽 정보(historical traffic information)에 따라, 상기 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 트래픽을 예측하여 상기 예측 트래픽을 획득하는 단계
를 더 포함한다.
전술한 작업 할당 방범 및 작업 할당 장치에 기초하여, 본 발명의 실시예는, 복수의 프로세서 코어, 라우터 온 칩, 및 상호접속을 포함하고, 도 6 또는 도 7에 도시된 작업 할당 장치를 포함하는 네트워크 온 칩을 제공하며, 이 네트워크 온 칩은 이에 상응해서 도 2 내지 도 4a에서의 임의의 방법 실시예의 기술적 솔루션을 수행할 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.
마지막으로, 전술한 실시예는 본 발명의 기술적 솔루션을 설명하기 위한 것에 지나지 않으며, 본 발명을 제한하려는 것이 아님에 유의해야 한다. 본 발명을 전술한 실시예를 참조하여 설명하였으나, 당업자라면 전술한 실시예에 설명된 기술적 솔루션에 대한 수정, 또는 기술적 특징 중 일부 또는 전부에 대한 등가의 대체는 대응하는 기술적 솔루션의 본질이 본 발명의 실시예의 기술적 솔루션의 범위를 벗어나지 않는 한, 이러한 변형 또는 대체를 수행할 수 있다는 것을 이해할 수 있을 것이다.
Claims (20)
- 작업 할당 방법으로서,
작업 할당 장치가, 처리될 작업에 포함되어 있는 스레드(thread)의 수를 결정하는 단계;
상기 작업 할당 장치가, 멀티코어 프로세서에 의해 형성된 네트워크 온 칩(network-on-chip)에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계 - 상기 유휴 프로세서 코어 각각은 하나의 라우터 온 칩(router-on-chip)에 접속됨 - ;
상기 작업 할당 장치가, 상기 네트워크 온 칩에서 상기 유휴 프로세서 코어에 접속된 상기 결정된 라우터 온 칩에 의해 형성된 영역이 비 직사각형 영역(non-rectangular area)이면, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역을 검색하고 결정하는 단계; 및
상기 작업 할당 장치가, 비 유휴 프로세서 코어(non-idle processor core)에 접속되는 상기 연장된 직사각형 영역 내의 각각의 라우터 온 칩의 예측 트래픽이 미리 설정된 임계값을 초과하지 않으면, 상기 처리될 작업의 스레드를 상기 유휴 프로세서 코어에 할당하는 단계
를 포함하며,
상기 유휴 프로세서 코어 각각에는 하나의 스레드가 할당되는, 작업 할당 방법. - 제1항에 있어서,
상기 비 직사각형 영역으로부터 연장하는 직사각형 영역은 상기 네트워크 온 칩에서 상기 비 직사각형 영역을 포함하는 최소의 직사각형 영역인, 작업 할당 방법. - 제1항에 있어서,
상기 작업 할당 장치가, 상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 일치하는 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계 이후에,
상기 작업 할당 장치가, 상기 유휴 프로세서 코어의 상기 결정된 라우터 온 칩에 의해 형성된 영역이 직사각형 영역이면, 상기 처리될 작업의 스레드를 상기 유휴 프로세서 코어에 각각 할당하는 단계
를 더 포함하며,
상기 프로세서 코어 각각에는 하나의 스레드가 할당되는, 작업 할당 방법. - 제2항에 있어서,
상기 작업 할당 장치가, 상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계 이후에,
상기 작업 할당 장치가, 상기 유휴 프로세서 코어의 상기 결정된 라우터 온 칩에 의해 형성된 영역이 직사각형 영역이면, 상기 처리될 작업의 스레드를 상기 유휴 프로세서 코어에 각각 할당하는 단계
를 더 포함하며,
상기 프로세서 코어 각각에는 하나의 스레드가 할당되는, 작업 할당 방법. - 제1항에 있어서,
상기 네트워크 온 칩은 행렬식으로 배열된 복수의 프로세서 코어를 포함하며,
이에 대응해서, 상기 작업 할당 장치가, 상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계는,
상기 작업 할당 장치가, 상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 최초의 유휴 프로세서 코어를 결정하는 단계; 및
상기 작업 할당 장치가, 상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 상기 최초의 유휴 프로세서 코어를 시작점으로 사용함으로써, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계
를 포함하는, 작업 할당 방법. - 제2항에 있어서,
상기 네트워크 온 칩은 행렬식으로 배열된 복수의 프로세서 코어를 포함하며,
이에 대응해서, 상기 작업 할당 장치가, 상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계는,
상기 작업 할당 장치가, 상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 최초의 유휴 프로세서 코어를 결정하는 단계; 및
상기 작업 할당 장치가, 상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 상기 최초의 유휴 프로세서 코어를 시작점으로 사용함으로써, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계
를 포함하는, 작업 할당 방법. - 제3항에 있어서,
상기 네트워크 온 칩은 행렬식으로 배열된 복수의 프로세서 코어를 포함하며,
이에 대응해서, 상기 작업 할당 장치가, 상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계는,
상기 작업 할당 장치가, 상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 최초의 유휴 프로세서 코어를 결정하는 단계; 및
상기 작업 할당 장치가, 상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 상기 최초의 유휴 프로세서 코어를 시작점으로 사용함으로써, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하는 단계
를 포함하는, 작업 할당 방법. - 제5항에 있어서,
상기 작업 할당 장치가, 상기 유휴 프로세서 코어의 상기 결정된 라우터 온 칩에 의해 형성된 영역이 비 직사각형 영역이면, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역을 검색하고 결정하는 단계는,
상기 작업 할당 장치가, 상기 최초의 유휴 프로세서 코어에 접속된 동일한 행의 라우터 온 칩에서의 인접 라우터 온 칩을 따라, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어가 존재하는지를 연속적으로 결정하는 단계; 및
제1 유휴 영역 내에서, 동일한 행의 인접 라우터 온 칩을 따라 연속적으로 결정된 연속적인 프로세서 코어의 수가 상기 스레드의 수와 일치하지 않으면, 상기 작업 할당 장치가, 제1 유휴 영역 내의 프로세서 코어의 수와 제2 유휴 영역 내의 프로세서 코어의 수의 합이 상기 스레드의 수와 같아지도록, 상기 최초의 유휴 프로세서에 접속된 동일한 열의 라우터 온 칩 내의 인접 라우터 온 칩을 따라 제2 유휴 영역 내의 연속적인 프로세서 코어의 수를 연속적으로 결정하는 단계
를 포함하는, 작업 할당 방법. - 제5항에 있어서,
상기 작업 할당 장치가, 상기 유휴 프로세서 코어의 상기 결정된 라우터 온 칩에 의해 형성된 영역이 비 직사각형 영역이면, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역을 검색하고 결정하는 단계는,
상기 작업 할당 장치가, 상기 최초의 유휴 프로세서 코어에 접속된 동일한 열의 라우터 온 칩에서의 인접 라우터 온 칩을 따라, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어가 존재하는지를 연속적으로 결정하는 단계; 및
제3 유휴 영역 내에서, 동일한 열의 인접 라우터 온 칩을 따라 연속적으로 결정된 연속적인 프로세서 코어의 수가 상기 스레드의 수와 일치하지 않으면, 상기 작업 할당 장치가, 제3 유휴 영역 내의 프로세서 코어의 수와 제4 유휴 영역 내의 프로세서 코어의 수의 합이 상기 스레드의 수와 같아지도록, 상기 최초의 유휴 프로세서에 접속된 동일한 행의 라우터 온 칩 내의 인접 라우터 온 칩을 따라 제4 유휴 영역 내의 연속적인 프로세서 코어의 수를 연속적으로 결정하는 단계
를 포함하는, 작업 할당 방법. - 제1항에 있어서,
상기 작업 할당 장치가, 상기 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 각각의 라우터 온 칩의 예측 트래픽이 미리 설정된 임계값을 초과하지 않으면, 상기 처리될 작업에 포함되어 있는 스레드를 상기 유휴 프로세서 코어에 각각 할당하는 단계 이전에,
상기 작업 할당 장치가, 상기 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 내력 트래픽 정보(historical traffic information)에 따라, 상기 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 트래픽을 예측하여 상기 예측 트래픽을 획득하는 단계
를 더 포함하는 작업 할당 방법. - 작업 할당 장치로서,
처리될 작업에 포함되어 있는 스레드의 수를 결정하도록 구성되어 있는 제1 결정 모듈;
멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하도록 구성되어 있는 제2 결정 모듈 - 상기 유휴 프로세서 코어 각각은 하나의 라우터 온 칩에 접속됨 - ;
상기 제2 결정 모듈에 의해 결정되고 상기 유휴 프로세서 코어에 접속된 상기 결정된 라우터 온 칩에 의해 형성된 영역이 비 직사각형 영역일 때, 상기 네트워크 온 칩에서, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역을 검색하고 결정하도록 구성되어 있는 제3 결정 모듈; 및
상기 제3 결정 모듈에 의해 결정된 비 유휴 프로세서 코어에 접속되는 상기 직사각형 영역 내의 각각의 라우터 온 칩의 예측 트래픽이 미리 설정된 임계값을 초과하지 않으면, 상기 처리될 작업의 스레드를 상기 유휴 프로세서 코어에 할당하도록 구성되어 있는 할당 모듈
을 포함하며,
상기 유휴 프로세서 코어 각각에는 하나의 스레드가 할당되는, 작업 할당 장치. - 제11항에 있어서,
상기 제3 결정 모듈은 구체적으로, 상기 비 직사각형 영역으로부터 연장하는 직사각형 영역이 상기 네트워크 온 칩에서 상기 비 직사각형 영역을 포함하는 최소의 직사각형 영역인 것으로 결정하도록 구성되어 있는, 작업 할당 장치. - 제11항에 있어서,
상기 할당 모듈은,
상기 제2 결정 모듈에 의해 결정되고 상기 복수의 유휴 프로세서 코어에 접속된 라우터 온 칩이 직사각형 영역을 형성하면, 상기 처리될 작업의 스레드를 상기 유휴 프로세서 코어에 각각 할당하도록 추가로 구성되어 있으며, 상기 프로세서 코어 각각에는 하나의 스레드가 할당되는, 작업 할당 장치. - 제12항에 있어서,
상기 할당 모듈은,
상기 제2 결정 모듈에 의해 결정되고 상기 복수의 유휴 프로세서 코어에 접속된 라우터 온 칩이 직사각형 영역을 형성하면, 상기 처리될 작업의 스레드를 상기 유휴 프로세서 코어에 각각 할당하도록 추가로 구성되어 있으며, 상기 프로세서 코어 각각에는 하나의 스레드가 할당되는, 작업 할당 장치. - 제11항에 있어서,
상기 제2 결정 모듈은 구체적으로,
상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 최초의 유휴 프로세서 코어를 결정하며 - 상기 네트워크 온 칩은 행렬식으로 배열된 복수의 프로세서 코어를 포함함 - ; 그리고
상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 상기 최초의 유휴 프로세서 코어를 시작점으로 사용함으로써, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하도록 구성되어 있는, 작업 할당 장치. - 제12항에 있어서,
상기 제2 결정 모듈은 구체적으로,
상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 최초의 유휴 프로세서 코어를 결정하며 - 상기 네트워크 온 칩은 행렬식으로 배열된 복수의 프로세서 코어를 포함함 - ; 그리고
상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 상기 최초의 유휴 프로세서 코어를 시작점으로 사용함으로써, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하도록 구성되어 있는, 작업 할당 장치. - 제13항에 있어서,
상기 제2 결정 모듈은 구체적으로,
상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 최초의 유휴 프로세서 코어를 결정하며 - 상기 네트워크 온 칩은 행렬식으로 배열된 복수의 프로세서 코어를 포함함 - ; 그리고
상기 멀티코어 프로세서에 의해 형성된 네트워크 온 칩에서 상기 최초의 유휴 프로세서 코어를 시작점으로 사용함으로써, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어를 결정하도록 구성되어 있는, 작업 할당 장치. - 제15항에 있어서,
상기 제2 결정 모듈은 구체적으로,
상기 최초의 유휴 프로세서 코어에 접속된 동일한 행의 라우터 온 칩에서의 인접 라우터 온 칩을 따라, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어가 존재하는지를 연속적으로 결정하며; 그리고
제1 유휴 영역 내에서, 동일한 행의 인접 라우터 온 칩을 따라 연속적으로 결정된 연속적인 프로세서 코어의 수가 상기 스레드의 수와 일치하지 않으면, 제1 유휴 영역 내의 프로세서 코어의 수와 제2 유휴 영역 내의 프로세서 코어의 수의 합이 상기 스레드의 수와 같아지도록, 상기 최초의 유휴 프로세서에 접속된 동일한 열의 라우터 온 칩 내의 인접 라우터 온 칩을 따라 제2 유휴 영역 내의 연속적인 프로세서 코어의 수를 연속적으로 결정하도록 구성되어 있는, 작업 할당 장치. - 제15항에 있어서,
상기 제2 결정 모듈은 구체적으로,
상기 최초의 유휴 프로세서 코어에 접속된 동일한 열의 라우터 온 칩에서의 인접 라우터 온 칩을 따라, 복수의 연속적인 유휴 프로세서 코어의 수가 상기 스레드의 수와 같은 상기 복수의 연속적인 유휴 프로세서 코어가 존재하는지를 연속적으로 결정하며; 그리고
제3 유휴 영역 내에서, 동일한 열의 인접 라우터 온 칩을 따라 연속적으로 결정된 연속적인 프로세서 코어의 수가 상기 스레드의 수와 일치하지 않으면, 제3 유휴 영역 내의 프로세서 코어의 수와 제4 유휴 영역 내의 프로세서 코어의 수의 합이 상기 스레드의 수와 같아지도록, 상기 최초의 유휴 프로세서에 접속된 동일한 행의 라우터 온 칩 내의 인접 라우터 온 칩을 따라 제4 유휴 영역 내의 연속적인 프로세서 코어의 수를 연속적으로 결정하도록 구성되어 있는, 작업 할당 장치. - 제11항에 있어서,
상기 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 내력 트래픽 정보에 따라, 상기 직사각형 영역 내에서 비 유휴 프로세서 코어에 접속되는 라우터 온 칩의 트래픽을 예측하여 상기 예측 트래픽을 획득하도록 구성되어 있는 예측 모듈
을 더 포함하는 작업 할당 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310177172.1A CN104156267B (zh) | 2013-05-14 | 2013-05-14 | 任务分配方法、任务分配装置及片上网络 |
CN201310177172.1 | 2013-05-14 | ||
PCT/CN2014/075655 WO2014183530A1 (zh) | 2013-05-14 | 2014-04-18 | 任务分配方法、任务分配装置及片上网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160007606A KR20160007606A (ko) | 2016-01-20 |
KR101729596B1 true KR101729596B1 (ko) | 2017-05-11 |
Family
ID=51881772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157035119A KR101729596B1 (ko) | 2013-05-14 | 2014-04-18 | 작업 할당 방법, 작업 할당 장치, 및 네트워크 온 칩 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9965335B2 (ko) |
EP (1) | EP2988215B1 (ko) |
JP (1) | JP6094005B2 (ko) |
KR (1) | KR101729596B1 (ko) |
CN (1) | CN104156267B (ko) |
WO (1) | WO2014183530A1 (ko) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763962B (zh) | 2014-12-18 | 2019-05-10 | 华为技术有限公司 | 光片上网络、光路由器和传输信号的方法 |
KR102285481B1 (ko) * | 2015-04-09 | 2021-08-02 | 에스케이하이닉스 주식회사 | NoC 반도체 장치의 태스크 매핑 방법 |
CN106612236B (zh) * | 2015-10-21 | 2020-02-07 | 深圳市中兴微电子技术有限公司 | 众核网络处理器及其微引擎的报文调度方法、系统 |
CN105718318B (zh) * | 2016-01-27 | 2019-12-13 | 戴西(上海)软件有限公司 | 一种基于辅助工程设计软件的集合式调度优化方法 |
CN105721342B (zh) * | 2016-02-24 | 2017-08-25 | 腾讯科技(深圳)有限公司 | 多进程设备的网络连接方法和系统 |
CN107329822B (zh) * | 2017-01-15 | 2022-01-28 | 齐德昱 | 面向多源多核系统的基于超任务网的多核调度方法 |
CN107632594B (zh) * | 2017-11-06 | 2024-02-06 | 苏州科技大学 | 一种基于无线网络的电器集中控制系统和控制方法 |
CN108694156B (zh) * | 2018-04-16 | 2021-12-21 | 东南大学 | 一种基于缓存一致性行为的片上网络流量合成方法 |
KR102026970B1 (ko) * | 2018-10-08 | 2019-09-30 | 성균관대학교산학협력단 | 네트워크 온 칩의 다중 라우팅 경로 설정 방법 및 장치 |
EP3671456A1 (fr) * | 2018-12-21 | 2020-06-24 | Bull SAS | Procédé de déploiement d'une tâche dans un supercalculateur, procédé de mise en oeuvre d'une tâche dans un supercalculateur, programme d'ordinateur correspondant et supercalculateur |
FR3091773A1 (fr) | 2018-12-21 | 2020-07-17 | Bull Sas | Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage |
US11327796B2 (en) | 2018-12-21 | 2022-05-10 | Bull Sas | Method for deploying a task in a supercomputer by searching switches for interconnecting nodes |
FR3091771A1 (fr) * | 2018-12-21 | 2020-07-17 | Bull Sas | Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage |
EP3671455A1 (fr) * | 2018-12-21 | 2020-06-24 | Bull SAS | Procédé de déploiement d'une tâche dans un supercalculateur, procédé de mise en oeuvre d'une tâche dans un supercalculateur, programme d'ordinateur correspondant et supercalculateur |
FR3091775A1 (fr) * | 2018-12-21 | 2020-07-17 | Bull Sas | Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage |
CN111382115B (zh) | 2018-12-28 | 2022-04-15 | 北京灵汐科技有限公司 | 一种用于片上网络的路径创建方法、装置及电子设备 |
KR102059548B1 (ko) * | 2019-02-13 | 2019-12-27 | 성균관대학교산학협력단 | Vfi 네트워크 온칩에 대한 구역간 라우팅 방법, vfi 네트워크 온칩에 대한 구역내 라우팅 방법, vfi 네트워크 온칩에 대한 구역내 및 구역간 라우팅 방법 및 이를 실행하기 위한 프로그램이 기록된 기록매체 |
CN109995652B (zh) * | 2019-04-15 | 2021-03-19 | 中北大学 | 一种基于冗余通道构筑的片上网络感知预警路由方法 |
CN110471777B (zh) * | 2019-06-27 | 2022-04-15 | 中国科学院计算机网络信息中心 | 一种Python-Web环境中多用户共享使用Spark集群的实现方法和系统 |
US11134030B2 (en) * | 2019-08-16 | 2021-09-28 | Intel Corporation | Device, system and method for coupling a network-on-chip with PHY circuitry |
CN112612605B (zh) * | 2020-12-16 | 2024-07-09 | 平安消费金融有限公司 | 线程分配方法、装置、计算机设备和可读存储介质 |
CN115686800B (zh) * | 2022-12-30 | 2023-03-21 | 摩尔线程智能科技(北京)有限责任公司 | 用于多核系统的动态核心调度方法和装置 |
CN116405555B (zh) * | 2023-03-08 | 2024-01-09 | 阿里巴巴(中国)有限公司 | 数据传输方法、路由节点、处理单元和片上系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090328047A1 (en) | 2008-06-30 | 2009-12-31 | Wenlong Li | Device, system, and method of executing multithreaded applications |
US20110219382A1 (en) | 2008-11-03 | 2011-09-08 | Huawei Technologies Co., Ltd. | Method, system, and apparatus for task allocation of multi-core processor |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5007050B2 (ja) * | 2006-02-01 | 2012-08-22 | 株式会社野村総合研究所 | 格子型コンピュータシステム、タスク割り当てプログラム |
JP2008191949A (ja) * | 2007-02-05 | 2008-08-21 | Nec Corp | マルチコアシステムおよびマルチコアシステムの負荷分散方法 |
JP5429382B2 (ja) | 2010-08-10 | 2014-02-26 | 富士通株式会社 | ジョブ管理装置及びジョブ管理方法 |
KR101770587B1 (ko) | 2011-02-21 | 2017-08-24 | 삼성전자주식회사 | 멀티코어 프로세서의 핫 플러깅 방법 및 멀티코어 프로세서 시스템 |
CN102193779A (zh) * | 2011-05-16 | 2011-09-21 | 武汉科技大学 | 一种面向MPSoC的多线程调度方法 |
JP5724626B2 (ja) | 2011-05-23 | 2015-05-27 | 富士通株式会社 | プロセス配置装置、プロセス配置方法及びプロセス配置プログラム |
CN102541633A (zh) * | 2011-12-16 | 2012-07-04 | 汉柏科技有限公司 | 基于多核cpu的数据平面和控制平面部署系统及方法 |
-
2013
- 2013-05-14 CN CN201310177172.1A patent/CN104156267B/zh active Active
-
2014
- 2014-04-18 JP JP2016513212A patent/JP6094005B2/ja active Active
- 2014-04-18 WO PCT/CN2014/075655 patent/WO2014183530A1/zh active Application Filing
- 2014-04-18 EP EP14797851.4A patent/EP2988215B1/en active Active
- 2014-04-18 KR KR1020157035119A patent/KR101729596B1/ko active IP Right Grant
-
2015
- 2015-11-13 US US14/940,577 patent/US9965335B2/en active Active
-
2018
- 2018-04-02 US US15/943,370 patent/US10671447B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090328047A1 (en) | 2008-06-30 | 2009-12-31 | Wenlong Li | Device, system, and method of executing multithreaded applications |
US20110219382A1 (en) | 2008-11-03 | 2011-09-08 | Huawei Technologies Co., Ltd. | Method, system, and apparatus for task allocation of multi-core processor |
Non-Patent Citations (3)
Title |
---|
AMIT KUMAR SINGH 외 2명. 'Communication-aware heuristics for run-time task mapping on NoC-based MPSoC platforms'. Jounal of System Architecture, Vol.56, 2010.05., pp.242-255. |
LUKA B. DAOUD 외 2명. 'Processor allocation algorithm based on Frame Combing with Memorization for 2D mesh CMPs'. 2012 IEEE 3rd Latin American Symposium on Circuits and Systems, 2012.02.29., pp.1-4. |
XIONGFEI LIAO 외 1명. 'A scalable strategy for runtime resource management on NoC based manycore systems'. 13th International Symposium on Integrated Circuits (ISIC), 2011.12.12., pp.297-300. |
Also Published As
Publication number | Publication date |
---|---|
US20160070603A1 (en) | 2016-03-10 |
US10671447B2 (en) | 2020-06-02 |
EP2988215B1 (en) | 2021-09-08 |
WO2014183530A1 (zh) | 2014-11-20 |
JP2016522488A (ja) | 2016-07-28 |
EP2988215A1 (en) | 2016-02-24 |
JP6094005B2 (ja) | 2017-03-15 |
CN104156267B (zh) | 2017-10-10 |
US9965335B2 (en) | 2018-05-08 |
EP2988215A4 (en) | 2016-04-27 |
US20180225156A1 (en) | 2018-08-09 |
CN104156267A (zh) | 2014-11-19 |
KR20160007606A (ko) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101729596B1 (ko) | 작업 할당 방법, 작업 할당 장치, 및 네트워크 온 칩 | |
Jain et al. | Maximizing throughput on a dragonfly network | |
US9264369B2 (en) | Technique for managing traffic at a router | |
US9130856B2 (en) | Creating multiple NoC layers for isolation or avoiding NoC traffic congestion | |
RU2479158C2 (ru) | Устройство и способ иерархической маршрутизации в многопроцессорных системах с ячеистой структурой | |
US8959228B2 (en) | Optimization of resource utilization in a collection of devices | |
CN105335229B (zh) | 一种业务资源的调度方法和装置 | |
EP2613479A1 (en) | Relay device | |
EP3399709B1 (en) | Method for forwarding packet | |
CN110191155B (zh) | 一种面向胖树互连网络的并行作业调度方法、系统及存储介质 | |
Chen et al. | NFV middlebox placement with balanced set-up cost and bandwidth consumption | |
US20190114212A1 (en) | Disposition of a workload based on a thermal response of a device | |
JP2022523195A (ja) | メモリ管理方法及び装置 | |
CN114073055B (zh) | 网络控制器 | |
Huang et al. | Wena: Deterministic run-time task mapping for performance improvement in many-core embedded systems | |
Xu et al. | A mathematical model and dynamic programming based scheme for service function chain placement in NFV | |
CN108156078B (zh) | 一种流表构建方法及系统 | |
CN109600421B (zh) | 一种无线云计算系统中分布式计算资源的选择方法 | |
Wang et al. | A dynamic contention-aware application allocation algorithm for many-core processor | |
KR101812452B1 (ko) | 클라우드 서비스에서의 질의 처리 수행 방법 및 이를 이용하는 장치 | |
CN114996199A (zh) | 众核的路由映射方法、装置、设备及介质 | |
WO2016122714A1 (en) | Job scheduling in an infiniband network based hpc cluster | |
WO2017152726A1 (zh) | 一种小区无线资源分配的方法和装置 | |
Ma et al. | Joint task allocation and scheduling for multi-hop distributed computing | |
CN106230751B (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 |