LEMap: Controlling leakage in large chip-multiprocessor caches via profile-guided virtual address translation