1 / 34

High Performance Simulations of Electrochemical Models on the Cell Broadband Engine

High Performance Simulations of Electrochemical Models on the Cell Broadband Engine. James Geraci HPEC Workshop September 20, 2007.

umed
Download Presentation

High Performance Simulations of Electrochemical Models on the Cell Broadband Engine

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. High Performance Simulations of Electrochemical Models on the Cell Broadband Engine James Geraci HPEC Workshop September 20, 2007 This work is sponsored by the Department of the Air Force under Air Force contract FA8721-05-C-0002. Opinions, interpretations, conclusions and recommendations are those of the author and are not necessarily endorsed by the United States Government

  2. Outline • Introduction • Out of Core Algorithm • In Core Algorithm • Summary • Introduction • Modeling battery physics • LU decomposition • CELL Broadband Engine

  3. Introduction Real Time Battery State of Health Estimation Lead Acid Battery • The way in which a battery ages is a • strong function of battery geometry. • The rate of self discharge is also a function of • battery geometry.

  4. Inside a Lead Acid Battery Face View Lead Dioxide Plate Face View Lead Plate • Lead acid batteries are made up of stacks • of lead dixode and lead electrode pairs

  5. Finite volume description of battery Lead Dioxide Sulfuric Acid Edge view lead dioxide plate Lead • The center volume’s physics can be • influenced by the physics of the volumes • to the right, the left, above, and below • The 5 point stencil gives rise to banded matrix

  6. Matlab spy plot of Banded Matrix • Non-zero entries shown in blue • Inner band around diagonal • Distant narrow outer band • For the physics of a lead acid • battery, the matrix is not • symmetric (shown) • For the physics of a lead acid • battery, the matrix is poorly • conditioned 10^8-10^12 • - need double precision, • no GPGPU

  7. Outline • Introduction • Out of Core Algorithm • In Core Algorithm • Summary • Introduction • Modeling battery physics • LU decomposition • CELL Broadband Engine

  8. LU Decomposition • LU decomposition decomposes a matrix J into a lower triangular matrix L and an upper triangular matrix U • L & U can be used to solve a system of linear equations Jx = r by forward elimination back substitution • Essentially Gaussian Elimination • Often used on poorly conditioned systems where ‘iterative solvers’ can’t be used. • Difficult to parallelize for small systems because of the fine grain nature of the parallelism involved. • Banded LU is a special case of LU • The matrix J has a special ‘banded’ data pattern.

  9. Outline • Introduction • Out of Core Algorithm • In Core Algorithm • Summary • Introduction • Modeling battery physics • LU decomposition • CELL Broadband Engine

  10. Cell Broadband Engine • Cell Broadband Engine is a new heterogeneous multicore • processor that features large internal and off chip bandwidth.

  11. Cell Broadband Engine SPE SPE SPE SPE SPE SPE SPE SPU SPU SPU SPU SPU SPU SPU SXU SXU SXU SXU SXU SXU SXU LS LS LS LS LS LS LS MFC MFC MFC MFC MFC MFC MFC SPE SPU SXU LS MFC 16B/cycle EIB (96B/cycle 3.2Gcycles/sec*96B/cycle = 286.1GB/sec) 16B/cycle 47.7GB/sec 16B/cycle • Bandwidth: • 50GB/sec/SPU • 25GB/sec off chip • SPE Performance: • 14 Gflops double PPE MIC PPU L2 PXU L1 25GB/sec

  12. Outline • Introduction • Out of Core Algorithm • In Core Algorithm • Summary • Banded LU • Performance • Latency • Synchronization

  13. Banded LUOut of Core Algorithm Explained Matrix i i

  14. Banded LUOut of Core Algorithm Analyzed Matrix Compute Multiplies: i Subtracts: Memory Accesses Memory Doubles Moved Gets: i Puts: Synchronizations N • Compute/Memory Ratio = ½ • For a 16728x16728 matrix with band size of 420, • almost 22 GB of data would have to be moved.

  15. Outline • Introduction • Out of Core Algorithm • In Core Algorithm • Summary • Banded LU • Performance • Latency • Synchronization

  16. Peformance of Out of Core Algorithm Compute Time for matrix size 16728x16728 w/ band size of 420 Gflops for matrix size 16728x16728 w/ band size of 420 1.0 Out of core Out of core Opteron 246: UMFpack Linear speed up 0.9 3 Linear speed up 0.8 0.7 0.6 2 0.5 Seconds Gflops 0.4 0.3 1 0.2 1 2 4 5 6 3 4 1 2 3 5 6 • Out of Core Algorithm outperforms UMFpack on Opteron 246 based workstation. • No appreciable gain in performance past 4 SPEs

  17. Outline • Introduction • Out of Core Algorithm • In Core Algorithm • Summary • Banded LU • Performance • Latency • Synchronization

  18. Latency for DMA put 16 bytes 1024 bytes • Significant Performance hit for memory access smaller than 16bytes • Bandwidth limited region starts at 8x128bytes

  19. SPE to main memory bandwidth 25GB/sec Theoretical Maximum Bandwidth 16 bytes 1024 bytes • Theoretical maximum bandwidth can almost • be achieved for larger message sizes

  20. OCA Memory Access Size Dependence • Out of Core performance is better when memory access is a byte multiple of 128

  21. PPE/SPE Synchronization Mailboxes PPE SPE SPE // barrier While(sum != NUM_SPE){ for(i < NUM_SPE){ if(NewMailBoxMessage){ readMailBox;}}} SPU SXU Out Mailbox In Mailbox // Notify PPE spu_writech(SPU_WrOutMbox,1); LS // Wait for PPE spu_readch(SPU_RdInMbox); MFC 16B/cycle // Restart SPEs writeSPEinMboxes(); EIB • Mailboxes are one common method of synchronization 16B/cycle PPE PPU L2 PXU L1

  22. PPE/SPE Synchronization MailboxesRound Trip Times 6.24 mseconds 3.65 mseconds 0.35 mseconds / not reliable 58.33 mseconds TCP (Gigabit) 8.08 mseconds Infiniband • Mailboxes using IBM SDK 2.1 C-intrinsics • Mailboxes using IBM SDK 2.1 C-intrinsics & pointers to MMIO registers • Mailboxes by pointers alone • Standard round trip latency 16byte message • IBM SDK 2.1 C-intrinsics for mailboxes do not seem to have idea performance.

  23. Synchronization by hybrid of C-intrinsics and pointers to MMIO registers Matrix size 16728x16728 w/ band size of 420 Out of core Linear speed up 3 2 Seconds 1 1 2 3 4 5 6 Number of SPEs • Synchronization with IBM SDK 2.1 C-intrinsics & pointers to MMIO registers • yields fairly good performance for a moderate numbers SPEs

  24. Synchronization exclusively by IBM SDK 2.1 mailbox C intrinsics SPE synchronization by SDK C intrinsics 0.8 0.7 0.6 0.5 Seconds 0.4 0.3 0.2 0.1 1 2 3 4 5 6 Number of SPEs • Synchronization by IBM SDK 2.1 mailbox C intrinsics alone, • yields little gain for low SPE count and performance LOSS after only 4 SPEs!!!

  25. Data from synchronization exclusively by pointers SPE synchronization by SDK C intrinsics 0.8 0.7 0.6 0.5 Seconds 0.4 0.3 0.2 0.1 1 2 3 4 5 6 Number of SPEs • Synchronization by pointers alone, yields a nice speed up for all SPEs • Seems to be reliability issue with reading mailbox status register via pointers

  26. Outline • Introduction • Out of Core Algorithm • In Core Algorithm • Summary • Hide memory accesses • Hide synchronizations

  27. Banded LUIn Core Algorithm Matrix Compute Multiplies: Subtracts: Memory Accesses Doubles Moved Start up Access: Gets: Puts: Total Accesses: N Synchronizations • Compute/Memory Ratio = • For a 16728x16728 matrix with band size of 420, • only 0.158 GB of data would have to be moved.

  28. In Core Performance Achieves over 11% of theoretical performance Max in core 1.23 Gflops Max out core 0.583 Gflops Intel Xeon 5160 3.0Ghz 0.377 Gflops MIT Lincoln Laboratory

  29. In Core Performancew/ linear speed up Performance improves as band size increases MIT Lincoln Laboratory

  30. IBM QS20 performance Achieves over 11% of theoretical performance IBM QS20 Max in core 3.15 Gflops MIT Lincoln Laboratory

  31. ICA Memory Access Size Dependence • In core performance does not show a large dependence on memory access size

  32. Outline • Introduction • Out of Core Algorithm • In Core Algorithm • Summary

  33. Summary / Future Work • Parallel LU decomposition can benefit from the high bandwidth of the CBE • Benefit depends greatly on synchronization scheme • inCore LU offers performance advantages over out of core LU • Limits on size of matrix bandwidth for inCore LU. • Partial pivoting

  34. Acknowledgements • Out of Core Algorithm • Sudarshan Raghunathan • John Chu MIT • In Core Algorithm • Jeremy Kepner MIT LL • Sharon Sacco MIT LL • Rodric Rabbah IBM

More Related