Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • krobison
    Senior Member
    • Nov 2007
    • 734

    #16
    Originally posted by yaximik View Post
    :The question was - can actually BWA, samtools and blastx+ run with multiple threads when spread across several nodes? If not, this answers the question. If yes, are there any specifics/pecularities in scheduling resources?
    I believe the answer to your original question is no. Threads from a single binary cannot be splayed across multiple nodes unless the program is using a framework (such as OpenMPI) that enables this. To my knowledge, none of the tools you are describing are enabled in such as way. Ray & ABySS are two examples of OpenMPI enabled tools.

    As other posters have noted, what you would need to do for BLAST/BWA/bowtie/samtools etc is split your job into sub-jobs, run those on the cluster using the cluster scheduling software, and then merge the results at the end.

    Comment

    • rhinoceros
      Senior Member
      • Apr 2013
      • 372

      #17
      Originally posted by krobison View Post
      I believe the answer to your original question is no. Threads from a single binary cannot be splayed across multiple nodes unless the program is using a framework (such as OpenMPI) that enables this. To my knowledge, none of the tools you are describing are enabled in such as way. Ray & ABySS are two examples of OpenMPI enabled tools.

      As other posters have noted, what you would need to do for BLAST/BWA/bowtie/samtools etc is split your job into sub-jobs, run those on the cluster using the cluster scheduling software, and then merge the results at the end.
      SGE's orte parallel environment can split blast threads over multiple nodes. However, using blast like this is a waste of resources as most of the time blast isn't heavy on the CPU(s) anyway and infiniband is a dog in comparison to smp. Thus, far faster is to run multiple multithreaded instances of blast with split input (not thousands of files, but some 10-50). Our newest cluster has 19 nodes, 2 x 8 cores in 17 nodes with 256 GB ram each and 2 nodes with 2 x 16 cores and 756 GB ram each. In this setup, I've been blasting predicted proteins from metagenomes (100s of thousands to more than a million peptides) against nr in very reasonable times with a script similar to what I mentioned earlier. I don't know it it's 'the best' way to do it, but I know it works..

      p.s. I'm not sure blast xml output(s) can be concatenated like the tabular output. Additionally, the xml output files grow ridiculously large very fast. Additional thing to consider: run your blasts from a directory that doesn't get backed up on a regular basis (usually something like /jobs/youruid).
      Last edited by rhinoceros; 05-01-2013, 06:59 AM.
      savetherhino.org

      Comment

      • yaximik
        Senior Member
        • Apr 2011
        • 199

        #18
        Originally posted by krobison View Post
        I believe the answer to your original question is no. Threads from a single binary cannot be splayed across multiple nodes unless the program is using a framework (such as OpenMPI) that enables this. To my knowledge, none of the tools you are describing are enabled in such as way. Ray & ABySS are two examples of OpenMPI enabled tools.
        I guess I was confused by FAQ entry from open-mpi.org
        MPI, Open MPI, Open-MPI, OpenMPI, parallel computing, HPC, high performance computing, beowulf, linux, cluster, parallel, distributed

        While uptime in the example is certainly not specifically openmpi-enabled, it is not multithreaded per se as, say blastx, so event if multiple instances of it can be launched with mpirun, attempts to use multithreading creates a lot of mess.

        Comment

        • rhinoceros
          Senior Member
          • Apr 2013
          • 372

          #19
          Originally posted by yaximik View Post
          I guess I was confused by FAQ entry from open-mpi.org
          MPI, Open MPI, Open-MPI, OpenMPI, parallel computing, HPC, high performance computing, beowulf, linux, cluster, parallel, distributed

          While uptime in the example is certainly not specifically openmpi-enabled, it is not multithreaded per se as, say blastx, so event if multiple instances of it can be launched with mpirun, attempts to use multithreading creates a lot of mess.
          I'm not 100% sure, but I think your script simply starts the same multithreaded job multiple times. Blast is not mpi compatible.
          savetherhino.org

          Comment

          • dpryan
            Devon Ryan
            • Jul 2011
            • 3478

            #20
            Originally posted by rhinoceros View Post
            I'm not 100% sure, but I think your script simply starts the same multithreaded job multiple times. Blast is not mpi compatible.
            I'm ~99% sure you're correct. Starting the same non-mpi-aware process on multiple nodes of a grid or cluster will just cause problems. The various instances won't talk to each other, which is what yaximik is hoping will happen.

            Comment

            • yaximik
              Senior Member
              • Apr 2011
              • 199

              #21
              Originally posted by dpryan View Post
              I'm ~99% sure you're correct. Starting the same non-mpi-aware process on multiple nodes of a grid or cluster will just cause problems. The various instances won't talk to each other, which is what yaximik is hoping will happen.
              Like I said, it was not entirely groundless hope, as from consultations with openmpi user community it did not sound like unreasonable. But, in addition to openmpi, one has to know more about application itself, this is why I asked some questions here. Indeed, with GenoMax links and rinoceros example script I launched multithreaded blastx using smp interface and it seems running fine so far. I used smp* 8-12 option, and called it as 1-100 array job with max parallel 36 instances, each with as many threads as allocated per node (from the range) as our grid has nodes with different architecture. I see instances are launched on different nodes with different number of threads. Now the most important issue is to figure out how much time I need per particular dataset, as long job is not killed before it completes.

              Comment

              Latest Articles

              Collapse

              • SEQadmin2
                Beyond CRISPR/Cas9: Understand, Choose, and Use the Right Genome Editing Tool
                by SEQadmin2



                CRISPR/Cas9 sparked the gene editing revolution for both research and therapeutics.1 But this system still showed severe issues that limited its applications. The most prominent were the heavy reliance on PAM sequences, delivery limitations, double-stranded breaks that prompt unintended edits and cell death, and editing inefficiency (both in targeting and in knock-in reliability).

                Despite this, “CRISPR helped turn genome editing from a specialized technique into
                ...
                07-31-2026, 11:01 AM
              • SEQadmin2
                Proteomic Platforms: How to Choose the Right Analytical Strategy to Improve Detection and Clinical Applications
                by SEQadmin2


                Proteomics platforms are evolving rapidly, with advances in mass spectrometry and affinity-based approaches expanding what researchers can detect and at what scale. As the field moves toward deeper proteome coverage and clinical applications, scientists face an increasingly complex landscape of tools. This article will explore how researchers are navigating these choices to find the right platform for their work.

                The systematic characterization of the human proteome has
                ...
                07-20-2026, 11:48 AM
              • SEQadmin2
                Advanced Sequencing Platforms Tackle Neuroscience’s Toughest Genomics Problems
                by SEQadmin2



                Genomics studies in neuroscience face a special challenge due to the brain’s complexity and scarcity of samples. Mapping changes in cell type and state using conventional next-generation sequencing methods remains challenging. Advances in technologies like single-cell sequencing, spatial transcriptomics, and long-read sequencing have opened the door to deeper studies of the brain and diseases like Alzheimer’s, amyotrophic lateral sclerosis (ALS), and schizophrenia.
                ...
                07-09-2026, 11:10 AM

              ad_right_rmr

              Collapse

              News

              Collapse

              Topics Statistics Last Post
              Started by SEQadmin2, Today, 07:41 AM
              0 responses
              5 views
              0 reactions
              Last Post SEQadmin2  
              Started by SEQadmin2, 08-03-2026, 10:13 AM
              0 responses
              21 views
              0 reactions
              Last Post SEQadmin2  
              Started by SEQadmin2, 07-31-2026, 02:55 AM
              0 responses
              35 views
              0 reactions
              Last Post SEQadmin2  
              Started by SEQadmin2, 07-24-2026, 12:17 PM
              0 responses
              25 views
              0 reactions
              Last Post SEQadmin2  
              Working...