US 12,072,749 B2
Machine learning-based power capping and virtual machine placement in cloud platforms
Ioannis Manousakis, Redmond, WA (US); Marcus F. Fontoura, Medina, WA (US); Alok Gautam Kumbhare, Redmond, WA (US); Ricardo G. Bianchini, Bellevue, WA (US); Nithish Mahalingam, Sammamish, WA (US); and Reza Azimi, San Francisco, CA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Dec. 21, 2021, as Appl. No. 17/558,067.
Application 17/558,067 is a continuation of application No. 16/595,669, filed on Oct. 8, 2019, granted, now 11,237,868.
Prior Publication US 2022/0114022 A1, Apr. 14, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 1/32 (2019.01); G06F 1/324 (2019.01); G06F 9/455 (2018.01); G06F 9/50 (2006.01); G06N 20/00 (2019.01)
CPC G06F 1/32 (2013.01) [G06F 1/324 (2013.01); G06F 9/45558 (2013.01); G06F 9/5005 (2013.01); G06N 20/00 (2019.01); G06F 2009/4557 (2013.01)] 20 Claims
OG exemplary drawing
 
8. A system, including a processor, for deploying virtual machines to servers housed in respective chassis, the system configured to:
apply a machine learning model to predict whether a request for deployment of a virtual machine corresponds to deployment of a virtual machine for handling a first type of predicted workload or for handling a second type of predicted workload, different from the first type of predicted workload;
sort a list of candidate servers based on both a chassis score and a server score for each server in the list of the candidate servers to determine a ranked list of the candidate servers, wherein the server score depends at least on whether the request for deployment of the virtual machine corresponds to the deployment of the virtual machine for handling the first type of predicted workload or for handling the second type of predicted workload;
using the processor, deploy the virtual machine to a selected server from among the ranked list of the candidate servers and inform a per-VM power controller for the selected server about the deployment of the VM;
(1) assign a first group of cores associated with the selected server if the deployment of the VM is for handling the first type of predicted workload or (2) assign a second group of cores associated with the selected server, different from the first group of cores, if the deployment of the VM is for handling the second type of predicted workload; and
in response to receiving a power alert associated with a chassis comprising the selected server, using the per-VM power controller manage power capping events for the deployed VM based on a specified frequency of power capping events, wherein the specified frequency of power capping events depends on whether the deployment of the VM is for handling the first type of predicted workload or for handling the second type of predicted workload.