US2005050310A1PendingUtilityA1

Method, system, and apparatus for improving multi-core processor performance

Priority: Jul 15, 2003Filed: Jul 15, 2003Published: Mar 3, 2005
Est. expiryJul 15, 2023(expired)· nominal 20-yr term from priority
G06F 9/46G06F 1/32G06F 1/329G06F 1/3296G06F 1/3228G06F 1/324G06F 1/3287Y02D10/00
46
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system, apparatus, and method for a core rationing logic to enable cores of a multi-core processor to adhere to various power and thermal constraints.

Claims

exact text as granted — not AI-modified
1 . A method for disabling clocks to at least one processor core of a plurality of processor cores comprising: 
 calculating an executing core limit based at least in part on a workload;    executing an n number of available threads, wherein n is an integer,    enabling an m number of processor cores, wherein m is an integer and is less than or equal to n, the number of available threads.    
   
   
       2 . The method of  claim 1  wherein disabling clocks to at least one processor during an idle time period as the processor core waits for a memory operation.  
   
   
       3 . The method of  claim 1  wherein disabling clocks to at least one processor core results in decreased power consumption.  
   
   
       4 . The method of  claim 1  wherein disabling clocks to at least one processor core allows for increasing the operating frequency of that processor core.  
   
   
       5 . A method for selecting a voltage and frequency operating point to at least one processor core of a plurality of processor cores comprising: 
 predicting an activity level of a plurality of threads running on all of the plurality of processor cores;    enabling a subset of the plurality of processor cores based at least in part on the activity level.    
   
   
       6 . The method of  claim 1  wherein the activity level is an executing core limit that is based at least in part on adhering to thermal power considerations.  
   
   
       7 . The method of  claim 6  wherein the executing core limit is based at least in part on a formula, wherein N depicts the number of threads that have context; % E depicts the percentage executing time; and % M depicts the percentage memory reference time. and the formula is: 
         int  ( N× (%  E / (%  E+ %  M ))) 
   
   
       8 . A state diagram for a plurality of multi-core processors comprising: 
 A first state for a core without an assigned thread;    A second state for a queue to store cores with an assigned thread;    A third state for enabling the core to run a thread; and    A fourth state to disable a core.    
   
   
       9 . The state diagram of  claim 8  wherein the queue is a first in first out (FIFO) queue.  
   
   
       10 . The state diagram of  claim 8  wherein the core transitions from a second state to the third state if the number of enabled cores is less than an executing core limit.  
   
   
       11 . The state diagram of  claim 10  wherein the executing core limit is based at least in part on a formula, wherein N depicts the number of threads that have context; % E depicts the percentage executing time; and % M depicts the percentage memory reference time. and the formula is: 
         int  ( N× (%  E / (%  E+ % M ))) 
   
   
       12 . The state diagram of  claim 8  wherein the core transitions from a third state to the fourth state if the core is idle as it waits for completion of a memory operation.  
   
   
       13 . A method for a state diagram for a plurality of multi-core processors comprising: 
 assigning a first state to a core without an assigned thread;    assigning a second state for a queue to store cores with an assigned thread;    comparing the number of enabled cores to an executing core limit, assigning a third state for enabling the core to run a thread if the number of enabled cores is less than the executing core limit; and    assigning a fourth state to disable a core.    
   
   
       14 . The method of  claim 13  wherein the queue is a first in first out (FIFO) queue.  
   
   
       15 . The method of  claim 13  wherein the executing core limit is based at least in part on a formula, wherein N depicts the number of threads that have context; % E depicts the percentage executing time; and % M depicts the percentage memory reference time. and the formula is: 
         int  ( N× (%  E / (%  E+ %  M ))) 
   
   
       16 . The state diagram of  claim 13  wherein the core transitions from a third state to the fourth state if the core is idle as it waits for completion of a memory operation.  
   
   
       17 . A system of multi-core processors comprising: 
 at least one multi-core processor coupled to a cache memory, and coupled to at least two clockwise directional busses to receive requests and responses; and    a core rationing logic to manage the number of enabled cores to be less than or equal to an executing core limit.    
   
   
       18 . The system of  claim 17  wherein the executing core limit is based at least in part on a formula, wherein N depicts the number of threads that have context; % E depicts the percentage executing time; and % M depicts the percentage memory reference time. and the formula is: 
         int  ( N× (%  E / (%  E+ %  M ))). 
   
   
       19 . The system of  claim 17  further comprises a system interface that contains: 
 a plurality of memory controllers for memory DIMMs;    a router logic to handle the interconnection links to other processor dies or I/O subsystems; and    the core rationing logic.    
   
   
       20 . The system of  claim 17  further comprises at least two counter- clockwise directional busses to receive requests and responses.  
   
   
       21 . The system of  claim 17  wherein the cache memory is a level three (L3) memory with a plurality of independent memory banks.

Join the waitlist — get patent alerts

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

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