Virtual Memory Management for Emerging Accelerators and Large-memory Applications