Design Space Exploration of Memory Model for Heterogeneous - - PowerPoint PPT Presentation

design space exploration of memory model for
SMART_READER_LITE
LIVE PREVIEW

Design Space Exploration of Memory Model for Heterogeneous - - PowerPoint PPT Presentation

Design Space Exploration of Memory Model for Heterogeneous Computing Jieun Lim* and Hyesoon Kim 6/16/2012 *Seoul Na/onal University Introduc/on }


slide-1
SLIDE 1

Design ¡Space ¡Exploration ¡of ¡Memory ¡Model ¡ ¡ for ¡Heterogeneous ¡Computing ¡

Jieun ¡Lim* ¡and ¡Hyesoon ¡Kim ¡ 6/16/2012 ¡ *Seoul ¡Na/onal ¡University ¡

slide-2
SLIDE 2

2 ¡

Introduc/on ¡

} Heterogeneous ¡compu/ng ¡has ¡become ¡a ¡major ¡architecture ¡trend ¡ } How ¡to ¡design ¡memory ¡system ¡

} Strongly ¡coupled ¡with ¡architecture ¡design ¡and ¡programming ¡

model ¡

} Difficult ¡to ¡compare ¡models ¡

} Goal ¡

} Understand ¡a ¡trade-­‑off ¡in ¡memory ¡system ¡design ¡decisions ¡ } Evaluate ¡the ¡overhead ¡of ¡design ¡op/ons ¡

Sandy ¡Bridge ¡ Fusion ¡

slide-3
SLIDE 3

3 ¡

Exis/ng ¡Memory ¡Address ¡Space ¡Design ¡Op/ons ¡

}

Unified ¡space: ¡iden/cal ¡address ¡space ¡both ¡for ¡CPU ¡and ¡GPU ¡

}

No ¡explicit ¡data ¡transfer, ¡but ¡complicated ¡TLB/MMU ¡designs ¡

}

Disjoint ¡space ¡

}

Scalable ¡and ¡easy ¡to ¡implement, ¡but ¡need ¡explicit ¡data ¡transfer ¡

}

Par/ally-­‑shared: ¡only ¡part ¡of ¡the ¡space ¡is ¡shared ¡

}

Convenience ¡of ¡using ¡shared ¡memory, ¡but ¡overhead ¡of ¡managing ¡between ¡spaces ¡

}

ADSM: ¡one ¡PU ¡can ¡access ¡the ¡en/re ¡memory, ¡but ¡the ¡other ¡cannot ¡

}

Provide ¡a ¡shared ¡space ¡with ¡discrete ¡memories ¡ Unified ¡space ¡ Disjoint ¡space ¡ Par/ally-­‑shared ¡space ¡ ADSM ¡

slide-4
SLIDE 4

4 ¡

Heterogeneous ¡Architecture ¡Summary ¡

} None ¡of ¡the ¡heterogeneous ¡compu/ng ¡system ¡has ¡employed ¡a ¡

unified, ¡fully-­‑coherent, ¡strong-­‑consistent ¡memory ¡system ¡yet ¡

} Most ¡proposed/exis/ng ¡systems ¡have ¡disjoint ¡memory ¡systems ¡

slide-5
SLIDE 5

5 ¡

Code ¡Example ¡for ¡Par/ally ¡Shared ¡Memory ¡ ¡

} Reduc/on ¡example ¡ } Show ¡the ¡differences ¡of ¡using ¡different ¡malloc ¡and ¡

  • wnership ¡changes ¡for ¡objects ¡in ¡the ¡shared ¡space ¡

Partially-shared memory space

a b c d e f f GPU CPU CPU Ownership control Special malloc function Ownership control

slide-6
SLIDE 6

6 ¡

Programmability ¡vs. ¡Memory ¡Address ¡Space

The ¡number ¡of ¡source ¡lines ¡to ¡handle ¡data ¡communica/on ¡

Different ¡programming ¡op/ons ¡affect ¡how ¡easy/difficult ¡it ¡is ¡to ¡write ¡ programs ¡ ¡ Use ¡the ¡number ¡of ¡source ¡lines ¡to ¡indicate ¡programmability ¡

The ¡number ¡of ¡addi/onal ¡source ¡lines ¡that ¡are ¡required ¡to ¡handle ¡ explicit ¡data ¡communica/on ¡and ¡data ¡handling ¡opera/ons ¡ ¡

Unified ¡< ¡par/ally-­‑shared ¡<= ¡ADSM ¡< ¡disjoint ¡ ¡

Unified ¡space ¡does ¡not ¡require ¡any ¡special ¡APIs ¡ Disjoint ¡memory ¡space ¡requires ¡the ¡most ¡addi/onal ¡source ¡code ¡lines ¡

slide-7
SLIDE 7

7 ¡

Conclusion ¡

} We ¡exploited ¡the ¡design ¡space ¡of ¡heterogeneous ¡

compu/ng ¡memory ¡systems ¡

} memory ¡space ¡does ¡not ¡affect ¡performance ¡

significantly ¡

} Par/ally ¡shared ¡memory ¡space ¡is ¡the ¡most ¡promising ¡

  • p/on ¡ ¡

} provides ¡many ¡hardware ¡design ¡op/ons ¡and ¡moderately ¡good ¡

programmability ¡