Patent ID: 8645730

Claim:
A method implemented in a computer infrastructure having computer executable code tangibly embodied on a computer readable storage medium having programming instructions operable to: monitor access patterns of one or more applications in two or more memory technologies in a computing system; select a memory technology to store the one or more applications based on the access patterns of the one or more applications; store the one or more applications in the selected memory technologies; and optimize I/O performance and power consumption or leakage based on constraints of the selected memory, wherein the selecting the memory technology includes selecting the memory technology that reduces power leakage and obtains an increased I/O performance, compared to other memory technologies; wherein a set up of a constrained optimization problem is to choose levels of one or more variables, [x 1 , x 2 , . . . , xn] in order to optimize a value of a function f [x 1 , x 2 , . . . , xn] subject to constraints g 1 [x 1 , x 2 , . . . , xn], and wherein the one or more variables to be optimized include: f(x): Client Read-Write Performance, and f(y): Power consumption and leakage; and the constraints include: g(x): performance tolerance and access pattern behavior; and g(y): available memory technology, where g(x,y) is the constraint function; u=f ( x,y ) (1) subject to g ( x,y )= c ; and (2) df=f x dx+f y dy= 0; (3) a total differentiation of the constraint function is given as: dg=g x dx+g y dy= 0; and (4) ( f x +ëg x ) dx +( f y +ëg y ) dy= 0; (5) wherein equation (5) implies: f x +ëg x =0; and (6) f y +ëg y =0; (7) wherein required stationary points of f(x,y) subject to constraints (2) is provided by solving three equations (2), (6) and (7) for three unknowns x, y and ë.