Method and apparatus for virtual resource handling in a multi-processor computer system
First Claim
1. A computer system having a plurality of system resources including processors, memory and I/O circuitry, the computer system comprising:
- an interconnection mechanism for electrically interconnecting the processors, memory and I/O circuitry so that each processor has electrical access to all of the memory and at least some of the I/O circuitry;
a software mechanism for dividing the system resources into a plurality of partitions;
at least one operating system instance running in each of a plurality of the partitions; and
a processor designation storage device that stores designations for each of a plurality of processors to define the association of each processor with one of said plurality of instances;
wherein each of the sets for a given instance including a plurality of designations indicating whether a corresponding plurality of said processors has a particular operational status represented by that set, said operational statuses including;
a potential status in which the processor are of a type compatible for operation with the given instance;
a configure status which indicates whether the processors are under the control of the given instance; and
an active status which indicates whether the processors are available for symmetric multiprocessing operation with the given instance.
4 Assignments
0 Petitions
Accused Products
Abstract
Multiple instances of operating systems execute cooperatively in a single multiprocessor computer wherein all processors and resources are electrically connected together. The single physical machine with multiple physical processors and resources is subdivided by software into multiple partitions, each with the ability to run a distinct copy, or instance, of an operating system. At different times, different operating system instances may be loaded on a given partition. Resources, such as CPUs and memory, can be dynamically assigned to different partitions and used by instances of operating systems running within the machine by modifying the configuration. The partitions themselves can also be changed without rebooting the system by modifying the configuration tree. Each instance keeps track of the CPUs in the system and their respective operational statuses relative to the instance, such as compatibility with the instance, control by the instance, and availability to the instance for SMP processing. Using separate bitvectors for the different categories, a single bit in each bitvector may be used to represent the membership of a given CPU in that particular set, and therefore in the category represented by that set.
-
Citations
22 Claims
-
1. A computer system having a plurality of system resources including processors, memory and I/O circuitry, the computer system comprising:
-
an interconnection mechanism for electrically interconnecting the processors, memory and I/O circuitry so that each processor has electrical access to all of the memory and at least some of the I/O circuitry;
a software mechanism for dividing the system resources into a plurality of partitions;
at least one operating system instance running in each of a plurality of the partitions; and
a processor designation storage device that stores designations for each of a plurality of processors to define the association of each processor with one of said plurality of instances;
wherein each of the sets for a given instance including a plurality of designations indicating whether a corresponding plurality of said processors has a particular operational status represented by that set, said operational statuses including;
a potential status in which the processor are of a type compatible for operation with the given instance;
a configure status which indicates whether the processors are under the control of the given instance; and
an active status which indicates whether the processors are available for symmetric multiprocessing operation with the given instance. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer system having a plurality of system resources including processors, memory and I/O circuitry, the computer system comprising:
-
an interconnection mechanism for electrically interconnecting the processors, memory and I/O circuitry so that each processor has electrical access to all of the memory and at least some of the I/O circuitry;
a software mechanism for dividing the system resources into a plurality of partitions;
at least one operating system instance running in each of a plurality of the partitions; and
means for maintaining, with each instance, a record of processors present in the system, and for recognizing a plurality of different operational statuses of the resources with regard to the instance, said operational status comprising a potential status which designates the resources as being compatible with the instance, a configure status which indicates the resources are under the control of the instance, and an active status which indicates the resources are available to the partition for symmetric multiprocessing operation. - View Dependent Claims (14, 15)
-
-
16. A method for constructing a computer system having a plurality of system resources including processors, memory and I/O circuitry, the method comprising the steps of:
-
(a) electrically interconnecting the processors, memory and I/O circuitry so that each processor has electrical access to all of the memory and at least some of the I/O circuitry;
(b) dividing the system resources into a plurality of partitions;
(c) running at least one operating system instance in a plurality of the partitions; and
(d) maintaining, with each instance, a record of processors present in the system, and recognizing a plurality of different operational statuses of the processors with regard to the instance;
wherein said operational status comprising a potential status which designates the processors as being compatible with the instance, a configure status which indicates the processors are under the control of the instance, and an active status which indicates the processors are available to the partition for symmetric multiprocessing operation. - View Dependent Claims (17, 18, 19, 20, 21, 22)
(e) storing, in a memory storage device, a designation for a first resource to define its association with a first instance and its operational status relative to the first instance, the designation being used by the first instance in determining whether to make use of the first processor, and changing the designation in a manner that comprises using a bit mask to change the contents of the memory storage device.
-
-
19. A method according to claim 16 wherein step (c) comprises the step of:
(c1) running at least two different operating system instances in the plurality of partitions, wherein the two different instances are different operating systems.
-
20. A method according to claim 16 further comprising the step of:
(e) creating a configuration database containing information concerning which of the partitions are part of the computer system.
-
21. A method according to claim 20 wherein step (e) comprises the step of:
(e1) creating the configuration database at power up of the computer system.
-
22. The method of claim 16, wherein dividing the system into a plurality of partitions includes dividing the system into a plurality of partitions, each partition including at least one processor, some memory, and some I/O circuitry.
Specification