ParAlign: with OpenMP Peter Reetz. Overview n Simple algorithm for finding un-gapped alignments n 4 to 5 times faster than Smith- Waterman algorithm &

Slides:



Advertisements
Similar presentations
Unit 4 - I Said Stop!. Introduction New Topics Timing Parallelism Sequence of Operations New Features NXT terminals New Functions Wait For.
Advertisements

OpenMP Optimization National Supercomputing Service Swiss National Supercomputing Center.
Intro to Computer Org. Pipelining, Part 2 – Data hazards + Stalls.
1 Chapter 1 Why Parallel Computing? An Introduction to Parallel Programming Peter Pacheco.
Chapter Six 1.
Improved Alignment of Protein Sequences Based on Common Parts David Hoksza Charles University in Prague Department of Software Engineering Czech Republic.
BLAST Sequence alignment, E-value & Extreme value distribution.
Numerical Algorithms Matrix multiplication
Data Analytics and Dynamic Languages Lee E. Edlefsen, Ph.D. VP of Engineering 1.
Tirgul 9 Amortized analysis Graph representation.
Analysis of Algorithms. Time and space To analyze an algorithm means: –developing a formula for predicting how fast an algorithm is, based on the size.
TurboBLAST: A Parallel Implementation of BLAST Built on the TurboHub Bin Gan CMSC 838 Presentation.
Dr. Muhammed Al-Mulhem 1ICS ICS 535 Design and Implementation of Programming Languages Part 1 OpenMP -Example ICS 535 Design and Implementation.
Synthesizable, Space and Time Efficient Algorithms for String Editing Problem. Vamsi K. Kundeti.
Chapter 4 Assessing and Understanding Performance
Sequence alignment, E-value & Extreme value distribution
TM Biological Sequence Comparison / Database Homology Searching Aoife McLysaght Summer Intern, Compaq Computer Corporation Ballybrit Business Park, Galway,
– 1 – Basic Machine Independent Performance Optimizations Topics Load balancing (review, already discussed) In the context of OpenMP notation Performance.
Sequence comparison: Local alignment Genome 559: Introduction to Statistical and Computational Genomics Prof. William Stafford Noble.
Bioiformatics I Fall Dynamic programming algorithm: pairwise comparisons.
Traceback and local alignment Prof. William Stafford Noble Department of Genome Sciences Department of Computer Science and Engineering University of Washington.
Rechen- und Kommunikationszentrum (RZ) Parallelization at a Glance Christian Terboven / Aachen, Germany Stand: Version 2.3.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
Slides Prepared from the CI-Tutor Courses at NCSA By S. Masoud Sadjadi School of Computing and Information Sciences Florida.
Scalable Computational Methods in Quantum Field Theory Advisors: Hemmendinger, Reich, Hiller (UMD) Jason Slaunwhite Computer Science and Physics Senior.
OpenMP OpenMP A.Klypin Shared memory and OpenMP Simple Example Threads Dependencies Directives Handling Common blocks Synchronization Improving load balance.
Week 5 - Monday.  What did we talk about last time?  Linked list implementations  Stacks  Queues.
Stephen P. Carl - CS 2421 Recursion Reading : Chapter 4.
December 8, 2003Other ISA's1 Other ISAs Next, we discuss some alternative instruction set designs. – Different ways of specifying memory addresses – Different.
SHRiMP: Accurate Mapping of Short Reads in Letter- and Colour-spaces Stephen Rumble, Phil Lacroute, …, Arend Sidow, Michael Brudno.
National Center for Supercomputing Applications Case Studies of Porting Two Algorithms to Reconfigurable Processors Reconfigurable Systems Summer Institute.
1. Could I be getting better performance? Probably a little bit. Most of the performance is handled in HW How much better? If you compile –O3, you can.
BLAST Anders Gorm Pedersen & Rasmus Wernersson. Database searching Using pairwise alignments to search databases for similar sequences Database Query.
Introduction Advantages/ disadvantages Code examples Speed Summary Running on the AOD Analysis Platforms 1/11/2007 Andrew Mehta.
Recursion. What is recursion? Rules of recursion Mathematical induction The Fibonacci sequence Summary Outline.
Parallel Characteristics of Sequence Alignments Kyle R. Junik.
11 Adding Tomato Targets Session Session Overview  We now have a game which lets a player bounce a piece of cheese on a bread bat  Now we have.
Sequence Comparison Algorithms Ellen Walker Bioinformatics Hiram College.
Heuristic Methods for Sequence Database Searching BMI/CS 576 Colin Dewey Fall 2015.
Observations so far…. In general… There are two ways to design a software system –Centralized control One “driver” function that contains the entire algorithm.
Doug Raiford Lesson 5.  Dynamic programming methods  Needleman-Wunsch (global alignment)  Smith-Waterman (local alignment)  BLAST Fixed: best Linear:
1  1998 Morgan Kaufmann Publishers Chapter Six. 2  1998 Morgan Kaufmann Publishers Pipelining Improve perfomance by increasing instruction throughput.
Threaded Programming Lecture 1: Concepts. 2 Overview Shared memory systems Basic Concepts in Threaded Programming.
LECTURE 7 Pipelining. DATAPATH AND CONTROL We started with the single-cycle implementation, in which a single instruction is executed over a single cycle.
Heuristic Methods for Sequence Database Searching BMI/CS 576 Colin Dewey Fall 2010.
CSE 143 Lecture 13 Recursive Backtracking slides created by Ethan Apter
2005MEE Software Engineering Lecture 7 –Stacks, Queues.
First INFN International School on Architectures, tools and methodologies for developing efficient large scale scientific computing applications Ce.U.B.
Multi-Grid Esteban Pauli 4/25/06. Overview Problem Description Problem Description Implementation Implementation –Shared Memory –Distributed Memory –Other.
Dynamic Programming for the Edit Distance Problem.
CSE 340 Computer Architecture Summer 2016 Understanding Performance.
Calling Conventions, Caching
Use the idea of static electricity to explain…
Simple Sorting Algorithms
Use the idea of static electricity to explain…
Sieve of Eratosthenes.
The University of Adelaide, School of Computer Science
Exploiting Parallelism
Sequence comparison: Local alignment
Sieve of Eratosthenes.
MPICH2 for Windows Parallelism on (LCS) Longest Common Subsequence
Sequence comparison: Traceback and local alignment
Global, local, repeated and overlaping
Unit-2 Divide and Conquer
Topic 1: Problem Solving
A summary of part 1 of Chapter 7 CEP 812 Kay Paff March 24, 1999
Other ISAs Next, we’ll first we look at a longer example program, starting with some C code and translating it into our assembly language. Then we discuss.
Other ISAs Next, we’ll first we look at a longer example program, starting with some C code and translating it into our assembly language. Then we discuss.
Sequence alignment, E-value & Extreme value distribution
Presentation transcript:

ParAlign: with OpenMP Peter Reetz

Overview n Simple algorithm for finding un-gapped alignments n 4 to 5 times faster than Smith- Waterman algorithm & almost as sensitive n Easy to see the data parallelism n OpenMP is an obvious choice

Design n parAlign( int sub[], int sLen, int que[], int qLen ) n Calculation along diagonals is based on previous (row-1, col-1) value and the substitution matrix n Splitting up the diagonals across the processor elements = load balancing n Shared memory: Substitution Matrix, Protein sequences

…Design n Starting position of diagonals are based on the index that each thread is working on n Parallelizing the final loop to get the result had no affect

Speedup

…Speedup n Only able to test with 4 PE n After initial speedup, each successive PE had only a small impact n 1000x1000 is pushing it for protein sequences!

Pause… for reflection n Lesson I have still NOT learned: –waiting until the last minute to complete a project n Lesson I HAVE learned: –don’t be too ambitious and get into something I won’t be able to finish –I probably could have done more with this

New Lessons n Look at documentation FIRST when a problem comes up - especially when doing reduction in OpenMP n Pay close attention to what I am learning the first time around n Always initialize variables in OpenMP

If only I had more time n Implement a parallel version of the Smith-Waterman algorithm to compare speed n Implement the confusing aspect of ParAlign that will account for gapped alignment n Implement the function in assembly language to see how parallelism can work at a low level

Summary n Implementing ParAlign was a straight forward problem easily lending itself to parallelization with OpenMP n There isn’t much information available concerning speed issues of this algorithm to compare my results to