Virtual mode execution manager
US-12118376-B2 · Oct 15, 2024 · US
US10152340B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10152340-B2 |
| Application number | US-201414200402-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 7, 2014 |
| Priority date | Mar 7, 2014 |
| Publication date | Dec 11, 2018 |
| Grant date | Dec 11, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In a computer-implemented method for configuring flash cache for input/output operations to a storage device by a plurality of virtual machines an input/output trace log for each of a plurality of virtual machines is accessed. Performance of each of the plurality of virtual machines based on a plurality of configurations of the flash cache is simulated in real-time. A recommendation of the plurality of configurations of the flash cache for the each of the plurality of virtual machines utilizing results from the simulation is generated.
Opening claim text (preview).
The invention claimed is: 1. A computer-implemented method for configuring flash cache for input/output operations to a storage device by a plurality of virtual machines comprising: accessing an input/output trace log for each of a plurality of virtual machines, wherein the input/output trace log comprises run-time actual data of input/output requests of each of the plurality of virtual machines executing workloads; using the input/output requests of each respective virtual machine to simulate real-time performance of the corresponding virtual machine for each of a plurality of configurations of the flash cache used by the plurality of virtual machines, wherein each configuration assigns a number of cache blocks from the flash cache to each virtual machine of the plurality of virtual machines such that a different number of blocks are assigned to the same virtual machine in two or more configurations, and wherein each simulated real-time performance indicates an overall performance of the plurality of virtual machines as a whole according to the particular cache allocations assigned to each virtual machine of the plurality of virtual machines for that simulated performance; and generating a recommendation for assigning blocks of the flash cache based on respective simulated real-time performance of the plurality of virtual machines as a whole for each of the plurality of configurations of the flash cache for the plurality of virtual machines including recommending a particular configuration of cache allocations comprising a particular combination of cache allotments that assigns a number of blocks to each virtual machine of the plurality of virtual machines that reduces overall latency of the plurality of virtual machines. 2. The computer-implemented method of claim 1 , wherein the recommendation is based in part on a return on investment (ROI) of offloading I/O requests from a storage onto the flash cache. 3. The computer-implemented method of claim 1 , further comprising: displaying the recommendation in a user-interface; receiving user input from a user responsive to the recommendation; and implementing the recommendation responsive to the user input. 4. The computer-implemented method of claim 1 , wherein generating a recommendation, further comprises: generating a recommendation in real-time. 5. A computer-implemented method for generating a recommendation of configurations for flash cache input/output operations to a storage device by virtual machines comprising: accessing input/output traces of workloads running on a plurality of virtual machines, wherein the input/output traces comprise run-time actual data of input/output requests of each of the plurality of virtual machines executing said workloads; monitoring performance of the plurality of virtual machines while simulating in real-time the performance of each of the plurality of virtual machines according to various cache assignments for each virtual machine using the flash cache and using the run-time actual data of the input/output requests for the plurality of virtual machines executing the workloads, wherein the cache assignments include a plurality of distinct allocations of cache blocks of the flash cache to the virtual machines such that a different number of blocks are assigned to the same virtual machine in two or more configurations; and generating a recommendation for each virtual machine for a particular cache assignment of the flash cache using the results based on the monitoring and the simulation of the corresponding virtual machine. 6. The computer-implemented method of claim 5 , further comprising: identifying statistics of the input/output traces. 7. The computer-implemented method of claim 6 , wherein the statistics comprise: a working set size (WSS). 8. The computer-implemented method of claim 5 , further comprising: generating a return on investment (ROI) for the various cache assignments. 9. The computer-implemented method of claim 5 , wherein generating a recommendation, further comprises: generating a recommendation in real-time. 10. The computer-implemented method of claim 5 , wherein generating a recommendation for a cache assignment of the flash cache for a particular virtual machine includes a recommendation of a share of the flash cache to allocate to the particular virtual machine of the plurality of virtual machines. 11. The computer-implemented method of claim 5 , wherein the flash cache is a solid state drive (SSD). 12. The computer-implemented method of claim 5 , wherein the flash cache is a solid state drive (SSD) disposed in a host of the plurality of virtual machines. 13. The computer-implemented method of claim 5 , wherein configurations of the cache assignment are selected from a group consisting of: cache size, block size, and a working set size (WSS). 14. The method of claim 5 , wherein generating the recommendation includes comparing the results of the simulations according to various cache assignments with the monitored performance of the virtual machines according to a current cache allocation, and, based on the comparing, recommending a particular cache assignment that improves performance of the virtual machines. 15. A non-transitory computer-readable storage medium having instructions embodied therein that when executed cause a computer system to perform operations for generating a recommendation of a cache assignment to virtual machines, the operations comprising: accessing input/output traces of workloads running on a plurality of virtual machines, wherein the input/output traces comprise run-time actual data of input/output requests of each of the plurality of virtual machines executing said workloads; monitoring performance of the plurality of virtual machines while simulating in real-time the performance of each of the plurality of virtual machines according to various cache assignments for each virtual machine using the flash cache and using the run-time actual data of the input/output requests for the plurality of virtual machines executing the workloads; and generating a recommendation for each virtual machine for a particular cache assignment of the flash cache based on the monitoring and the results from the simulation of the corresponding virtual machine, wherein the recommendation includes a recommendation for a particular configuration simulated for the virtual machines that improves overall performance of the virtual machines relative to the current performance of the plurality of virtual machines and configurations of the other simulations. 16. The non-transitory computer-readable storage medium of claim 15 , the operations further comprising: identifying statistics of said input/output traces. 17. The non-transitory computer-readable storage medium of claim 16 , wherein the statistics comprise: a working set size (WSS). 18. The non-transitory computer-readable storage medium of claim 15 , the operations further comprising: generating a return on investment (ROI) for the various cache assignments. 19. The non-transitory computer-readable storage medium of claim 15 , wherein the flash cache is a solid state drive (SSD). 20. The non-transitory computer-readable storage medium of claim 15 , wherein generating a recommendation further comprises: generating a recommendation for a cache assignment of the flash cache to the plurality of virtual machines. 21. The non-transitory computer-readable storage medium of claim 15 , wherein configurations of the
I/O management, e.g. providing access to device drivers or storage · CPC title
Hypervisors; Virtual machine monitors · CPC title
Non-volatile memory · CPC title
One time programmable [OTP] memory, e.g. PROM, WORM · CPC title
Data transfer between cache memory and other subsystems, e.g. storage devices or host systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.