Transparently achieving high performance for applications on Persistent Memory