UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association - - PowerPoint PPT Presentation

upc for bioinformatics a case study using genome wide
SMART_READER_LITE
LIVE PREVIEW

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association - - PowerPoint PPT Presentation

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Jan C. Kssens*, Jorge Gonzlez-Domnguez** , Lars Wienbrandt*,Bertil Schmidt**


slide-1
SLIDE 1

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies

Jan C. Kässens*,Jorge González-Domínguez**, Lars Wienbrandt*,Bertil Schmidt**

*Department of Computer Science, Christian-Albrechts-University of Kiel, Germany {jka,lwi}@informatik.uni-kiel.de **Parallel and Distributed Architectures Group, Johannes Gutenberg University of Mainz, Germany {j.gonzalez,bertil.schmidt}@uni-mainz.de

IEEE International Conference on Cluster Computing Cluster 2014

slide-2
SLIDE 2

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies

1

Introduction

2

Methodology

3

UPC++ Implementation

4

Experimental Evaluation

5

Conclusion

slide-3
SLIDE 3

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Introduction

1

Introduction

2

Methodology

3

UPC++ Implementation

4

Experimental Evaluation

5

Conclusion

slide-4
SLIDE 4

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Introduction

Genome-Wide Association Studies (I)

Analyses of genetic influence

  • n diseases
slide-5
SLIDE 5

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Introduction

Genome-Wide Association Studies (I)

Analyses of genetic influence

  • n diseases

M individuals

slide-6
SLIDE 6

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Introduction

Genome-Wide Association Studies (I)

Analyses of genetic influence

  • n diseases

M individuals

K cases

slide-7
SLIDE 7

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Introduction

Genome-Wide Association Studies (I)

Analyses of genetic influence

  • n diseases

M individuals

K cases C controls

slide-8
SLIDE 8

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Introduction

Genome-Wide Association Studies (I)

Analyses of genetic influence

  • n diseases

M individuals

K cases C controls

N genetic markers, Single Nucleotide Polymorphisms (SNPs). 3 genotypes:

Homozygous Wild (w, AA, 0) Heterozygous (h, Aa, 1) Homozygous Variant (v, aa, 2)

slide-9
SLIDE 9

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Introduction

Genome-Wide Association Studies (II)

Cases Controls SNP 1 1 2 1 2 1 2 1 2 1 2 1 SNP 2 1 1 2 1 2 2 1 1 1 2 SNP 3 1 2 1 1 1 2 1 1 SNP 4 1 1 1 1 2 2 2 2 1 1 1 1 SNP 5 2 2 2 1 1 1 1 1 1 2 2 SNP 6 1 1 1 1 1 2 1 2 1 2 2 1

slide-10
SLIDE 10

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Introduction

Genome-Wide Association Studies (II)

Cases Controls SNP 1 1 2 1 2 1 2 1 2 1 2 1 SNP 2 1 1 2 1 2 2 1 1 1 2 SNP 3 1 2 1 1 1 2 1 1 SNP 4 1 1 1 1 2 2 2 2 1 1 1 1 SNP 5 2 2 2 1 1 1 1 1 1 2 2 SNP 6 1 1 1 1 1 2 1 2 1 2 2 1

slide-11
SLIDE 11

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Introduction

Genome-Wide Association Studies (II)

Cases Controls SNP 1 1 2 1 2 1 2 1 2 1 2 1 SNP 2 1 1 2 1 2 2 1 1 1 2 SNP 3 1 2 1 1 1 2 1 1 SNP 4 1 1 1 1 2 2 2 2 1 1 1 1 SNP 5 2 2 2 1 1 1 1 1 1 2 2 SNP 6 1 1 1 1 1 2 1 2 1 2 2 1

slide-12
SLIDE 12

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Introduction

Genome-Wide Association Studies (and III)

Definition Two SNPs present epistasis or interaction if: Their joint genotype frequencies show a statistically significant difference between cases and controls which potentially explains the effect of the genetic variation leading to disease. The difference between cases and controls shown by the joint values is significantly higher than using only the individual SNP values.

slide-13
SLIDE 13

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Introduction

BOOST

BOolean Operation-based Screening and Testing Binary traits Exhaustive search Statistical regression Good accuracy (used by biologists) Returns a list of SNP pairs with high interaction probability Fastest available tool. Intel Core i7 3.20GHz:

40,000 SNPs and 3,200 individuals

About 800 million pairs 51 minutes

500,000 SNPs and 5,000 individuals

About 125 billion pairs (moderated size) Estimated 7 days

slide-14
SLIDE 14

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Introduction

GBOOST

CUDA version for GPUs Same accuracy as BOOST 40,000 SNPs and 6,400 individuals

About 800 million pairs 28 seconds on a GTX Titan

500,000 SNPs and 5,000 individuals

About 125 billion pairs (moderated size) 1 hour on a GTX Titan

slide-15
SLIDE 15

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Introduction

GBOOST

CUDA version for GPUs Same accuracy as BOOST 40,000 SNPs and 6,400 individuals

About 800 million pairs 28 seconds on a GTX Titan

500,000 SNPs and 5,000 individuals

About 125 billion pairs (moderated size) 1 hour on a GTX Titan

High-throughput genotyping technologies collect few million SNPs of an individual within a few minutes → Expected datasets with 5M SNPs and 10,000 individuals

slide-16
SLIDE 16

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Introduction

UPC++ (I)

Unified Parallel C++ Novel extension of ANSI C++

Y Zheng, A Kamil, M Driscoll, H Shan, and K Yelick. UPC++: a PGAS Extension for C++. In Proc. 28th IEEE Intl. Parallel and Distributed Processing Symp. (IPDPS’14), Phoenix, AR, USA, 2014.

Follows the Partitioned Global Address Space (PGAS) programming model Single Program Multiple Data (SPMD) execution model Works on shared and distributed memory systems

slide-17
SLIDE 17

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Introduction

UPC++ (and II)

Global memory logically partitioned among processes Processes can directly access (read/write) any part of the global memory Memory with affinity usually mapped in the same node (faster accesses)

slide-18
SLIDE 18

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

1

Introduction

2

Methodology

3

UPC++ Implementation

4

Experimental Evaluation

5

Conclusion

slide-19
SLIDE 19

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

Creation of Contingency Tables (I)

For each SNP-pair → Number of occurrences of each combination of genotypes Cases SNP2=0 SNP2=1 SNP2=2 SNP1=0 n000 n010 n020 SNP1=1 n100 n110 n120 SNP1=2 n200 n210 n220 Controls SNP2=0 SNP2=1 SNP2=2 SNP1=0 n001 n011 n021 SNP1=1 n101 n111 n121 SNP1=2 n201 n211 n221

slide-20
SLIDE 20

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

Creation of Contingency Tables (and II)

SNP 4 1 1 1 1 2 2 2 2 1 1 1 1 SNP 6 1 1 1 1 1 2 1 2 1 2 2 1 Cases SNP6=0 SNP6=1 SNP6=2 SNP4=0 4 SNP4=1 4 SNP4=2 Controls SNP6=0 SNP6=1 SNP6=2 SNP4=0 SNP4=1 2 2 SNP4=2 1 2

slide-21
SLIDE 21

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

Filtering Stage (I)

Measuring interaction via log-linear models

slide-22
SLIDE 22

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

Filtering Stage (I)

Measuring interaction via log-linear models Log-Linear Measure (I) ˆ LS − ˆ LH = N

  • ijk
  • ˆ

πijk log ˆ πijk ˆ pijk

  • ˆ

LS log-likelihood of the saturated regression model ˆ LH log-likelihood of the homogeneous association model ˆ πijk joint distribution obtained under the saturated model ˆ pijk distribution obtained under the homogeneous association model

slide-23
SLIDE 23

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

Filtering Stage (II)

Measuring interaction via log-linear models Log-Linear Measure (II) ˆ LS − ˆ LH = N

  • ijk
  • ˆ

πijk log ˆ πijk ˆ pijk

  • T the threshold for epistasis

If ˆ LS − ˆ LH > T ⇒ Epistasis

slide-24
SLIDE 24

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

Filtering Stage (II)

Measuring interaction via log-linear models Log-Linear Measure (II) ˆ LS − ˆ LH = N

  • ijk
  • ˆ

πijk log ˆ πijk ˆ pijk

  • T the threshold for epistasis

If ˆ LS − ˆ LH > T ⇒ Epistasis Computationally expensive

ˆ pijk computed through iterative methods

slide-25
SLIDE 25

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

Filtering Stage (III)

Kirkwood Superposition Approximation (KSA) ˆ LS − ˆ LKSA = N

ijk

  • ˆ

πijk log

  • ˆ

πijk ˆ pk

ijk

  • ˆ

pk

ijk = 1 η πij.πi.kπ.jk πi..π.j.π..k

η =

ijk πij.πi.kπ.jk πi..π.j.π..k

slide-26
SLIDE 26

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

Filtering Stage (III)

Kirkwood Superposition Approximation (KSA) ˆ LS − ˆ LKSA = N

ijk

  • ˆ

πijk log

  • ˆ

πijk ˆ pk

ijk

  • ˆ

pk

ijk = 1 η πij.πi.kπ.jk πi..π.j.π..k

η =

ijk πij.πi.kπ.jk πi..π.j.π..k

Upper bound: ˆ LS − ˆ LH ≤ ˆ LS − ˆ LKSA

slide-27
SLIDE 27

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

Filtering Stage (III)

Kirkwood Superposition Approximation (KSA) ˆ LS − ˆ LKSA = N

ijk

  • ˆ

πijk log

  • ˆ

πijk ˆ pk

ijk

  • ˆ

pk

ijk = 1 η πij.πi.kπ.jk πi..π.j.π..k

η =

ijk πij.πi.kπ.jk πi..π.j.π..k

Upper bound: ˆ LS − ˆ LH ≤ ˆ LS − ˆ LKSA ˆ LS − ˆ LKSA < T ⇒ No epistasis

slide-28
SLIDE 28

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

Filtering Stage (III)

Kirkwood Superposition Approximation (KSA) ˆ LS − ˆ LKSA = N

ijk

  • ˆ

πijk log

  • ˆ

πijk ˆ pk

ijk

  • ˆ

pk

ijk = 1 η πij.πi.kπ.jk πi..π.j.π..k

η =

ijk πij.πi.kπ.jk πi..π.j.π..k

Upper bound: ˆ LS − ˆ LH ≤ ˆ LS − ˆ LKSA ˆ LS − ˆ LKSA < T ⇒ No epistasis ˆ LS − ˆ LKSA is computationally simpler and faster

slide-29
SLIDE 29

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

Filtering Stage (and IV)

Pseudocode

slide-30
SLIDE 30

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

Filtering Stage (and IV)

Pseudocode For each SNP-pair P

1

Calculate Contingency Table of P

slide-31
SLIDE 31

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

Filtering Stage (and IV)

Pseudocode For each SNP-pair P

1

Calculate Contingency Table of P

2

v = KSA_Value(P)

slide-32
SLIDE 32

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

Filtering Stage (and IV)

Pseudocode For each SNP-pair P

1

Calculate Contingency Table of P

2

v = KSA_Value(P)

3

If v > T

1

v = LogLinear_Value(P)

slide-33
SLIDE 33

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Methodology

Filtering Stage (and IV)

Pseudocode For each SNP-pair P

1

Calculate Contingency Table of P

2

v = KSA_Value(P)

3

If v > T

1

v = LogLinear_Value(P)

2

If v > T include P in the output list as pair with epistasis

slide-34
SLIDE 34

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

1

Introduction

2

Methodology

3

UPC++ Implementation

4

Experimental Evaluation

5

Conclusion

slide-35
SLIDE 35

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

Data Distribution (I)

Information of the N SNPs distributed in block-cyclic way P → number of UPC++ processes numBP → configurable number of blocks per process NB = numBP ∗ P → total number of blocks NMB = NB∗(NB−1)

2

→ number of metablocks (blocks of SNP-pairs)

Possible combinations of blocks of SNPs

slide-36
SLIDE 36

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

Data Distribution (II)

slide-37
SLIDE 37

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

Data Distribution (II)

slide-38
SLIDE 38

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

Data Distribution (II)

slide-39
SLIDE 39

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

Data Distribution (III)

Assignment of Metablocks Diagonal to processes with all information in local memory

slide-40
SLIDE 40

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

Data Distribution (III)

Assignment of Metablocks Diagonal to processes with all information in local memory Rectangular to processes with at least one block in local memory (row or column of the matrix)

slide-41
SLIDE 41

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

Data Distribution (and IV)

Goal of the Distribution Balance of the workload

Similar number of metablocks per UPC++ process

Minimization of remote copies

At least one of the blocks of biallelic information already in local memory

slide-42
SLIDE 42

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

Data Distribution (and IV)

Goal of the Distribution Balance of the workload

Similar number of metablocks per UPC++ process

Minimization of remote copies

At least one of the blocks of biallelic information already in local memory

Other distributions that fulfill these conditions can be used

slide-43
SLIDE 43

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

Process Workflow

slide-44
SLIDE 44

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

UPC++ Optimization Techniques

Data locality exploitation

Minimization of remote copies

slide-45
SLIDE 45

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

UPC++ Optimization Techniques

Data locality exploitation

Minimization of remote copies

Overlapping computation and communication

Asynchronous communications

slide-46
SLIDE 46

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

UPC++ Optimization Techniques

Data locality exploitation

Minimization of remote copies

Overlapping computation and communication

Asynchronous communications

Aggregation of remote memory accesses

Bulk copies instead of data one-by-one

slide-47
SLIDE 47

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

UPC++ Optimization Techniques

Data locality exploitation

Minimization of remote copies

Overlapping computation and communication

Asynchronous communications

Aggregation of remote memory accesses

Bulk copies instead of data one-by-one

Space privatization

slide-48
SLIDE 48

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

UPC++ Optimization Techniques

slide-49
SLIDE 49

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

UPC++ Optimization Techniques

Data locality exploitation

Minimization of remote copies

Overlapping computation and communication

Asynchronous communications

Aggregation of remote memory accesses

Bulk copies instead of data one-by-one

Space privatization

Usage of regular C++ pointers to access the local part of global memory UPC++ global pointers save information:

Which part of the memory is pointed Address within the block

Updating C++ pointers is faster

slide-50
SLIDE 50

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

Hybrid UPC++&PThreads Implementation (I)

Options in Multicore Clusters

1

One UPC++ process per core

2

One UPC++ process per node

Exploit multicore with PThreads

3

Intermediate options

slide-51
SLIDE 51

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

Hybrid UPC++&PThreads Implementation (I)

Options in Multicore Clusters

1

One UPC++ process per core

2

One UPC++ process per node

Exploit multicore with PThreads

3

Intermediate options Hybrid Approach Variable number of UPC++ processes per node Distribute metablocks among UPC++ processes Each UPC++ process launches T PThreads Pairs within the metablock distributed among the PThreads

slide-52
SLIDE 52

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

Hybrid UPC++&PThreads Implementation (II)

Advantage Less UPC++ processes

Less blocks and metablocks Less remote data copies

Drawback Computing each metablock requires synchronizations among the PThreads

slide-53
SLIDE 53

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

Hybrid UPC++&PThreads Implementation (and III)

Distributions among PThreads

1

Static distribution

SNP-pairs assigned to PThreads at the beginning of the metablock computation → block distribution All PThreads compute the same number of pairs Some PThreads might wait for other with more pairs that pass the KSA filter

slide-54
SLIDE 54

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies UPC++ Implementation

Hybrid UPC++&PThreads Implementation (and III)

Distributions among PThreads

1

Static distribution

SNP-pairs assigned to PThreads at the beginning of the metablock computation → block distribution All PThreads compute the same number of pairs Some PThreads might wait for other with more pairs that pass the KSA filter

2

Dynamic distribution

The SNP-pairs are associated to SNPs on demand When a PThread finishes the computation of a group of pairs looks for another group PThreads are not idle Mutex or semaphore needed to synchronize accesses to the variables that indicate which SNP-pairs have been analyzed

slide-55
SLIDE 55

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Experimental Evaluation

1

Introduction

2

Methodology

3

UPC++ Implementation

4

Experimental Evaluation

5

Conclusion

slide-56
SLIDE 56

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Experimental Evaluation

Platforms

Pluton University of A Coruña (UDC) 16 nodes

2 Intel Xeon E5-2660 Sandy Bridge processors

8 cores at 2.20 Ghz

FDR InfiniBand network Edison National Energy Research Supercomputing Center (NERSC) 18th in the June 2014 TOP500 list 5,576 nodes

2 Intel Xeon E5-4603 Ivy Bridge

12 cores at 2.40 Ghz

Cray Aries network

Dragonfly topology

slide-57
SLIDE 57

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Experimental Evaluation

Datasets

sim1 sim2 sim3 WTCCCIbd Real data? No No No Yes Number of SNPs 10,000 25,000 50,000 500,568 Number of cases 800 1,600 1,600 2,005 Number of controls 800 1,600 1,600 3,004

  • Seq. time Pluton

2 m 19 m 1 h 15 m > 6 days

  • Seq. time Edison

1 m 10 m 41 m > 3 days

slide-58
SLIDE 58

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Experimental Evaluation

Best PThreads Distribution (I)

sim1 sim2 sim3 WTCCCIbd Real data? No No No Yes Number of SNPs 10,000 25,000 50,000 500,568 Number of cases 800 1,600 1,600 2,005 Number of controls 800 1,600 1,600 3,004

  • Seq. time Pluton

2 m 19 m 1 h 15 m > 6 days

  • Seq. time Edison

1 m 10 m 41 m > 3 days

slide-59
SLIDE 59

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Experimental Evaluation

Best PThreads Distribution (and II)

70 75 80 85 90 95 100 2 4 8 Efficiency (%) Number of Pthreads sim1 on one processor of Pluton Static Dynamic 40 50 60 70 80 90 100 3 6 12 Efficiency (%) Number of Pthreads sim1 on one processor of Edison Static Dynamic

slide-60
SLIDE 60

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Experimental Evaluation

Best Number of PThreads (I)

sim1 sim2 sim3 WTCCCIbd Real data? No No No Yes Number of SNPs 10,000 25,000 50,000 500,568 Number of cases 800 1,600 1,600 2,005 Number of controls 800 1,600 1,600 3,004

  • Seq. time Pluton

2 m 19 m 1 h 15 m > 6 days

  • Seq. time Edison

1 m 10 m 41 m > 3 days

Configuration Static distribution for PThreads The best number of blocks per process

slide-61
SLIDE 61

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Experimental Evaluation

Best Number of PThreads (and II)

20 30 40 50 60 70 80 90 100 16 32 64 128 256 Efficiency (%) Number of cores sim2 on Pluton 1 Pthread 2 Pthreads 4 Pthreads 8 Pthreads 20 30 40 50 60 70 80 90 100 24 48 96 192 384 768 1536 Efficiency (%) Number of cores sim2 on Edison 1 Pthread 2 Pthreads 4 Pthreads 8 Pthreads 20 30 40 50 60 70 80 90 100 16 32 64 128 256 Efficiency (%) Number of cores sim3 on Pluton 1 Pthread 2 Pthreads 4 Pthreads 8 Pthreads 20 30 40 50 60 70 80 90 100 24 48 96 192 384 768 1536 Efficiency (%) Number of cores sim3 on Edison 1 Pthread 2 Pthreads 4 Pthreads 8 Pthreads

slide-62
SLIDE 62

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Experimental Evaluation

Best Number of Blocks per Process (I)

sim1 sim2 sim3 WTCCCIbd Real data? No No No Yes Number of SNPs 10,000 25,000 50,000 500,568 Number of cases 800 1,600 1,600 2,005 Number of controls 800 1,600 1,600 3,004

  • Seq. time Pluton

2 m 19 m 1 h 15 m > 6 days

  • Seq. time Edison

1 m 10 m 41 m > 3 days

Configuration Static distribution for PThreads The best number of UPC++ processes per node

slide-63
SLIDE 63

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Experimental Evaluation

Best Number of Blocks per Process (and II)

20 30 40 50 60 70 80 90 100 16 32 64 128 256 Efficiency (%) Number of cores sim2 on Pluton 1 Block 2 Blocks 4 Blocks 20 30 40 50 60 70 80 90 100 24 48 96 192 384 768 1536 Efficiency (%) Number of cores sim2 on Edison 1 Block 2 Blocks 4 Blocks 20 30 40 50 60 70 80 90 100 16 32 64 128 256 Efficiency (%) Number of cores sim3 on Pluton 1 Block 2 Blocks 4 Blocks 20 30 40 50 60 70 80 90 100 24 48 96 192 384 768 1536 Efficiency (%) Number of cores sim3 on Edison 1 Block 2 Blocks 4 Blocks

slide-64
SLIDE 64

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Experimental Evaluation

Evaluation of the Configurable Parameters

Always static distribution for PThreads

slide-65
SLIDE 65

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Experimental Evaluation

Evaluation of the Configurable Parameters

Always static distribution for PThreads Hybrid implementation useful for strong scaling

Not large datasets Many cores

One UPC++ process per core on other scenarios

slide-66
SLIDE 66

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Experimental Evaluation

Evaluation of the Configurable Parameters

Always static distribution for PThreads Hybrid implementation useful for strong scaling

Not large datasets Many cores

One UPC++ process per core on other scenarios 1 block per process for large number of cores

Try to avoid generating more remote copies Less significant influence on large datasets

2 or 4 blocks per process for moderate number of cores

Improvement is not very significant

slide-67
SLIDE 67

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Experimental Evaluation

Comparison with Other Parallel Architectures

sim1 sim2 sim3 WTCCCIbd Real data? No No No Yes Number of SNPs 10,000 25,000 50,000 500,568 Number of cases 800 1,600 1,600 2,005 Number of controls 800 1,600 1,600 3,004

  • Seq. time Pluton

2 m 19 m 1 h 15 m > 6 days

  • Seq. time Edison

1 m 10 m 41 m > 3 days Platform Time Edison (12,288 cores) 45 s Edison (1,536 cores) 5 m Pluton (256 cores) 45 m NVIDIA GTX Titan 1h 01 m NVIDIA GTX 750Ti 2h 41 m

slide-68
SLIDE 68

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Conclusion

1

Introduction

2

Methodology

3

UPC++ Implementation

4

Experimental Evaluation

5

Conclusion

slide-69
SLIDE 69

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Conclusion

Summary

Tool to search for epistasis between SNP-pairs in a fast manner exploiting clusters and supercomputers

Based on regression model

Developed using UPC++ (first bioinformatics implementation)

Inheritance and polymorphism from OOP Takes advantage of one-sided communication from PGAS Distribution and optimization techniques to minimize communication overhead

Hybrid UPC++&PThreads implementation Same accuracy and faster than the popular (G)BOOST

GBOOST → 61 m for the WTCCC dataset on a GTX Titan 45 m on the 256 cores ofPluton (1.35x) 45 s on 12,288 cores of Edison (81.33x)

Future work: UPC++&CUDA tool for multi-GPU

slide-70
SLIDE 70

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies Conclusion

UPC++ for Bioinformatics: A Case Study Using Genome-Wide Association Studies

Jan C. Kässens*,Jorge González-Domínguez**, Lars Wienbrandt*,Bertil Schmidt**

*Department of Computer Science, Christian-Albrechts-University of Kiel, Germany {jka,lwi}@informatik.uni-kiel.de **Parallel and Distributed Architectures Group, Johannes Gutenberg University of Mainz, Germany {j.gonzalez,bertil.schmidt}@uni-mainz.de

IEEE International Conference on Cluster Computing Cluster 2014