Method for scheduling threads in a many-core system based on a mapping rule between the thread map and core map
First Claim
Patent Images
1. A method of scheduling threads in a many-cores system operating based on many-core processors including a plurality of cores, the method comprising:
- generating a thread map where a connection relationship between a plurality of threads is represented by a frequency of inter-process communication (IPC) between all pairs of threads in the plurality of threads;
generating a core map where a connection relationship between the plurality of cores is represented by hops between each of the plurality of cores; and
respectively allocating the plurality of threads to the plurality of cores defined by the core map, based on a thread allocation policy defining a mapping rule between the thread map and the core mapwherein the respectively allocating of the plurality of threads to the plurality of cores comprises;
combining the plurality of threads by twos to configure a plurality of thread pairs;
selecting a first thread pair, which is the highest in frequency of IPC between the threads, from among the plurality of thread pairs;
allocating a thread, selected front among two threads included in the first thread pair, to a center core; and
allocating another unselected thread of the two threads to a core arbitrarily selected from among cores adjacent to the center core.
1 Assignment
0 Petitions
Accused Products
Abstract
Scheduling threads in a system with many cores includes generating a thread map where a connection relationship between a plurality of threads is represented by a frequency of inter-process communication (IPC) between threads, generating a core map where a connection relationship between a plurality of cores is represented by a hop between cores, and respectively allocating the plurality of threads to the plurality of cores defined by the core map, based on a thread allocation policy defining a mapping rule between the thread map and the core map.
28 Citations
14 Claims
-
1. A method of scheduling threads in a many-cores system operating based on many-core processors including a plurality of cores, the method comprising:
-
generating a thread map where a connection relationship between a plurality of threads is represented by a frequency of inter-process communication (IPC) between all pairs of threads in the plurality of threads; generating a core map where a connection relationship between the plurality of cores is represented by hops between each of the plurality of cores; and respectively allocating the plurality of threads to the plurality of cores defined by the core map, based on a thread allocation policy defining a mapping rule between the thread map and the core map wherein the respectively allocating of the plurality of threads to the plurality of cores comprises; combining the plurality of threads by twos to configure a plurality of thread pairs; selecting a first thread pair, which is the highest in frequency of IPC between the threads, from among the plurality of thread pairs; allocating a thread, selected front among two threads included in the first thread pair, to a center core; and allocating another unselected thread of the two threads to a core arbitrarily selected from among cores adjacent to the center core. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A many-core system comprising:
-
a memory that stores a thread allocation policy defining a mapping rule between a thread map, where a connection relationship between a plurality of threads is represented by a frequency of inter-process communication (IPC) between all pairs of threads in the plurality of threads, and a core map where a connection relationship between the plurality of cores is represented by hops between each of the plurality of cores; and a scheduler that is configured to perform the following operations; respectively allocating the plurality of threads to the plurality of cores, based on the thread allocation policy stored in the storage unit; selecting two threads, which are the highest in frequency of IPC, from among the plurality of threads according to the thread allocation policy; allocating a thread selected from among the selected two threads to a center core of the plurality of cores; and allocating another unselected thread of the two threads to a core arbitrarily selected from among cores adjacent to the center core. - View Dependent Claims (10, 11, 12, 13, 14)
-
Specification