Multiple Physical DRAM Mappings: Dynamic OS-Control Over DRAM Channel Sharing

  • Author:

    Marius Hillenbrand, Mathias Gottschlag, Jens Kehne and Frank Bellosa

  • Source:

    APSys '17, 8th ACM SIGOPS Asia-Pacific Workshop on Systems, Mumbai, India, September 2-3, 2017

  • Abstract:

    When an OS allocates memory to a process, it implicitly performs long-term scheduling on DRAM resources such as channels and banks: Each mapped page frame allows memory operations to send requests to the channels and DRAM banks which are backing that page frame. The OS should be able to choose between sharing or dedicating resources dynamically -- yet it cannot do that on conventional systems.

    We observed slowdowns from DRAM interference of up to 36% on our 4-core prototype platform for some combinations of workloads, caused by the uncontrolled sharing of DRAM channels in the typical configuration of channel interleaving. Previous work proposed channel partitioning to mitigate that interference, but thereby reduces maximum throughput for individual applications even when workloads do not interfere.

    With our approach, we enable the OS to choose between channel interleaving and partitioning at run-time, at the granularity of address space (AS) segments. For that purpose, we map DRAM into the physical AS multiple times, as one dedicated region per channel for partitioning and then as another region that interleaves all channels. We implement this approach on commodity hardware. We change the OS's memory management so that we can dedicate channels to processes or share channels between processes with interleaving by choosing page frames from the appropriate region. As a result, we can switch to the configuration that achieves optimum execution speed and system throughput at application run-time (e.g., when workloads change), whereas a conventional system would have to choose interleaving or partitioning while booting.

    Bibtex:
    @inproceedings{Hillenbrand17multiplephysicalmappings,
      author = {Hillenbrand, Marius and Gottschlag, Mathias and Kehne, Jens and Bellosa, Frank},
      title = {Multiple Physical Mappings: Dynamic DRAM Channel Sharing and
    Partitioning},
      booktitle = {Proceedings of the 8th ACM Asia-Pacific Workshop on
    Systems)},
      year = {2017},
      location = {Mumbai, India}
    }