1. A method to be performed in a computing platform having a plurality of heterogeneous processors, including at least a non-central processing unit and a central processing unit, and a shared memory, the method comprising: the central processing unit, identifying one or more memory pages pinned to the non-central processing unit but no longer accessed by the non-central processing unit; generating a memory read/write from the non-central processing unit to a virtual address in the shared memory; determining when a memory page in the shared memory associated with the virtual address is not pinned to the non-central processing unit; generating and sending a request for pinning the associated memory page to a run-time component associated with the central processing unit, wherein the request includes an address for the associated memory page; determining whether a total number of memory pages already pinned to the non-central processing unit exceeds a threshold value; if the threshold value is exceeded, unpinning the identified one or more memory pages; and dynamically pinning the associated memory page to the non-central processing unit.