<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PolITiGenomics &#187; LSF</title>
	<atom:link href="http://www.politigenomics.com/tag/lsf/feed" rel="self" type="application/rss+xml" />
	<link>http://www.politigenomics.com</link>
	<description>Politics, Information Technology, and Genomics</description>
	<lastBuildDate>Thu, 21 Apr 2011 17:49:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Illumina cluster needs</title>
		<link>http://www.politigenomics.com/2009/06/illumina-cluster-needs.html</link>
		<comments>http://www.politigenomics.com/2009/06/illumina-cluster-needs.html#comments</comments>
		<pubDate>Thu, 18 Jun 2009 16:13:36 +0000</pubDate>
		<dc:creator>dd</dc:creator>
				<category><![CDATA[genomics]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[compute]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[Illumina]]></category>
		<category><![CDATA[LSF]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.politigenomics.com/?p=1254</guid>
		<description><![CDATA[There is an interesting thread over at the Solexa Google Group about the IT infrastructure needed to support an Illumina Genome Analyzer (GA). The discussion focuses mostly on the cluster and, to a lesser extent, the storage and network required to operate the instrument and generate sequence data (primary analysis). At The Genome Center, we [...]]]></description>
			<content:encoded><![CDATA[<p>There is an interesting thread over at the <a href="http://groups.google.com/group/solexa?hl=en">Solexa Google Group</a> about the <a href="http://groups.google.com/group/solexa/browse_thread/thread/38ff88dcf5f5df17?hl=en">IT infrastructure needed to support an Illumina Genome Analyzer (GA)</a>. The discussion focuses mostly on the cluster and, to a lesser extent, the storage and network required to operate the instrument and generate sequence data (primary analysis). At <a href="http://genome.wustl.edu/">The Genome Center</a>, we use Platform LSF HPC as our batch scheduler and currently use <a href="http://www.politigenomics.com/2008/03/illumina-genome-analyzer-pipeline-and.html">lsgmake-gap</a> to execute the GAPipeline (the Illumina primary analysis software) in parallel on our cluster. However, GAPipeline is developed and tested by Illumina on a cluster managed by <a href="http://www.sun.com/software/sge/">Sun Grid Engine (SGE)</a>, which is <a href="http://gridengine.sunsource.net/">free/open source software</a>. This situation creates some headaches for us because as the internals of GAPipeline change, we need to <a href="http://www.politigenomics.com/2009/02/lsgmake-gap-for-gapipeline-13.html">regularly update lsgmake-gap</a> so that GAPipeline will continue to run properly on our cluster. Several years ago when we migrated to LSF, the driving force for the selection of LSF was that it was the only batch scheduler that could handle scheduling 50,000+ jobs at a time (a regular occurrence on our cluster). Fortunately, users may no longer have to choose between scalability and ease of use when running GAPipeline as part of their larger computational needs. Chris Dagdigian, who writes the <a href="http://gridengine.info/">gridengine.info blog</a>, had this information about the current capabilities of SGE.</p>
<blockquote><ol>
<li>SGE 6.2 design goal includes supporting a single array job with 500,000 tasks and hundreds of thousands of concurrent jobs</li>
<li>People have been running hundreds of thousands of SGE jobs per week since the SGE 5.3 days many years ago
<li>I personally know of several sites pushing hundreds of thousands of heavy SGE jobs per week through their systems right now
<li>SGE 6.2 runs a 62,000 core cluster in Texas (RANGER) and has been for some time</li>
</ol>
<p>&#8220;tens of thousands of jobs&#8221; is actually pretty easy with Grid Engine and has been for some time, scaling issues encountered in this range have more to do with bad spooling decisions, filesystem design and occasionally an overwhelmed qmaster host. The developers have worked quite a bit this year to improve threading performance, reduce memory footprints and remove things like external RSH methods that consumed system resources like filehandles and TCP ports etc.</p>
<p>This is especially evident in the SGE 6.2  and 6.2u1 release series where speed and scaling were specifically addressed as part of the design effort (6.2u3 and 6.3 will introduce new features). This is the reason why the <em>SGE scheduler is now a thread within the qmaster</em> &#8211; one of the more obvious user-visible changes made recently. (emphasis mine &#8211; dd)</p>
<p>There are many reasons why one would chose between LSF vs SGE (I have used both for years now) but scaling is not one of the significant selection factors. Features, price, APIs and quality of documentation are far more important along with community adoption/support.</p>
</blockquote>
<p>I would guess breaking out the scheduler into its own thread is a major factor in SGE&#8217;s ability to manage so many jobs. This was the major deficiency of SGE and other batch schedulers we tested at the time. Several systems designed their schedulers to automatically run through the list of jobs a certain intervals. With a lot of jobs in the queue, the scheduler would not finish its previous traversal before the new one was scheduled to start. Depending on the design implementation this meant that either the original scheduling was killed and the scheduler never processed some jobs or that scheduler threads kept spawning until the resources were exhausted on the master node (that&#8217;s bad).</p>
<p>(A couple asides here, since GAPipeline is built on Makefile&#8217;s, another option that came up in the thread was parallel execution across an LSF cluster using <a href="http://distmake.sourceforge.net/pmwiki/pmwiki.php">distmake</a>. Because of <a href="http://hpcinfo.com/">our interest</a> in <a href="http://www.opensciencegrid.org/">grid computing</a>, we are currently investigating replacing LSF with <a href="http://www.cs.wisc.edu/condor/">Condor</a>.)</p>
<p>Of course, with the roll out of SCS2.4 with RTA (real-time analysis), most of the primary analysis is now done on the instrument control computer. Thus, all of this talk about the requirements to produce sequence from the machine are made much less important. Now there is only one stage of the pipeline, the alignment and reporting (called GERALD), now run off the instrument computer. The most computationally intensive part of this stage of the pipeline is the alignment (ELAND and its post-processing) and it can only be made parallel on a per lane basis, i.e., eight ways.</p>
<p>Of course, there is also the specter of the requirements for sequence analysis at Illumina GA IIx scale, but that&#8217;s a whole other post&hellip;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.politigenomics.com/2009/06/illumina-cluster-needs.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The ls in lsgmake-gap</title>
		<link>http://www.politigenomics.com/2009/04/the-ls-in-lsgmake-gap.html</link>
		<comments>http://www.politigenomics.com/2009/04/the-ls-in-lsgmake-gap.html#comments</comments>
		<pubDate>Fri, 03 Apr 2009 21:15:54 +0000</pubDate>
		<dc:creator>dd</dc:creator>
				<category><![CDATA[genomics]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Illumina]]></category>
		<category><![CDATA[LSF]]></category>
		<category><![CDATA[wustl]]></category>

		<guid isPermaLink="false">http://www.politigenomics.com/?p=1024</guid>
		<description><![CDATA[I have released a new version of lsgmake-gap, 0.13 (md5). This version puts the &#8220;ls&#8221; back in lsgmake-gap by adding the --bsub-options command-line option which allows the user to specify arbitrary options to bsub. So now you should be able to easily take advantage of all the power of LSF. Also, if you have had [...]]]></description>
			<content:encoded><![CDATA[<p>I have released a new version of <a href="ftp://genome.wustl.edu/pub/software/lsgmake-gap/">lsgmake-gap</a>, <a href="ftp://genome.wustl.edu/pub/software/lsgmake-gap/lsgmake-gap-0.13.tar.gz">0.13</a> (<a href="ftp://genome.wustl.edu/pub/software/lsgmake-gap/lsgmake-gap-0.13.tar.gz.md5.txt">md5</a>). This version puts the &#8220;ls&#8221; back in lsgmake-gap by adding the <code>--bsub-options</code> command-line option which allows the user to specify arbitrary options to bsub. So now you should be able to easily take advantage of all the power of <a href="http://www.platform.com/Products/platform-lsf">LSF</a>. Also, if you have had problems with job-name dependency trouble because of lsgmake-gap&#8217;s reuse of job names when resubmitting a failed analysis, there is now the <code>--id</code> command-line option to provide a unique identifier for each execution.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.politigenomics.com/2009/04/the-ls-in-lsgmake-gap.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>lsgmake-gap for GAPipeline-1.3</title>
		<link>http://www.politigenomics.com/2009/02/lsgmake-gap-for-gapipeline-13.html</link>
		<comments>http://www.politigenomics.com/2009/02/lsgmake-gap-for-gapipeline-13.html#comments</comments>
		<pubDate>Wed, 25 Feb 2009 22:40:37 +0000</pubDate>
		<dc:creator>dd</dc:creator>
				<category><![CDATA[genomics]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Illumina]]></category>
		<category><![CDATA[LSF]]></category>
		<category><![CDATA[wustl]]></category>

		<guid isPermaLink="false">http://www.politigenomics.com/?p=907</guid>
		<description><![CDATA[I have just posted the latest version of lsgmake-gap, 0.12 (md5). This version of lsgmake-gap supports the additional Bustard targets introduced in GAPipeline-1.3 (it should still work with earlier versions of GAPipeline). It also adds support for auto-calibration in GERALD (QCAL_SOURCE autoN). The script automatically detects whether auto-calibration was requested by scanning the GERALD configuration [...]]]></description>
			<content:encoded><![CDATA[<p>I have just posted the latest version of <a href="ftp://genome.wustl.edu/pub/software/lsgmake-gap/">lsgmake-gap</a>, <a href="ftp://genome.wustl.edu/pub/software/lsgmake-gap/lsgmake-gap-0.12.tar.gz">0.12</a> (<a href="ftp://genome.wustl.edu/pub/software/lsgmake-gap/lsgmake-gap-0.12.tar.gz.md5.txt">md5</a>). This version of lsgmake-gap supports the additional Bustard targets introduced in GAPipeline-1.3 (it should still work with earlier versions of GAPipeline). It also adds support for auto-calibration in GERALD (<code>QCAL_SOURCE autoN</code>). The script automatically detects whether auto-calibration was requested by scanning the GERALD configuration file and submits the appropriate jobs. Finally, I also put in a workaround for a <a href="http://www.gnu.org/software/make/">GNU make</a> bug we were hitting when running &#8220;<code>make -j N all</code>&#8221; with <code>N > 1</code> after an unsuccessful attempt had already been made to build the &#8220;all&#8221; target (make would get confused and max out the CPU in an infinite loop).  The fix, simply, was to run every &#8220;all&#8221; target without parallel jobs. Unlike previous versions of GAPipeline, 1.3 does very little in the all target, so this has negligible effect on performance. This version has been extensively tested in our environment so you should not run into any problems upgrading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.politigenomics.com/2009/02/lsgmake-gap-for-gapipeline-13.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>lsgmake-gap-0.9 released</title>
		<link>http://www.politigenomics.com/2008/09/lsgmake-gap-09-released.html</link>
		<comments>http://www.politigenomics.com/2008/09/lsgmake-gap-09-released.html#comments</comments>
		<pubDate>Fri, 19 Sep 2008 20:34:47 +0000</pubDate>
		<dc:creator>dd</dc:creator>
				<category><![CDATA[genomics]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Illumina]]></category>
		<category><![CDATA[informatics]]></category>
		<category><![CDATA[LSF]]></category>
		<category><![CDATA[science]]></category>

		<guid isPermaLink="false">http://www.politigenomics.com/?p=318</guid>
		<description><![CDATA[About a year ago Tim Cutts from Sanger suggested I modify (he was being nice, improve is more accurate) lsgmake-gap to use LSF&#8217;s job arrays rather than spawning a separate job for each per-lane step in the GAPipeline. A year is too long to for a good suggestion like that not to be implemented, nonetheless [...]]]></description>
			<content:encoded><![CDATA[<p>About a year ago Tim Cutts from Sanger suggested I modify (he was being nice, improve is more accurate) <a href="http://www.politigenomics.com/2008/03/illumina-genome-analyzer-pipeline-and.html">lsgmake-gap</a> to use LSF&#8217;s job arrays rather than spawning a separate job for each per-lane step in the GAPipeline. A year is too long to for a good suggestion like that not to be implemented, nonetheless it has taken me about that long to get around to doing it. But, hey, it&#8217;s done now and you can download the new version: <a href="http://genome.wustl.edu/pub/software/lsgmake-gap/lsgmake-gap-0.9.tar.gz">lsgmake-gap-0.9.tar.gz</a>. Next on the list is modifying lsgmake-gap to be able to handle the auto-calibration lane in GERALD (available in GAPipeline-1.0, although the Pipeline parallelisation documentation has not been updated). Hopefully it won&#8217;t take me a year to get around to implementing that. You can also get <a href="http://genome.wustl.edu/pub/software/lsgmake-gap/">any older version of lsgmake-gap</a>.</p>
<p><strong>Update:</strong> I have released <a href="http://genome.wustl.edu/pub/software/lsgmake-gap/lsgmake-gap-0.10.tar.gz">lsgmake-gap-0.10.tar.gz</a> that changes the default number of make jobs from two to one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.politigenomics.com/2008/09/lsgmake-gap-09-released.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Illumina Genome Analyzer Pipeline and LSF</title>
		<link>http://www.politigenomics.com/2008/03/illumina-genome-analyzer-pipeline-and.html</link>
		<comments>http://www.politigenomics.com/2008/03/illumina-genome-analyzer-pipeline-and.html#comments</comments>
		<pubDate>Fri, 07 Mar 2008 20:40:00 +0000</pubDate>
		<dc:creator>dd</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Illumina]]></category>
		<category><![CDATA[informatics]]></category>
		<category><![CDATA[LSF]]></category>
		<category><![CDATA[science]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/?p=39</guid>
		<description><![CDATA[Many centers who use Platform LSF to manage their computational cluster have had trouble running the Illumina (Solexa) Genome Analyzer Pipeline (GAPipeline). The GAPipeline is the series of programs, scripts, and shell commands that performs the primary analysis (image analysis and base calling) and alignment for the Illumina Genome Analyzer. The GAPipeline is tied together [...]]]></description>
			<content:encoded><![CDATA[<p>Many centers who use <a href="http://www.platform.com/Products/platform-lsf-family/platform-lsf-hpc/product-information">Platform LSF</a> to manage their computational cluster have had trouble running the Illumina (Solexa) <a href="http://www.illumina.com/pages.ilmn?ID=251">Genome Analyzer</a> Pipeline (GAPipeline).  The GAPipeline is the series of programs, scripts, and shell commands that performs the primary analysis (image analysis and base calling) and alignment for the Illumina Genome Analyzer.  The GAPipeline is tied together using fairly complex <a href="http://www.gnu.org/software/make/">Makefiles</a>.  The GAPipeline is very modular, i.e., it uses a lot of short-running scripts and programs to process the information from each image (tile) in parallel.  Unfortunately, the processes are so short and there are potentially so many of them, that they overwhelm the back-end messaging system that LSF&#8217;s parallel make utility, lsmake, uses.  Eventually, you end up with two processes each waiting for a message from the other and the whole thing eventually just hangs.  So you end up having to kill the processes and restart the pipeline.  Fortunately, the fact that GAPipeline is based on make allows you to restart from where you left off, but it is more than just annoying if you have to do this several times for each execution of the pipeline and you have a dozen or so runs being analyzed at any given time.  This eventually became such a problem that we wrote a little script that manually parallelizes the GAPipeline on LSF, <a href="http://genome.wustl.edu/pub/software/lsgmake-gap/">lsgmake-gap</a>.  I would highly recommend using it if you have an Illumina Genome Analyzer and run LSF.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.politigenomics.com/2008/03/illumina-genome-analyzer-pipeline-and.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

