1. A computer-implemented method, comprising, during execution of a first application: receiving, on behalf of said first application, a first memory request directed to a first virtual memory address; translating said first virtual memory address to a corresponding first physical address according to a first address translation technique; analyzing performance of said first application; dynamically selecting a second address translation technique for translating virtual memory addresses to corresponding physical memory addresses on behalf of said first application; and subsequent to said selecting a second address translation technique, receiving, on behalf of said first application, a second memory request directed to a second virtual memory address, and translating said second virtual memory address to a corresponding second physical address according to said second address translation technique; wherein said dynamically selecting a second address translation technique is dependent, at least in part, on a user policy and on results of said analyzing; and wherein said dynamically selecting and said translating according to said second address translation technique are performed transparently to said first application.
1. A computer-implemented method, comprising, during execution of a first application: receiving, on behalf of said first application, a first memory request directed to a first virtual memory address; translating said first virtual memory address to a corresponding first physical address according to a first address translation technique; analyzing performance of said first application; dynamically selecting a second address translation technique for translating virtual memory addresses to corresponding physical memory addresses on behalf of said first application; and subsequent to said selecting a second address translation technique, receiving, on behalf of said first application, a second memory request directed to a second virtual memory address, and translating said second virtual memory address to a corresponding second physical address according to said second address translation technique; wherein said dynamically selecting a second address translation technique is dependent, at least in part, on a user policy and on results of said analyzing; and wherein said dynamically selecting and said translating according to said second address translation technique are performed transparently to said first application. 3. The method of claim 1 , wherein said analyzing performance of said first application comprises: measuring one or more of: a number of translation lookaside buffer (TLB) misses, a number of trap handler calls, a memory access time, a number of table look-up operations, a distribution of memory accesses, and a size of a data structure; and comparing results of said measuring to one or more performance criteria.