Customized memory modules in multi-tenant service provider systems
First Claim
1. A system, comprising:
- a plurality of computing nodes that implement a hardware virtualization service on behalf of one or more service clients, each of the computing nodes comprising at least one physical processor and a plurality of physical memory modules having a total memory size;
a plurality of virtualized computing resource instances, each hosted on a respective one of the computing nodes and comprising one or more virtual processors and virtualized memory;
wherein the plurality of virtualized computing resource instances comprises one or more instances of each of a plurality of different virtualized computing resource instance types;
wherein the amount of virtualized memory in each virtualized computing resource instance is dependent on a respective ratio between the number of virtual processors and the amount of memory that is defined for its virtualized computing resource instance type; and
wherein, for at least one of the virtualized computing resource instances, the virtualized memory in the at least one virtualized computing resource instance is implemented by one or more of the physical memory modules of the computing node on which it is hosted, wherein the one or more physical memory modules comprise a physical memory module, used in the implementation of the virtualized memory in the at least one virtualized computing resource instance, on which the number of bytes of physical memory does not correspond to a power of two, in order to reduce an amount of stranded physical memory.
1 Assignment
0 Petitions
Accused Products
Abstract
A computing system providing virtual computing services may maintain a fleet of servers that host virtual machine instances having a wide variety of types and configurations. A service provider may rent processor and memory capacity by defining and offering various virtual machine instances to clients. Each virtual machine instance may include one or more virtual CPUs and a fixed amount of virtualized memory allocated to each virtual CPU, dependent on a predefined ratio between virtual CPU capacity and virtualized memory capacity for the instance type. Each server may include a custom, non-standard sized physical memory module containing memory devices of multiple technologies, types, or sizes on the same printed circuit board. By including custom memory modules, rather than relying only on standard memory modules, the service provider system may implement virtual machines having finer grained options for processor and memory capacity combinations, and may avoid stranding rentable resources.
-
Citations
20 Claims
-
1. A system, comprising:
-
a plurality of computing nodes that implement a hardware virtualization service on behalf of one or more service clients, each of the computing nodes comprising at least one physical processor and a plurality of physical memory modules having a total memory size; a plurality of virtualized computing resource instances, each hosted on a respective one of the computing nodes and comprising one or more virtual processors and virtualized memory; wherein the plurality of virtualized computing resource instances comprises one or more instances of each of a plurality of different virtualized computing resource instance types; wherein the amount of virtualized memory in each virtualized computing resource instance is dependent on a respective ratio between the number of virtual processors and the amount of memory that is defined for its virtualized computing resource instance type; and wherein, for at least one of the virtualized computing resource instances, the virtualized memory in the at least one virtualized computing resource instance is implemented by one or more of the physical memory modules of the computing node on which it is hosted, wherein the one or more physical memory modules comprise a physical memory module, used in the implementation of the virtualized memory in the at least one virtualized computing resource instance, on which the number of bytes of physical memory does not correspond to a power of two, in order to reduce an amount of stranded physical memory. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method, comprising:
performing, by one or more computers; provisioning physical resources of the one or more computers to create a plurality of virtual computing resource instances that are hosted on a computing node comprising the one or more computers for the benefit of one or more clients, wherein the computing node comprises one or more physical memory modules comprising a total memory; wherein, for each of the plurality of virtual computing resource instances, said provisioning comprises; provisioning one or more processor cores or hardware execution contexts thereof as virtual processors of the virtual computing resource instance; and configuring one or more of the one or more physical memory modules to provide virtualized memory for the virtual computing resource instance, wherein the amount of virtualized memory provided for the virtual computing resource instance is dependent on a predetermined ratio between processor capacity and memory capacity; and wherein, for at least one of the one or more physical memory modules configured to provide virtualized memory for at least one of the plurality of virtual computing resource instances, the number of bytes of physical memory does not correspond to a power of two in order to reduce an amount of stranded physical memory. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
15. A system, comprising:
-
one or more computing devices, at least one of which implements a server, wherein the server comprises one or more physical memory modules; a virtual computing service, implemented by the one or more computing devices; wherein the server is configured to host a virtual resource instance on behalf of a subscriber or customer of the virtual computing service; wherein the virtual resource instance comprises; one or more virtual processors, each implemented by a processor core or hardware execution context of a physical processor; and virtualized memory implemented by a plurality of integrated circuit memory devices on one or more of the one or more physical memory modules; wherein the amount of virtualized memory is dependent on a predetermined ratio between virtual processor capacity and virtualized memory capacity; and wherein the number of bytes of physical memory provided by the integrated circuit memory devices, on at least one of the one or more physical memory modules that implement the virtualized memory of the virtual resource instance, is not a power of two in order to reduce an amount of stranded physical memory. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification