Design Space Exploration of Memory Model for Heterogeneous - - PowerPoint PPT Presentation
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 }
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 ¡
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 ¡
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 ¡
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
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 ¡
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 ¡