IP Library Granted Patent US 9,424,091
Granted Patent B2
US 9,424,091 · App. 14/266,758 · Granted Aug 23, 2016

Deploying software in a multi-instance node

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,424,091
App. No.
14/266,758
Granted
Aug 23, 2016
Kind
B2
Abstract

A system for deploying big data software in a multi-instance node. The optimal CPU memory and core configuration for a single instance database is determined. After determining an optimal core-memory ratio for a single instance execution, the software is deployed in multi-instance mode on single machine by applying the optimal core-memory ratio for each of the instances. The multi-instance database may then be deployed and data may be loaded in parallel for the instances.

Claims (51)

1. A method for deploying software in a multi-instance node in a computing device, the method comprising:

identifying a core-memory ratio for a single instance execution of a software program, wherein the identifying is performed via an automated testing application that measures CPU usage of the computing device over a period of time, and the core-memory ratio corresponds to an allocated number of CPU cores associated with the computing device for use with the software program;

allocating a number of instances of the software program to deploy in a multi-instance database based on the identified core-memory ratio;

executing the allocated number of instances of the software program on the computing device via a multi-threaded program that ensures that the identified number of instances are started or terminated at least partially simultaneously; and

applying the identified core-memory ratio to each executed instance on the computing device by a module stored in memory and executed by a processor.

2. The method of claim 1 , wherein identifying the core memory ratio includes setting one or more software parameters and executing the software program with the set parameters.

3. The method of claim 1 , wherein the core-memory ratio is identified based on CPU usage associated with the computing device.

4. The method of claim 3 , wherein identifying the core-memory ratio includes calculating the CPU usage for a software application when a set number of CPU cores of the computing device is allocated to the software application.

5. The method of claim 4 , wherein calculating the core-memory ratio includes:

monitoring that the CPU usage for the software application for a number of CPU cores is less than a threshold; and

detecting the CPU usage for the software application when the set number of CPU cores being allocated for the software is changed.

6. The method of claim 5 , wherein the set number of CPU cores being allocated for the software application is increased.

7. The method of claim 5 , wherein the threshold is 85%.

8. The method of claim 1 , wherein an optimal core-memory ratio is applied to each instance within a shared memory system.

9. The method of claim 1 , further comprising loading data into each instance in parallel.

10. The method of claim 9 , wherein the loading is performed by a set number of CPU cores based on CPU usage.

11. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for deploying software in a multi-instance node in a computing device, the method comprising:

identifying a core-memory ratio for a single instance execution of a software program, wherein the identifying is performed via an automated testing application that measures CPU usage of the computing device over a period of time, and the core-memory ratio corresponds to an allocated number of CPU cores associated with the computing device for use with the software program;

allocating a number of instances of the software program to deploy in a multi-instance database based on the identified core-memory ratio;

executing the allocated number of instances of the software program on the computing device via a multi-threaded program that ensures that the identified number of instances are started or terminated at least partially simultaneously; and

applying the identified core-memory ratio to each executed instance on the computing device by a module stored in memory and executed by a processor.

12. The non-transitory computer readable storage medium of claim 11 , wherein identifying the core memory ratio includes setting one or more software parameters and executing the software program with the set parameters.

13. The non-transitory computer readable storage medium of claim 11 , wherein the core-memory ratio is identified based on CPU usage associated with the computing device.

14. The non-transitory computer readable storage medium of claim 13 , wherein identifying the core-memory ratio includes calculating the CPU usage for a software application when a set number of CPU cores of the computing device is allocated to the software application.

15. The non-transitory computer readable storage medium of claim 14 , wherein calculating the core-memory ratio includes:

monitoring that the CPU usage for the software application for a number of CPU cores is less than a threshold; and

detecting the CPU usage for the software application when the set number of CPU cores being allocated for the software application is changed.

16. The non-transitory computer readable storage medium of claim 15 , wherein the set number of CPU cores being allocated for the software application is increased.

17. The non-transitory computer readable storage medium of claim 15 , wherein the threshold is 85%.

18. The non-transitory computer readable storage medium of claim 11 , wherein an optimal core-memory ratio is applied to each instance within a shared memory system.

19. The non-transitory computer readable storage medium of claim 11 , further comprising loading data into each instance in parallel.

20. The non-transitory computer readable storage medium of claim 19 , wherein the loading is performed by a set number of CPU cores based on CPU usage.

21. A system for deploying software in a multi-instance node, the system comprising:

a processor;

memory; and

one or more modules stored in memory and executable by the processor to:

identify a core-memory ratio for a single instance execution of a software program, wherein the identifying is performed via an automated testing application that measures CPU usage of a computing device over a period of time, and the core-memory ratio corresponds to an allocated number of CPU cores associated with the computing device for use with the software program,

allocate a number of instances of the software program to deploy in a multi-instance database based on the identified core-memory ratio,

execute the allocated number of instances of the software program on the computing device via a multi-threaded program that ensures that the identified number of instances are started or terminated at least partially simultaneously, and

apply the identified core-memory ratio to each executed instance on the computing device.

22. The system of claim 21 , wherein identifying the core memory ratio includes setting one or more software parameters and executing the software program with the set parameters.

23. The system of claim 21 , wherein the core-memory ratio is identified based on CPU usage associated with the computing device.

24. The system of claim 23 , wherein identifying the core-memory ratio includes calculating the CPU usage for a software application when a set number of CPU cores of the computing device is allocated to the software application.

25. The system of claim 24 , wherein calculating the core-memory ratio includes:

monitoring that the CPU usage for the software application for a number of CPU cores is less than a threshold; and

detecting the CPU usage for the software application when the set number of CPU cores being allocated for the software is changed.

26. The system of claim 25 , wherein the set number of CPU cores being allocated for the software application is increased.

27. The system of claim 25 , wherein the threshold is 85%.

28. The system of claim 21 , wherein an optimal core-memory ratio is applied to each instance within a shared memory system.

29. The system of claim 21 , further comprising loading data into each instance in parallel.

30. The system of claim 29 , wherein the loading is performed by a set number of CPU cores based on CPU usage.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS AGENT
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 040545/0362 →
SECURITY INTEREST Recorded Mar 13, 2015
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035200/0722 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2014
From: SARKAR, SANHITA; MORCOS, RAYMON
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 032906/0939 →