Dynamically assigning CPUs to different partitions each having an operation system instance in a shared memory space
First Claim
1. A computer system having a plurality of 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 processors, memory and I/O circuitry into a plurality of partitions, each partition including at least one processor, some memory and some I/O circuitry;
an operating system instance running in each partition; and
a processor migration apparatus that reassigns a first processor from a first partition to a second partition, wherein said migration apparatus stores a processing context of the processor relative to the first partition prior to the reassignment.
5 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. CPUs, in particular, may be migrated, or reassigned, from one operating system instance to another, allowing different loads in the system to be accommodated. The migrations involve storing the processing context of a migrating processor prior to its reassignment and, after reassignment, loading any previous processing context that it may have stored from a previous execution with the partition to which it is reassigned. Hardware flags are also provided which include an identification of which CPU belongs to which partition, and an availability indicator for each CPU, which indicates whether a given CPU is available for SMP operation.
344 Citations
20 Claims
-
1. A computer system having a plurality of 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 processors, memory and I/O circuitry into a plurality of partitions, each partition including at least one processor, some memory and some I/O circuitry;
an operating system instance running in each partition; and
a processor migration apparatus that reassigns a first processor from a first partition to a second partition, wherein said migration apparatus stores a processing context of the processor relative to the first partition prior to the reassignment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer system having a plurality of 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, the plurality of processors being physically divided into groups wherein each group comprises a console program which controls the processors in the group;
a software mechanism for dividing the processors, memory and I/O circuitry into a plurality of partitions, each partition including at least one processor, some memory and some I/O circuitry, wherein a plurality of hardware flags are associated with each partition, the hardware flags for a particular partition including at least one flag indicating the operational status of a particular processor executing on that partition;
an operating system instance running in each partition; and
a processor migration apparatus that reassigns a first processor from a first partition to a second partition wherein, prior to the reassignment, said migration apparatus causes the first processor to store its current processing context with the first partition and, after the reassignement, causes the first processor to load any processing context which it may have stored from a previous execution within the second partition.
-
-
15. A method of operating a multiple processor computing system having a plurality of processors, memory and I/O circuitry, the method providing:
-
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;
using a software mechanism to divide the processors, memory and I/O circuitry into a plurality of partitions, each partition including at least one processor, some memory and some I/O circuitry;
running an operating system instance in each partition; and
reassigning a first processor from a first partition to a second partition, wherein said reassigning comprises causing, prior to the reassignment, the first processor to store a processing context relative to the first partition. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification