This is a refactoring task.
SPARK-10956 gets merged, we will have the following:
This is pretty confusing. The goal is to merge ShuffleMemoryManager and ExecutorMemoryManager and move them into the top-level MemoryManager abstract class. Then TaskMemoryManager should be renamed something else and used by MemoryManager, such that the new hierarchy becomes: