Multi-Channel DRAM or MCDRAM (pronounced em cee dee ram[1]) is a 3D-stacked DRAM that is used in the Intel Xeon Phi processor codenamed Knights Landing. It is a version of Hybrid Memory Cube developed in partnership with Micron Technology, and a competitor to High Bandwidth Memory.
The many cores in the Xeon Phi processors, along with their associated vector processing units, enable them to consume many more gigabytes per second than traditional DRAM DIMMs can supply. The "Multi-channel" part of the MCDRAM full name reflects the cores having many more channels available to access the MCDRAM than processors have to access their attached DIMMs.[2] This high channel count leads to MCDRAM's high bandwidth, up to 400+ GB/s, although the latencies are similar to a DIMM access.
Its physical placement on the processor imposes some limits on capacity – up to 16 GB at launch, although speculated to go higher in the future.
Programming
The memory can be partitioned at boot time, with some used as cache for more distant DDR, and the remainder mapped into the physical address space.
The application can request pages of virtual memory to be assigned to either the distant DDR directly, to the portion of DDR that is cached by the MCDRAM, or to the portion of the MCDRAM that is not being used as cache. One way to do this is via thememkind
API.[3]
When used as cache, the latency of a miss accessing both the MCDRAM and DDR is slightly higher than going directly to DDR, and so applications may need to be tuned[4] to avoid excessive cache misses.
References
- ^ Mike P. (sic) (January 20, 2016). "An Intro to MCDRAM (High Bandwidth Memory) on Knights Landing". software.intel.com. Retrieved April 18, 2016.
- ^ Ian Cutress (November 16, 2015). "A few notes on Intel's Knights Landing and MDRAM modes from SC15". www.anandtech.com. Retrieved April 18, 2016.
- ^ Christopher Cantalupo; et al. (March 18, 2015). "User Extensible Heap Manager for Heterogeneous Memory Platforms and Mixed Memory Policies" (PDF). memkind.github.io. Retrieved April 18, 2016.
- ^ Mike P. (sic) (March 10, 2016). "MCDRAM (High Bandwidth Memory) on Knights Landing – Analysis Methods & Tools". software.intel.com. Retrieved April 18, 2016.