Unified caching of storage blocks and memory pages in a compute-node cluster
AssigneeStrato Scale Ltd.
InventorsMuli Ben-Yehuda, Shlomo Matichin, Ariel Maislos, Etay Bogner
Life of this patent
Estimating the term…
Abstract
A method includes, in a plurality of compute nodes that communicate with one another over a communication network, running one or more Virtual Machines (VMs) that access storage blocks stored on non-volatile storage devices coupled to at least some of the compute nodes. One or more of the storage blocks accessed by a given VM, which runs on a first compute node, are cached in a volatile memory of a second compute node that is different from the first compute node. The cached storage blocks are served to the given VM.
Claims22
A method, comprising:
- in a plurality of compute nodes that communicate with one another over a communication network, running one or more Virtual Machines (VMs) that access storage blocks stored on non-volatile storage devices coupled to at least some of the compute nodes;
- caching one or more of the storage blocks accessed by a given VM, which runs on a first compute node, in a volatile memory of a second compute node that is different from the first compute node;
- and
- serving the cached storage blocks to the given VM.
A system comprising a plurality of compute nodes comprising respective volatile memories and respective processors, wherein the processors are configured to run one or more Virtual Machines (VMs) that access storage blocks stored on non-volatile storage devices coupled to at least some of the compute nodes, to cache one or more of the storage blocks accessed by a given VM, which runs on a first compute node, in a volatile memory of a second compute node that is different from the first compute node, and to serve the cached storage blocks to the given VM.
A compute node, comprising:
- a volatile memory;
- and
- a processor, which is configured to run, in conjunction with respective processors of other compute nodes that communicate with one another over a communication network, one or more Virtual Machines (VMs) that access storage blocks stored on non-volatile storage devices coupled to at least some of the compute nodes, to cache one or more of the storage blocks accessed by a given VM, which runs on a first compute node, in a volatile memory of a second compute node that is different from the first compute node, and to serve the cached storage blocks to the given VM.
A computer software product, the product comprising a tangible non-transitory computer-readable medium in which program instructions are stored, which instructions, when read by a processor of a compute node that runs, in conjunction with respective processors of other compute nodes that communicate with one another over a communication network, one or more local Virtual Machines (VMs) that access storage blocks stored on non-volatile storage devices coupled to at least some of the compute nodes, cause the processor to cache one or more of the storage blocks accessed by a given VM, which runs on a first compute node, in a volatile memory of a second compute node that is different from the first compute node, and to serve the cached storage blocks to the given VM.
Dependencies are inferred from the claim text.