US2011061058A1PendingUtilityA1

Task scheduling method and multi-core system

Assignee: TOSHIBA KKPriority: Sep 7, 2009Filed: Apr 27, 2010Published: Mar 10, 2011
Est. expirySep 7, 2029(~3.1 yrs left)· nominal 20-yr term from priority
G06F 2209/483G06F 9/4881
37
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A task scheduling method and multi-core system according to an embodiment of the present invention comprises: in scheduling for selecting a task that is set in an execution state with a microprocessor allocated thereto out of tasks in an executable state, it is determined whether at least one of the tasks in a young generation, for which the number of times of refill performed until a point of scheduling after transitioning from the execution state to a standby state according to release of the microprocessor is smaller than a predetermined number of times, is present and, when at least one of the tasks in the young generation is present, microprocessor is allocated to the task selected from at least one of the tasks of the young generation.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A task scheduling method in a multi-core system including a plurality of processors, a cache memory and a main memory shared by the processors, and a refill counter that counts a number of times of refill that is exchange of data performed by the processors between the cache memory and the main memory, the task scheduling method comprising:
 determining, in scheduling for selecting a task that is set in an execution state with the processors allocated thereto out of tasks in an executable state that are candidates to which the processors are allocated, whether at least one of the tasks of a first type, for which the number of times of refill performed until a point of scheduling after transitioning from the execution state to a standby state according to release of the processors is smaller than a predetermined number of times, is present among the tasks in the executable state; and   allocating the processors to the task selected from at least one of the tasks of the first type, when at least one of the tasks of the first type is present.   
     
     
         2 . The task scheduling method according to  claim 1 , further comprising setting the predetermined number of times based on a capacity of the cache memory at the point of the scheduling. 
     
     
         3 . The task scheduling method according to  claim 1 , further comprising allocating, at a point when a task of the first type is detected first, the processors to the detected task of the first type. 
     
     
         4 . The task scheduling method according to  claim 1 , further comprising:
 determining, in the scheduling, when all the tasks in the executable state are tasks of a second type, for which the number of times of refill performed until the point of the scheduling after transitioning to the standby state is equal to or larger than the predetermined number of times, whether the number of times of refill performed in a predetermined period until the point of the scheduling is smaller than a predetermined threshold; and   allocating the processors to any one of the tasks of the second type when the number of times of refill is smaller than the threshold and allocating the processors to none of the tasks when the number of times of refill is equal to or larger than the threshold.   
     
     
         5 . The task scheduling method according to  claim 4 , further comprising setting the predetermined threshold based on throughput between the cache memory and the main memory. 
     
     
         6 . The task scheduling method according to  claim 4 , further comprising:
 storing the tasks in the executable state as a queue based on order of transition to the executable state; and   allocating, in the scheduling, when all the tasks in the executable state are tasks of the second type, the processors to a task of the second type at a top of the queue.   
     
     
         7 . The task scheduling method according to  claim 1 , further comprising allocating, in the scheduling, when no task of the first type is present among the tasks in the executable state, the processors to any one of the tasks in the executable state. 
     
     
         8 . The task scheduling method according to  claim 4 , wherein the predetermined period is a period from time of execution of last scheduling until time of execution of present scheduling. 
     
     
         9 . A task scheduling method in a multi-core system including a plurality of processors, a cache memory and a main memory shared by the processors, and a refill counter that counts a number of times of refill that is exchange of data performed by the processors between the cache memory and the main memory, the task scheduling method comprising:
 determining, in scheduling for selecting a task that is set in an execution state with the processors allocated thereto out of tasks in an executable state that are candidates to which the processors are allocated, whether the number of times of refill performed in a predetermined period until a point of the scheduling is smaller than a predetermined threshold; and   allocating the processors to the task selected from at least one of the tasks in the executable state when the number of times of refill is smaller than the threshold and allocating the processors to none of the tasks when the number of times of refill is equal to or larger than the threshold.   
     
     
         10 . The task scheduling method according to  claim 9 , further comprising setting the predetermined threshold based on throughput between the cache memory and the main memory. 
     
     
         11 . The task scheduling method according to  claim 9 , further comprising:
 determining, in selecting a task to which the processors are allocated out of the tasks in the executable state, whether at least one of the tasks of a first type, for which the number of times of refill performed until the point of scheduling after transitioning from the execution state to a standby state according to release of the processors is smaller than a predetermined number of times, is present among the tasks in the executable state;   selecting, when at least one of the tasks of the first type is present, any one of the tasks of the first type and allocating the processors to the task; and   allocating, when no task of the first type is present, the processors to any one of tasks of a second type, for which the number of times of refill performed until the point of the scheduling after transitioning to the standby state is equal to or larger than the predetermined number of times.   
     
     
         12 . The task scheduling method according to  claim 11 , further comprising setting the predetermined number of times based on a capacity of the cache memory at the point of the scheduling. 
     
     
         13 . The task scheduling method according to  claim 11 , further comprising allocating, at a point when a task of the first type is detected first, the processors to the detected task of the first type. 
     
     
         14 . The task scheduling method according to  claim 11 , further comprising:
 storing the tasks in the executable state as a queue based on order of transition to the executable state; and   allocating, in the scheduling, when no task of the first type is present in the queue, the processors to a task of the second type at a top of the queue.   
     
     
         15 . The task scheduling method according to  claim 11 , further comprising:
 storing the tasks in the executable state as a queue based on order of transition to the executable state; and   allocating, in the scheduling, at a point when a task of the first type is detected first, the processors to the detected task of the first type and allocating, when no task of the first type is present in the queue, the processors to a task of the second type at a top of the queue.   
     
     
         16 . A multi-core system having a multi-core processor configuration in which a plurality of processors share a cache memory and a main memory, the multi-core system comprising:
 a refill counter that measures a number of times of refill that is exchange of data performed by the processors between the cache memory and the main memory; and   a scheduler that operates on the processors and selects a task that is set in an execution state with the processors allocated thereto out of tasks in an executable state that are candidates to which the processors are allocated, wherein   the scheduler includes:
 a first determining unit that determines, in the scheduling, whether at least one of the tasks of a first type, for which the number of times of refill performed until a point of the scheduling after transitioning from the execution state to a standby state according to release of the processors is smaller than a predetermined number of times, is present among the tasks in the executable state; 
   a first allocating unit that selects, when at least one of the tasks of the first type is present, any one of the tasks of the first type and allocates the processors to the task;   a second determining unit that determines, when all the tasks in the executable state at a point of the scheduling are tasks of a second type, for which the number of times of refill performed until the point of the scheduling after transitioning to the standby state is equal to or larger than the predetermined number of times, whether the number of times of refill performed in a predetermined period until the point of the scheduling is smaller than a predetermined threshold; and   a second allocating unit that allocates the processors to none of the tasks when the number of times of refill performing in the predetermined period is equal to or larger than the threshold and allocates the processors to any one of the tasks of the second type only when the number of times of refill performed in the predetermined period is smaller than the threshold.   
     
     
         17 . The multi-core system according to  claim 16 , wherein the predetermined number of times is a value set based on a capacity of the cache memory at the point of the scheduling. 
     
     
         18 . The multi-core system according to  claim 16 , wherein the predetermined threshold is a value set based on throughput between the cache memory and the main memory. 
     
     
         19 . The multi-core system according to  claim 16 , wherein the predetermined period is a period from time of execution of last scheduling until time of execution of present scheduling. 
     
     
         20 . The multi-core system according to  claim 19 , further comprising a clock counter that counts a clock signal, wherein
 the scheduler measures the predetermined period according to a difference between a count value of the clock counter at the time of the execution of the last scheduling and a count value of the clock counter at the time the execution of the present scheduling.

Join the waitlist — get patent alerts

Track US2011061058A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.