Virtualization across physical partitions of a multi-core processor (MCP)
First Claim
1. A multi-core processor, comprising:
- a set of main processing elements, each configured to generate virtualized control threads to control sub processing elements, the set of main processing elements comprising;
a first main processing element located in a first physical partition, second main processing element located in a second physical partition, anda third main processing element located in a third physical partition;
a logical group of sub-processing elements, wherein a first sub-processing element is located in the first physical partition, a second sub-processing element is located in the second physical partition, and a third sub-processing element is located in the third physical partition; and
a first virtualized control thread generated by the first main processing element, the first virtualized control thread associating the second main processing element of the second physical partition with the logical group of sub-processing elements, wherein the first virtualized control thread is configured to;
control a clock speed, power consumption and computation loading of sub-processing elements of the logical group of sub-processing elements,collect computation results from the sub-processing elements of the logical group of sub-processing elements, andsend program code and data to the sub-processing elements of the logical group of sub-processing elements.
2 Assignments
0 Petitions
Accused Products
Abstract
Among other things, the disclosure is applied to a generic microprocessor architecture with a set (e.g., one or more) of controlling/main processing elements (e.g., MPEs) and a set of groups of sub-processing elements (e.g., SPEs). Under this arrangement, MPEs and SPEs are organized in a way that a smaller number MPEs control the behavior of a group of SPEs using program code embodied as a set of virtualized control threads. The apparatus includes a MCP coupled to a power supply coupled with cores to provide a supply voltage to each core (or core group) and controlling-digital elements and multiple instances of sub-processing elements. In accordance with these features, virtualized control threads can traverse the physical boundaries of the MCP to control SPE(s) (e.g., logical partitions having one or more SPEs) in a different physical partition (e.g., different from the physical partition from which the virtualized control threads originated.
38 Citations
15 Claims
-
1. A multi-core processor, comprising:
-
a set of main processing elements, each configured to generate virtualized control threads to control sub processing elements, the set of main processing elements comprising; a first main processing element located in a first physical partition, second main processing element located in a second physical partition, and a third main processing element located in a third physical partition; a logical group of sub-processing elements, wherein a first sub-processing element is located in the first physical partition, a second sub-processing element is located in the second physical partition, and a third sub-processing element is located in the third physical partition; and a first virtualized control thread generated by the first main processing element, the first virtualized control thread associating the second main processing element of the second physical partition with the logical group of sub-processing elements, wherein the first virtualized control thread is configured to; control a clock speed, power consumption and computation loading of sub-processing elements of the logical group of sub-processing elements, collect computation results from the sub-processing elements of the logical group of sub-processing elements, and send program code and data to the sub-processing elements of the logical group of sub-processing elements. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A multi-core processor, comprising:
-
a first physical partition comprising a first main processing element, and a first group of sub processing elements; a second physical partition comprising a second main processing element, and a second group of sub-processing elements; a third physical partition comprising a third main processing element, and a third group of sub-processing elements; a logical partition comprising the first group of sub-processing elements, the second group of sub-processing elements, and the third group of sub-processing elements; and a virtualized control thread generated by the first main processing element, the virtualized control thread associating the second main processing element of the second physical partition with the logical partition, wherein the virtualized control thread is configured to; control a clock speed, power consumption and computation loading of sub-processing elements of the logical partition, collect computation results from the sub-processing elements of the logical partition, and send program code and data to the sub-processing elements of the logical partition. - View Dependent Claims (8, 9, 10)
-
-
11. A processing method, comprising:
-
receiving a request, issued from a main processing element, for a number of sub-processing elements, the main processing element located within a first physical partition; determining that the requested number of sub-processing elements exceeds a number of free sub-processing elements within the first physical partition; locating at least two available sub-processing elements, at least one of the at least two available sub-processing elements located in a second physical partition, and at least one other of the at least two available sub-processing elements located in a third physical partition; joining free sub-processing elements of the first physical partition with the at least two available sub-processing elements into a logical partition; associating the main processing element with the logical partition, a virtualized control thread being generated by the main processing element; and controlling a group of sub-processing elements of the logical partition using the virtualized control thread, wherein the controlling comprises; controlling a clock speed, power consumption and computation loading of the sub-processing elements of the logical partition, collecting computation results from the sub-processing elements of the logical partition, and sending program code and data to the sub-processing elements of the logical partition. - View Dependent Claims (12, 13, 14)
-
-
15. A method for deploying a processing system, comprising:
-
providing a multi-core processor, comprising; a set of main processing elements, each configured to generate virtualized control threads to control sub-processing elements, the set of main processing elements comprising; a first main processing element located in a first physical partition, a second main processing element located in a second physical partition, and a third main processing element located in a third physical partition; a logical group of sub-processing elements, wherein a first sub-processing element is located in the first physical partition, a second sub-processing element is located in the second physical partition, and a third sub-processing element is located in the third physical partition; and a first virtualized control thread generated by the first main processing element, the first virtualized control thread associating the second main processing element of the second physical partition with the logical group of sub-processing elements, wherein the first virtualized control thread is configured to; control a clock speed, power consumption and computation loading of sub-processing elements of the logical group of sub-processing elements, collect computation results from the sub-processing elements of the logical group of sub-processing elements, and send program code and data to the sub-processing elements of the logical group of sub-processing elements.
-
Specification