MCDRAM

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

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 similar to Micron's Hybrid Memory Cube.

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 16GB 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 the DIMM is significantly higher than going directly to the DIMM, and so applications may need to be tuned [4] to avoid excessive cache misses.

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.

External links