US 11,755,354 B2
NUMA-aware resource allocation and placement of database containers
Sanket Patle, Pleasanton, CA (US); Ramesh Gaikwad, Sangli (IN); Rajesh Almeida, Pleasanton, CA (US); and Rohit Dhangar, Pune (IN)
Assigned to SAP SE, Walldorf (DE)
Filed by SAP SE, Walldorf (DE)
Filed on Nov. 20, 2019, as Appl. No. 16/690,002.
Prior Publication US 2021/0149703 A1, May 20, 2021
Int. Cl. G06F 9/455 (2018.01); G06F 9/50 (2006.01); G06F 16/188 (2019.01); G06F 16/14 (2019.01); G06F 11/30 (2006.01); G06F 12/02 (2006.01)
CPC G06F 9/45558 (2013.01) [G06F 9/5016 (2013.01); G06F 11/3034 (2013.01); G06F 12/0246 (2013.01); G06F 16/148 (2019.01); G06F 16/188 (2019.01); G06F 2009/4557 (2013.01); G06F 2009/45583 (2013.01); G06F 2212/2542 (2013.01); G06F 2212/7207 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A system, comprising:
at least one data processor; and
at least one memory storing instructions which, when executed by the at least one data processor, result in operations comprising:
determining, by a cloud orchestrator, a processing threshold and/or a memory storage threshold of a database system has been satisfied, the database system comprised in a cloud infrastructure including a plurality of virtual machines and a plurality of containers deployed on the plurality of virtual machines, the database system including a Non-Uniform Memory Access (NUMA) topology that provides the plurality of virtual machines hosting the plurality of containers;
in response to the determining the processing threshold and/or the memory storage threshold has been satisfied, requesting, by the cloud orchestrator and to the cloud infrastructure, provisioning of a virtual machine to the database system;
in response to provisioning of the virtual machine, deploying a first container to the virtual machine, the first container running at least one benchmark test to collect at least information regarding the NUMA topology, a memory size of a local memory of a NUMA node, and a memory latency between the NUMA node and a remote memory at a neighboring NUMA node;
obtaining, by the cloud orchestrator and from the first container running at least one benchmark test, the information regarding the NUMA topology, the memory size of the local memory of the NUMA node, the memory latency between the NUMA node and the remote memory at the neighboring NUMA node, and a performance of at least one database instance of the database system;
storing, by the cloud orchestrator, the information obtained by the cloud orchestrator;
in response to receiving a request for a second container, querying, by the cloud orchestrator, the stored information to obtain at least the NUMA topology, the memory size of the local memory of the NUMA node, the memory latency between the NUMA node and the remote memory at the neighboring NUMA node, and the performance of at least one database instance of the database system;
determining, using at least the memory size and the memory latency, at least one virtual machine and at least one NUMA node for placement of the second container comprising the at least one database instance; and
deploying the second container on the determined at least one virtual machine and the determined at least one NUMA node.