IP Library Granted Patent US 9,619,357
Granted Patent B2
US 9,619,357 · App. 13/247,943 · Granted Apr 11, 2017

Hybrid storage devices

Inventors: Bhushan P. Jain (Pune, IN); Sri Ramanathan (Lutz, FL); Sandeep R. Patil (Elmsford, NY); Abhinay R. Nagpal (Pune, IN)
Assignee: International Business Machines Corporation
G06F11/3006G06F9/5094Y02B60/142
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,619,357
App. No.
13/247,943
Granted
Apr 11, 2017
Kind
B2
Abstract

Systems for reducing power consumption and power leakage in hybrid storage clusters is provided. More specifically, the system is for allocating an appropriate server amongst a plurality of servers in a network by identifying an application to be executed in a network, wherein the network comprises a plurality of servers configured to execute the applications, and each server further comprising a hybrid memory system; based on the application to be executed, dynamically identifying resources to execute the application based on the hybrid memory system available and the power consumption for executing the application; and dynamically allocating the application to the identified resource for execution.

Claims (50)

1. A system, comprising at least a processor and a memory, the system being configured to:

identify an application to be executed in a network, wherein the network comprises a plurality of servers configured to execute applications, each server having access to resources including at least a hybrid memory system;

determine a group of the application from amongst at least two groups: a first group for applications which are tolerant to reduced performance, and a second group for applications which require a relatively high performance;

determine which memories of the hybrid memory system are available to execute the application and a power consumption needed to execute the application on each available memory of the hybrid memory system;

dynamically identify one or more resources to execute the application based on all of: the group of the application, characteristics of the application, which memories of the hybrid memory system are available, an amount of leakage current that would occur during execution of the application for each available memory of the hybrid memory system, and which of the available memories are configured to execute the application with a least amount of power consumption; and

dynamically allocate the application to at least one server that has access to the one or more identified resources configured to execute the application using the one or more identified resources with the least amount of power consumption.

2. The system as recited in claim 1 , wherein the hybrid memory system includes at least one of a SRAM and a DRAM, and at least one of a MRAM and a PRAM, wherein the one or more resources are identified based on an access pattern of the application, and I/O performance and power leakage for memories of the hybrid memory system, and wherein the hybrid memory system is accessible by all servers in the network.

3. The system as recited in claim 1 , wherein any unavailable memories of the hybrid memory system are removed from contention when dynamically identifying the one or more resources to execute the application, and wherein the system is further configured to execute the application on the at least one server using the one or more identified resources to execute the application with the least amount of power consumption.

4. The system as recited in claim 1 , wherein the system is configured to dynamically identify the resources by:

computing an optimal power usage for executing the application; and

computing an optimal available memory of the hybrid memory system to execute the application based on the optimal power usage for executing the application.

5. The system as recited in claim 1 , wherein the system is further configured to utilize a lookup table having stored therein characteristics of the memories of the hybrid memory system to identify the one or more resources to execute the application.

6. The system as recited in claim 1 , wherein the one or more identified resources are dynamically allocated based at least partially on an access pattern for each available memory of the hybrid memory system determined while executing the application previously.

7. The system as recited in claim 6 , wherein the access pattern is saved in a log for future retrieval or usage, and wherein the access pattern comprises read/write ratios for the application.

8. The system as recited in claim 1 , wherein to dynamically allocate the application to the at least one server that has access to the one or more identified resources, the system is configured to compute a performance tolerance and a power usage of the applications-on the one or more identified resources and selecting one or more memory from the one or more resources based on the performance tolerance.

9. The system as recited in claim 1 , wherein one characteristic of the application is a performance tolerance that is accounted for when dynamically identifying the one or more resources to execute the application, and wherein, for a performance tolerant application, one or more resources are identified having lower power leakage than other available resources.

10. The system as recited in claim 1 , wherein the system is configured to:

utilize a lookup table having stored therein characteristics of the memories of the hybrid memory system to identify the one or more resources to execute the application, wherein the one or more resources are identified based on an access pattern of the application, and I/O performance and power leakage for memories of the hybrid memory system; and

execute the application on the at least one server using the one or more identified resources to execute the application with the least amount of power consumption.

11. The system as recited in claim 1 , wherein characteristics of the application comprise:

a performance tolerance of the application to be executed on lower performing resources; and

an access pattern of the application,

wherein for a performance tolerant application, one or more resources are identified having lower power leakage than other available resources, and

wherein for a high read write performance requirement, one or more resources are identified having faster read and write times than other available resources.

12. A computer program product, comprising a computer readable storage device having program instructions embodied therewith, the program instructions being executable by a memory allocation controller to cause the memory allocation controller to:

identify an application to be executed in a network, wherein the network comprises a plurality of servers configured to execute applications, each server having access to resources including at least a hybrid memory system;

determine a group of the application from amongst at least two groups: a first group for applications which are tolerant to reduced performance, and a second group for applications which require a relatively high performance;

determine which memories of the hybrid memory system are available to execute the application and a power consumption needed to execute the application on each available memory of the hybrid memory system;

dynamically identify one or more resources to execute the application based on all of: the group of the application, characteristics of the application, which memories of the hybrid memory system are available, an amount of leakage current that would occur during execution of the application for each available memory of the hybrid memory system, and which of the available memories are configured to execute the application with a least amount of power consumption; and

dynamically allocate the application to at least one server that has access to the one or more identified resources configured to execute the application using the one or more identified resources with the least amount of power consumption.

13. The computer program product as recited in claim 12 , wherein the hybrid memory system includes at least one of a SRAM and a DRAM, and at least one of a MRAM and a PRAM, wherein the one or more resources are identified based on an access pattern of the application, and I/O performance and power leakage for memories of the hybrid memory system, and wherein the hybrid memory system is accessible by all servers in the network.

14. The computer program product as recited in claim 12 , wherein the program instructions executable by the memory allocation controller to dynamically identify the resources are further executable by the memory allocation controller to:

compute an optimal power usage to execute the application;

compute an optimal available memory to execute the application based on the optimal power usage to execute the application; and

utilize a lookup table having stored therein characteristics of the memories of the hybrid memory system to identify the one or more resources to execute the application.

15. The computer program product as recited in claim 12 , wherein the program instructions are further executable by the memory allocation controller to execute the application on the at least one server using the one or more identified resources to execute the application with the least amount of power consumption.

16. The computer program product as recited in claim 12 , wherein the one or more identified resources are dynamically allocated based at least partially on an access pattern, wherein the access pattern comprises read/write ratios for the application.

17. The computer program product as recited in claim 16 , wherein the program instructions are further executable by the memory allocation controller to:

determine the group of the application as the second group for applications which require a relatively high performance in response to a determination that the access pattern comprises random memory read operations; and

save the access pattern in a log for future retrieval or usage.

18. The computer program product as recited in claim 12 , wherein the program instructions are further executable by the memory allocation controller to:

utilize a lookup table having stored therein characteristics of the memories of the hybrid memory system to identify the resource to execute the application, wherein the resource is selected based on an access pattern of the application, I/O performance for memories of the hybrid memory system, and power leakage for memories of the hybrid memory system;

select a resource within the hybrid memory system to execute the application based on the least amount of power consumption; and

execute the application on the at least one server using the selected resource to execute the application with the least amount of power consumption.

19. The computer program product as recited in claim 12 , wherein one characteristic of the application is a performance tolerance that is accounted for when dynamically identifying the one or more resources to execute the application, wherein the performance tolerance for the application is at least partially based on an access pattern of the application, and wherein, for a performance tolerant application, one or more resources are identified having lower power leakage than other available resources.

20. The computer program product as recited in claim 12 , wherein the characteristics of the application comprise:

a performance tolerance of the application to be executed on lower performing resources; and

an access pattern of the application,

wherein for a performance tolerant application, one or more resources are identified having lower power leakage than other available resources, and

wherein for a high read write performance requirement, one or more resources are identified having faster read and write times than other available resources.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2011
From: JAIN, BHUSHAN P.; RAMANATHAN, SRI; PATIL, SANDEEP R.; NAGPAL, ABHINAY R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 027123/0899 →
Continuity (1)
Related Publication 20130080621A1 · Mar 28, 2013