MULTI-THREADED PROCESSING WITH REDUCED CONTEXT SWITCHING
First Claim
Patent Images
1. In a computer system having one or more processors coupled to a memory, a method for multi-threaded processing, comprising:
- notifying one or more of the processors running a first thread or thread group of a pre-emption by a second thread or thread group characterized by a higher priority than the first thread;
notifying the one or more of the processors of a time limit for pre-emption associated with the second thread or thread group; and
yielding the one or more of the processors to the second thread or thread group within the time limit without saving a context of the first thread or thread group if the first thread or thread group can wind up within the time limit, or performing a context switch from the first thread or thread group to the second thread or thread group if the first thread or thread group cannot wind up within the time limit.
4 Assignments
0 Petitions
Accused Products
Abstract
Multi-threaded processing with reduced context switching is disclosed. Context switches may be avoided through the use of pre-emption notification, a pre-emption wait time attribute and a no-context-save yield.
78 Citations
35 Claims
-
1. In a computer system having one or more processors coupled to a memory, a method for multi-threaded processing, comprising:
-
notifying one or more of the processors running a first thread or thread group of a pre-emption by a second thread or thread group characterized by a higher priority than the first thread; notifying the one or more of the processors of a time limit for pre-emption associated with the second thread or thread group; and yielding the one or more of the processors to the second thread or thread group within the time limit without saving a context of the first thread or thread group if the first thread or thread group can wind up within the time limit, or performing a context switch from the first thread or thread group to the second thread or thread group if the first thread or thread group cannot wind up within the time limit.
-
-
2. A computer-readable medium having a set of computer readable instructions embodied therein, the computer-readable instructions being configured to implement a method for a multi-threaded processing on a computer system having one or more processors coupled to a memory, the computer-readable instructions comprising:
-
one or more pre-emption-notification instructions that, when executed, notify one or more of the processors running a first thread or thread group of a pre-emption by a second thread or thread group characterized by a higher priority than the first thread or thread group; one or more wait-time-notification instructions that, when executed, notify the first thread or thread group of a time limit for pre-emption associated with the second thread or thread group; and one or more yield instructions that, when executed, yield the one or more of the processors to the second thread or thread group within the time limit without saving a context of the first thread or thread group if the processor can yield the first thread or thread group within the time limit or perform a context switch from the first thread or thread group to the second thread or thread group if the processor cannot yield the first thread or thread group within the time limit. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer system, comprising:
-
one or more processors; and a memory coupled to the one or more processors, wherein the computer system is programmed with a set of computer-readable instructions configured to implement a method for a multi-threaded processing, the computer-readable instructions comprising; one or more pre-emption-notification instructions that, when executed, notify one or more of the processors running a first thread or thread group of a pre-emption by a second thread or thread group characterized by a higher priority than the first thread or thread group; one or more wait-time-notification instructions that, when executed, notify the one or more of the processors of a time limit for pre-emption associated with the second thread or thread group; and one or more yield instructions that, when executed, yield the one or more of the processors to the second thread or thread group within the time limit without saving a context of the first thread or thread group if the one or more of the processors can yield the first thread or thread group within the time limit or perform a context switch from the first thread or thread group to the second thread or thread group if the one or more of the processors cannot yield within the time limit. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
Specification