Issue control for multithreaded processing
AssigneeThe Regents of the University of Michigan
InventorsAnkit SETHIA, Scott MAHLKE
Life of this patent
Estimating the term…
Abstract
A multithreaded data processing system performs processing using resource circuitry which is a finite resource. A saturation signal is generated to indicate when the resource circuitry is no longer able to perform processing operations issued to it. This saturations signal may be used to select a scheduling algorithm to be used for further scheduling, such as switching to scheduling from a single thread as opposed to round-robin scheduling from all of the threads. Re-execution queue circuitry is used to queue processing operations which have been enabled to be issued so as to permit other processing operations which may not be blocked by the lack of use of circuitry to attempt issue.
Claims20
Apparatus for executing a plurality of threads in parallel, said apparatus comprising:
- resource circuitry to perform processing operations as part of executing said plurality of threads;
- and
- scheduling circuitry to schedule issue of processing operations from said plurality of threads to said resource circuitry;
- wherein
- said scheduling circuitry is responsive to a saturation signal indicative of a current capacity of said resource circuitry to perform processing operations issued to said resource circuitry to select a scheduling algorithm used to select which of said plurality of threads issue processing operations to said resource circuitry.
A method of executing a plurality of threads in parallel, said method comprising:
- perform processing operations with resource circuitry as part of executing said plurality of threads;
- and
- scheduling issue of processing operations from said plurality of threads to said resource circuitry;
- wherein
- said step of scheduling is responsive to a saturation signal indicative of a current capacity of said resource circuitry to perform processing operations issued to said resource circuitry to select a scheduling algorithm used to select which of said plurality of threads issue processing operations to said resource circuitry.
Apparatus for processing data comprising:
- resource circuitry to perform processing operations as part of executing said plurality of threads;
- and
- issuing circuitry to issue processing operations that use said resource circuitry and re-execution queue circuitry to store data specifying processing operations not able to be issued to said resource circuitry so as to permit further processing operations not requiring use of said resource circuitry to be issued from said issuing circuitry.
A method of processing data comprising:
- perform processing operations with resource circuitry as part of executing said plurality of threads;
- issuing processing operations that use said resource circuitry;
- and
- storing within re-execution queue circuitry data specifying processing operations not able to be issued to said resource circuitry so as to permit further processing operations not requiring use of said resource circuitry to be issued from said issuing circuitry.
Dependencies are inferred from the claim text.