1 / 10

Programming Multiprocessors with Explicitly Managed Memory Hierarchies

Programming Multiprocessors with Explicitly Managed Memory Hierarchies. ELEC 6200 Xin Jin 4/30/2010. Outline. Introduction - Hardware-managed caches - Software-managed caches, explicitly managed memory (EMM) - Cell Processor

urvi
Download Presentation

Programming Multiprocessors with Explicitly Managed Memory Hierarchies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programming Multiprocessors with Explicitly Managed Memory Hierarchies ELEC 6200 Xin Jin 4/30/2010

  2. Outline • Introduction - Hardware-managed caches - Software-managed caches, explicitly managed memory (EMM) - Cell Processor • Programming models developed for the Cell Processor • Performance comparison • Conclusion

  3. Hardware and Software managed caches Ref: Software-Managed Caches. Bruce Jacob, Electrical Engineering Department, University of Maryland

  4. Managing the memory hierarchy in multicore processors • Introduces trade-offs in terms of performance, code complexity and optimization effort. • Based on hardware-managed caches - Single shared address space - Consistent view of shared memory • Based on software-managed local memories - Disjoint address spaces - Need to keep them consistent

  5. Architecture of Cell Processor • Challenges: • Local memory spaces • Small local storage • Data alignment

  6. Application: Fixedgrid • Fixedgrid is an atmospheric modeling application. It has two types of computational kernels 1.row discretization 2. column discretization

  7. Programming Models (a) Cellgen Code example (b) Sequoia Code example

  8. Performance SDK3 version does not require column data to be reordered on the PPE or SPE Unlike SDK3, the Cellgen and Sequoia versions do not support this kind of access, and instead the non-contiguous data is rearranged on the PPE

  9. Conclusion • The implicit management of parallelism and locality can produce code with performance comparable to that of code generated from explicit management of locality. • Hand-tuning of data transfers is still necessary for optimization.

  10. Reference "Programming Multiprocessors with Explicitly Managed Memory Hierarchies," S. Schneider, et al., Computer, vol. 42, no. 12, pp. 28-34, Dec 2009.

More Related