Describir: Architectures for Heterogeneous Memory and Storage Hierarchies in Modern Datacenters