|
|
|
|
|
Parallelize by Genome |
|
Filter and verifiere copy per genome |
|
needs a lot of memory |
|
|
|
prob. not cache local as it needs to switch between genomes |
|
Parallelize by Reads |
|
coupled filter-verifier-pairs |
no spin lock for verifier |
|
|
each pair over a subset of the reads |
filter is parallel |
|
|
a) pairs operate independent from each other |
no regulation necessary |
one might run away (cache) |
|
b) pairs operate in the same window |
little regulation, simple find() |
waiting times |
|
c) Distance between pairs is restricted |
|
waiting times, regulation for more than two pairs get complex |
|
distance between filter and verifier fixed ? |
|
|
|
Pipeline |
|
One filter over all reads, verification parallelized |
|
spin locks for verifier necessary, probably bad use of capacity in repeats |
|
a) windows |
simple find() |
filters are not parallel (problem with high number of cores) |
|
b) tokens |
|
complex find() |
TBB |
c) distance between filter and verifier |
|
complex find() |
|