Host-side cache migration

US2016197986A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016197986-A1
Application numberUS-201514591140-A
CountryUS
Kind codeA1
Filing dateJan 7, 2015
Priority dateJan 7, 2015
Publication dateJul 7, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments relate to host-side cache migration. An aspect is a method that includes determining pre-fetch hints associated with a source cache that is local to a source host machine. The source cache includes pages of cache data for a virtual machine. The pre-fetch hints are sent to a pre-fetch planner to create a pre-fetch plan. The pre-fetch hints are sent based on migration of the virtual machine to a target host machine including a target cache that is local. At the source host machine, a cache migration request is received based on the pre-fetch plan. A first subset of the pages is sent from the source cache through a host-to-host communication channel to the target cache based on the cache migration request. A second subset of the pages is sent from the source cache through a host-storage communication channel to a shared storage to be relayed to the target cache.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: determining a plurality of pre-fetch hints associated with a source cache that is local to a source host machine, the source cache comprising a plurality of pages of cache data for a virtual machine on the source host machine; sending the pre-fetch hints to a pre-fetch planner to create a pre-fetch plan, the sending based on a migration of the virtual machine from the source host machine to a target host machine comprising a target cache that is local to the target host machine; receiving, at the source host machine, a cache migration request based on the pre-fetch plan; sending a first subset of the pages from the source cache through a host-to-host communication channel to the target cache of the target host machine based on the cache migration request; and sending a second subset of the pages from the source cache through a host-storage communication channel to a shared storage to be relayed to the target cache of the target host machine. 2 . The method of claim 1 , wherein the pre-fetch hints include a priority order to indicate a suggested pre-fetching order. 3 . The method of claim 1 , wherein the source cache is not directly accessible by the target host machine. 4 . The method of claim 1 , further comprising: identifying dirty blocks in the source cache as one or more data blocks with a more recent version in the source cache than on the shared storage; and writing the dirty blocks back to the shared storage prior to sending the pre-fetch hints. 5 . The method of claim 1 , wherein the first subset of the pages comprises a lesser amount of sequential data blocks and a greater amount of random data blocks, and the second subset of the pages comprises a greater amount of sequential data blocks and a lesser amount of random data blocks. 6 . The method of claim 5 , further comprising: based on determining that the cache migration request is for the second subset of the pages which comprises at least two random data blocks, writing the at least two random data blocks sequentially to a sequential log on the shared storage such that the at least two random data blocks can be sequentially pre-fetched from the sequential log by the target host machine. 7 . A method comprising: accessing a pre-fetch plan that is based on a plurality of pre-fetch hints associated with a source cache and a predetermined virtual machine migration time budget to migrate a virtual machine from a source host machine to a target host machine, the source cache comprising a plurality of pages of cache data for the virtual machine on the source host machine; identifying a first subset and a second subset of the pages to transfer from the source cache to a target cache based on the pre-fetch plan, the source cache local to the source host machine and the target cache local to the target host machine; and sending a cache migration request to the source host machine based on the pre-fetch plan, wherein the first subset of the pages is pre-fetched from the source cache through a host-to-host communication channel based on the pre-fetch plan, and the second subset of the pages is pre-fetched from a shared storage through a host-storage communication channel as relayed from the source cache in response to the cache migration request. 8 . The method of claim 7 , wherein the pre-fetch hints include a priority order to indicate a suggested pre-fetching order. 9 . The method of claim 7 , wherein the source cache is not directly accessible by the target host machine. 10 . The method of claim 7 , wherein the pre-fetch plan includes one or more fetches from the source cache of one or more data blocks with a more recent version in the source cache than on the shared storage. 11 . The method of claim 7 , wherein the first subset of the pages comprises a lesser amount of sequential data blocks and a greater amount of random data blocks, and the second subset of the pages comprises a greater amount of sequential data blocks and a lesser amount of random data blocks. 12 . The method of claim 11 , further comprising: pre-fetching at least two random data blocks of the second subset of the pages from a sequential log on the shared storage as sequential data as written to the sequential log by the source host machine. 13 . The method of claim 7 , further comprising: determining a utility level of data blocks identified in the pre-fetch hints; and establishing assignments in the pre-fetch plan for the first subset and the second subset of the pages associated with the data blocks based on the utility level. 14 . The method of claim 7 , further comprising: determining a first data transfer bandwidth from the source cache through the host-to-host communication channel to the target cache; determining a second data transfer bandwidth from the source cache and the shared storage through the host-storage communication channel to the target cache; and assigning the first subset and the second subset of the pages in the pre-fetch plan based on a combination of the first data transfer bandwidth, the second data transfer bandwidth, one or more data size constraints, and the predetermined virtual machine migration time budget. 15 . A system comprising: a source host processor in communication with a shared storage, the shared storage accessible by the source host processor and a target host processor; a source cache in communication with and local to the source host processor, the source cache comprising a plurality of pages of cache data for a virtual machine on the source host processor; and a memory having computer-readable instructions executable by the source host processor, the computer-readable instructions comprising: determining a plurality of pre-fetch hints associated with the source cache; sending the pre-fetch hints to a pre-fetch planner to create a pre-fetch plan, the sending based on a migration of the virtual machine from the source host processor to the target host processor; receiving a cache migration request based on the pre-fetch plan; sending a first subset of the pages from the source cache through a host-to-host communication channel to a target cache in communication with the target host processor based on the cache migration request; and sending a second subset of the pages from the source cache through a host-storage communication channel to the shared storage to be relayed to the target cache. 16 . The system of claim 15 , wherein the pre-fetch hints include a priority order to indicate a suggested pre-fetching order. 17 . The system of claim 15 , wherein the source cache is not directly accessible by the target host processor. 18 . The system of claim 15 , wherein the first subset of the pages comprises a plurality of random data blocks, and the second subset of the pages comprises a plurality of sequential data blocks. 19 . The system of claim 18 , wherein the first subset of the pages comprises a lesser amount of the sequential data blocks and a greater amount of the random data blocks, and the second subset of the pages comprises a greater amount of the sequential data blocks and a lesser amount of the random data blocks. 20 . The system of claim 19 , wherein the computer-readable instructions further comprise: based on determining that the cache migration request is for the second subset of the pages which comprises at least two random data blocks, writing the at least two random data blocks sequentially to a sequential log on the

Assignees

Inventors

Classifications

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • H04L67/104Primary

    Peer-to-peer [P2P] networks · CPC title

  • Migration or transfer of sessions · CPC title

  • Memory management, e.g. access or allocation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016197986A1 cover?
Embodiments relate to host-side cache migration. An aspect is a method that includes determining pre-fetch hints associated with a source cache that is local to a source host machine. The source cache includes pages of cache data for a virtual machine. The pre-fetch hints are sent to a pre-fetch planner to create a pre-fetch plan. The pre-fetch hints are sent based on migration of the virtual m…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jul 07 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).