METHOD AND APPARATUS FOR DYNAMICALLY SHARING MEMORY IN A MULTIPROCESSOR 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; and
at least one group of partitions forming a community which shares memory.
3 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. A grouping of partitions, a community, shares memory. Memory may be private to a particular partition or may be shared by partitions within a community. When a community is formed the creating instance reads a configuration tree and builds management structures for the shared memory owned by the community. A single system may have one or more communities, each with their own representation within the configuration tree.
-
Citations
25 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; and
at least one group of partitions forming a community which shares memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. 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; and
(c) forming a community of partitions by sharing memory among a group of partitions. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer program product for constructing a computer system having a plurality of system resources including processors, memory and I/O circuitry and hardware 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 computer program product comprising a computer usable medium having computer readable program code thereon including:
-
(a) program code for dividing the system resources into a plurality of partitions; and
(b) program code for forming a community of partitions which shares memory. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A computer program product according to claim 26 further comprising program code for each instance examining the shared memory database as the instance maps to the database, determining whether other instances are active, and joining the community if other instances are active, or creating the community if no other instances are active.
Specification