Miloš Bošković<br />Cell Processor Based Sequence Alignment<br />
Prof. Vassil Alexandrov<br />Janko Straßburg<br />University of Reading, Aristotle University, University Carlos III<br />...
Sequence Alignment on the Playstation 3<br />Six SPEs<br />Smith-Waterman Algorithm only<br />Accelerating Multiple Sequen...
Cell BroadBand Engine<br />Cell Processor<br />
SIMD approach<br />Working with vectors<br />Parallelisation<br />Using multiple SPEs<br />Cell Processor features<br />
Sequence Alignment<br /><ul><li>Bioinformatics
Used for aligning sequences of DNA nucleotides or amino acids (proteins)
Great amount of data, requiring lots of computational power</li></li></ul><li>Matrix<br />Scoring matrix<br />Traceback ma...
Needleman-Wunsch<br />Scoring matrix<br />Each cell’s value is based on its upper, left, and upper-left neighbour<br />Mai...
Traceback<br />     HEAGAWGHEE<br />     -PA--WHEAE<br />Sequence Alignment<br />
Main issue – data dependencies<br />Parallelisation<br />
Two possible approaches<br />Use the existing code and modify it<br />Develop the code from scratch<br />Chose the latter ...
One SPE – one row<br />Each SPE one cell behind the previous one<br />Not efficient<br />DMA overhead<br />Potential solut...
Grouping cells into tiles<br />Tile size 8 X 8 up to 64 x 64 <br />Solution<br />
Tiles grouped into blocks<br />Each block is 16 tiles high or more<br />Algorithm first covers one block, then moves to th...
Wavefront algorithm also applied on the tile level<br />One antidiagonal – one or more vectors<br />Vectorisation<br />
Always try to transfer as much as possible<br />Maximum transfer allowed – 16 KB<br />Integer size – 4 B<br />If tile size...
Double buffering<br />
Each SPE – two tiles<br />Double buffering<br />
Upcoming SlideShare
Loading in …5
×

Cell Processor Based Sequence Alignment

1,332 views

Published on

Presentation of the Master thesis titled: &quot;Cell Processor Based Sequence Alignment&quot;

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,332
On SlideShare
0
From Embeds
0
Number of Embeds
169
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cell Processor Based Sequence Alignment

  1. 1. Miloš Bošković<br />Cell Processor Based Sequence Alignment<br />
  2. 2. Prof. Vassil Alexandrov<br />Janko Straßburg<br />University of Reading, Aristotle University, University Carlos III<br />European Commission<br />Acknowledgments<br />
  3. 3. Sequence Alignment on the Playstation 3<br />Six SPEs<br />Smith-Waterman Algorithm only<br />Accelerating Multiple SequenceAlignment with the Cell BE Processor<br />Designed to accelerate a particular sequence alignment application<br />Modeling and SchedulingWavefront Computations on the Cell Broadband Engine<br />Smith-Waterman Algorithm<br />State of the art<br />
  4. 4. Cell BroadBand Engine<br />Cell Processor<br />
  5. 5. SIMD approach<br />Working with vectors<br />Parallelisation<br />Using multiple SPEs<br />Cell Processor features<br />
  6. 6. Sequence Alignment<br /><ul><li>Bioinformatics
  7. 7. Used for aligning sequences of DNA nucleotides or amino acids (proteins)
  8. 8. Great amount of data, requiring lots of computational power</li></li></ul><li>Matrix<br />Scoring matrix<br />Traceback matrix<br />Sequence Alignment<br />
  9. 9. Needleman-Wunsch<br />Scoring matrix<br />Each cell’s value is based on its upper, left, and upper-left neighbour<br />Main issue – data dependencies<br />Sequence Alignment<br />
  10. 10. Traceback<br /> HEAGAWGHEE<br /> -PA--WHEAE<br />Sequence Alignment<br />
  11. 11. Main issue – data dependencies<br />Parallelisation<br />
  12. 12. Two possible approaches<br />Use the existing code and modify it<br />Develop the code from scratch<br />Chose the latter one<br />Code development<br />
  13. 13. One SPE – one row<br />Each SPE one cell behind the previous one<br />Not efficient<br />DMA overhead<br />Potential solution<br />
  14. 14. Grouping cells into tiles<br />Tile size 8 X 8 up to 64 x 64 <br />Solution<br />
  15. 15. Tiles grouped into blocks<br />Each block is 16 tiles high or more<br />Algorithm first covers one block, then moves to the next one<br />Solution<br />
  16. 16. Wavefront algorithm also applied on the tile level<br />One antidiagonal – one or more vectors<br />Vectorisation<br />
  17. 17. Always try to transfer as much as possible<br />Maximum transfer allowed – 16 KB<br />Integer size – 4 B<br />If tile size is 64, the transfer size is<br /> 64 X 64 X 2 = 8192 X 4 = 32768 B<br />Solution – short integers<br />New transfer size - 64 X 64 X 2 = 8192 X 2 =<br /> = 16 384 B = 16 KB<br />Technical issues<br />
  18. 18. Double buffering<br />
  19. 19. Each SPE – two tiles<br />Double buffering<br />
  20. 20. Results (8 KB sequence size)<br />
  21. 21. It is possible to efficiently employ Cell Broadband Engine for Sequence alignment<br />Further optimisation needed<br />Reduction of context creations<br />Inter-SPE communication<br />Implementing sequence alignment across multiple pairs of sequences<br />Using ALF – Accelerated Library Framework<br />Conclusion<br />
  22. 22. Thank you for your time!<br />
  23. 23. Results (4 KB sequence size)<br />
  24. 24. Results (2 KB sequence size)<br />

×