Comments (4)
Hi Paul,
This would be interesting but isn't something I have pursued. Amdahl's law
prevents us from going much faster in every parallel step except mapping,
and mapping can be made as parallel as we want if we divide up the input
and run independent processes per chunk.
You could make things faster in terms of indexing and construction if the
reference system were broken up into tiny fragments. Again, Amdahl's law
prevents things from going faster than the serialization time of the entire
graph, so we are limited by that if we wanted to concatenate the fragments
into one stream. A similar effect would apply for the indexing. We can
shard the kmer space across a huge number of nodes. But is this necessary
for any other reason than to make construction and indexing really fast?
(Probably not.)
In summary, there are conceptual problems which are much more limiting. For
example, banded alignment of large contigs, step-wise multiple sequence
alignment, or graph/graph alignment would all help to improve the capacity
of the method. For performance improvements, I'm inclined to work towards
GCSA integration.
Hope this clarifies,
Erik
On Jun 3, 2015 3:13 AM, "Paul Grosu" [email protected] wrote:
Hi Erik,
Just out of curiosity, have you tried to integrate with MPI to work across
multiple machines. MPI plays really well with OpenMP, and would allow
access to even more cores to speed up things.Just a thought,
Paul—
Reply to this email directly or view it on GitHub
#38.
from vg.
@pgrosu If you're interested in trying this, I'd say go for it. I just wanted to issue a word of caution because I think there are other things to work on that may be much more fruitful.
from vg.
Hi Erik,
I apologize for not replying back yet, since I am still working on the draft for the post to look at each aspect - some posts take me several days to write up properly. Hopefully I will finish it in the next few days. I've been exposed to Amdahl's law quite a bit, though like you mentioned there might be possibilities with specific setups where limits will eventually be reached.
I always like interesting problems, but is it that you see the issues with them being dynamic programming problems where O() complexity becomes higher than preferred? Maybe there is one specific hard and important problem you could expand on, in case I might have seen a different approach that might optimize it.
Thank you,
Paul
from vg.
In the interest of keeping the issues list short, I'll pass on this. If you can find a way to run OMP programs using MPI then I think it would enable support.
from vg.
Related Issues (20)
- Release vg v1.56.0
- I have a question about gam file. HOT 2
- vg surject: incorrect behavior near polymorphic {repetitive} insertions HOT 4
- Can vg construct a trans-chromosomal graph ? HOT 5
- ERROR: Signal 6 occurred. VG has crashed. HOT 8
- vg construct will let you create a graph without reference paths, with different path names than Cactus
- VG convert to gfa and back will drop path data. HOT 7
- ERROR: Signal 6 occurred. VG has crashed. Terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc HOT 1
- VG has crashed
- vg giraffe - Signal 6 occurred. VG has crashed HOT 1
- vg giraffe output file HOT 1
- Negative end of path positions in vg giraffe mapping HOT 1
- position X+Y is not inside node X HOT 1
- what(): obsolete, invalid, or corrupt protobuf input HOT 1
- How should I regenotype VCFs using vg? HOT 2
- Contiguous subpaths cause error HOT 1
- This error occurs because there is something wrong with the gff file. HOT 12
- Can't change the libdeflate install_name on MacOS "because larger updated load commands do not fit" HOT 3
- Issue with VCF generated after running vg haplotypes HOT 2
- Some questions about the <vg call> commond output HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vg.