[StarCluster] AWS instance runs out of memory and swaps

Rayson Ho raysonlogin at yahoo.com
Mon Dec 5 16:52:45 EST 2011


Hi Amirhossein,

I was working on a few other things, and I just saw your message -- I have to spend less time on mailing list discussions these days due to the number of things that I needed to develop and/or fix, and I am also working on a new patch release of OGS/Grid Engine 2011.11. Luckily, I just found the mail that exactly solves the issue you are encountering:

http://markmail.org/message/zdj5ebfrzhnadglf


For more info, see the "job_load_adjustments" and "load_adjustment_decay_time" parameters in the Grid Engine manpage:


http://gridscheduler.sourceforge.net/htmlman/htmlman5/sched_conf.html

Rayson

=================================
Grid Engine / Open Grid Scheduler
http://gridscheduler.sourceforge.net/

Scalable Grid Engine Support Program
http://www.scalablelogic.com/




________________________________
From: Amirhossein Kiani <amirhkiani at gmail.com>
To: Rayson Ho <raysonlogin at yahoo.com> 
Cc: Justin Riley <justin.t.riley at gmail.com>; "starcluster at mit.edu" <starcluster at mit.edu> 
Sent: Friday, December 2, 2011 6:36 PM
Subject: Re: [StarCluster] AWS instance runs out of memory and swaps


Dear Rayson,

Did you have a chance to test your solution on this? Basically, all I want is to prevent a job from running on an instance if it does not have the memory required for the job.

I would very much appreciate your help!

Many thanks,
Amir



On Nov 21, 2011, at 10:29 AM, Rayson Ho wrote:

Amir,
>
>
>You can use qhost to list all the node and resources that each node has.
>
>
>I have an answer to the memory issue, but I have not have time to properly type up a response and test it.
>
>
>
>Rayson
>
>
>
>
>
>
>
>________________________________
> From: Amirhossein Kiani <amirhkiani at gmail.com>
>To: Justin Riley <justin.t.riley at gmail.com> 
>Cc: Rayson Ho <rayrayson at gmail.com>; "starcluster at mit.edu" <starcluster at mit.edu> 
>Sent: Monday, November 21, 2011 1:26 PM
>Subject: Re: [StarCluster] AWS instance runs out of memory and swaps
> 
>Hi Justin,
>
>Many thanks for your reply.
>I don't have any issue with multiple jobs running per node if there is enough memory for them. But since I know about the nature of my jobs, I can predict that only one per node should be running.
>How can I see how much memory does SGE think each node have? Is there a way to list that?
>
>Regards,
>Amir
>
>
>On Nov 21, 2011, at 8:18 AM, Justin Riley wrote:
>
>> Hi Amir,
>> 
>> Sorry to hear you're still having issues. This is really more of an SGE
>> issue more than anything but perhaps Rayson can give a better insight as
>> to what's going on. It seems you're using 23G nodes and 12GB jobs. Just
>> for drill does 'qhost' show each node having 23GB? Definitely seems like
>> there's a boundary issue here given that two of your jobs together
>> approaches the total memory of the machine (23GB). Is it your goal only
>> to have one job per
node?
>> 
>> ~Justin
>> 
>> On 11/16/2011 09:00 PM, Amirhossein Kiani wrote:
>>> Dear all, 
>>> 
>>> I even wrote the queue submission script myself, adding
>>> the mem_free=MEM_NEEDED,h_vmem=MEM_MAX parameter but sometimes two jobs
>>> are randomly sent to one node that does not have enough memory for two
>>> jobs and they start running. I think the SGE should check on the
>>> instance memory and not run multiple jobs on a machine when the memory
>>> requirement for the jobs in total is above the memory available in the
>>> node (or maybe there is a bug in the current check)
>>> 
>>> Amir
>>> 
>>> On Nov 8, 2011, at 5:37 PM, Amirhossein Kiani wrote:
>>> 
>>>> Hi Justin,
>>>> 
>>>> I'm using a third-party tool to submit the jobs but I am setting the
>>>> hard
limit.
>>>> For all my jobs I have something like this for the job description:
>>>> 
>>>> [root at master test]# qstat -j 1
>>>> ==============================================================
>>>> job_number:                 1
>>>> exec_file:                  job_scripts/1
>>>> submission_time:            Tue Nov  8 17:31:39 2011
>>>> owner:                      root
>>>> uid:                        0
>>>> group:                      root
>>>> gid:                        0
>>>>
sge_o_home:                 /root
>>>> sge_o_log_name:             root
>>>> sge_o_path:                
>>>> /home/apps/bin:/home/apps/vcftools_0.1.7/bin:/home/apps/tabix-0.2.5:/home/apps/BEDTools-Version-2.14.2/bin:/home/apps/samtools/bcftools:/home/apps/samtools:/home/apps/bwa-0.5.9:/home/apps/Python-2.7.2:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/bin:/home/apps/sjm-1.0/bin:/home/apps/hugeseq/bin:/usr/lib64/openmpi/1.4-gcc/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/cuda/bin:/usr/local/cuda/computeprof/bin:/usr/local/cuda/open64/bin:/opt/sge6/bin/lx24-amd64:/root/bin
>>>> sge_o_shell:                /bin/bash
>>>> sge_o_workdir:             
/data/test
>>>> sge_o_host:                 master
>>>> account:                    sge
>>>> stderr_path_list:          
>>>> NONE:master:/data/log/SAMPLE.bin_aln-chr1_e111108173139.txt
>>>> *hard resource_list:         h_vmem=12000M*
>>>> mail_list:                  root at master
>>>> notify:                     FALSE
>>>> job_name:                   SAMPLE.bin_aln-chr1
>>>> stdout_path_list:          
>>>> NONE:master:/data/log/SAMPLE.bin_aln-chr1_o111108173139.txt
>>>> jobshare:                 
  0
>>>> hard_queue_list:            all.q
>>>> env_list:                  
>>>> job_args:                   -c,/home/apps/hugeseq/bin/hugeseq_mod.sh
>>>> bin_sam.sh chr1 /data/chr1.bam /data/bwa_small.bam &&
>>>> /home/apps/hugeseq/bin/hugeseq_mod.sh sam_index.sh /data/chr1.bam 
>>>> script_file:                /bin/sh
>>>> verify_suitable_queues:     2
>>>> scheduling info:            (Collecting of scheduler job information
>>>> is turned off)
>>>> 
>>>> And I'm using the Cluster GPU Quadruple Extra Large instances which
I
>>>> think has about 23G memory. The issue that I see is too many of the
>>>> jobs are submitted. I guess I need to set the mem_free too? (the
>>>> problem is the tool im using does not seem to have a way tot set that...)
>>>> 
>>>> Many thanks,
>>>> Amir
>>>> 
>>>> On Nov 8, 2011, at 5:47 AM, Justin Riley wrote:
>>>> 
>>>>> 
>>> Hi Amirhossein,
>>> 
>>> Did you specify the memory usage in your job script or at command
>>> line and what parameters did you use exactly?
>>> 
>>> Doing a quick search I believe that the following will solve the
>>> problem although I haven't tested myself:
>>> 
>>> $ qsub -l mem_free=MEM_NEEDED,h_vmem=MEM_MAX yourjob.sh
>>> 
>>> Here, MEM_NEEDED and MEM_MAX are the lower and
upper bounds for your
>>> job's memory requirements.
>>> 
>>> HTH,
>>> 
>>> ~Justin
>>> 
>>> On 7/22/64 2:59 PM, Amirhossein Kiani wrote:
>>>> Dear Star Cluster users,
>>> 
>>>> I'm using Star Cluster to set up an SGE and when I ran my job list,
>>> although I had specified the memory usage for each job, it submitted
>>> too many jobs on my instance and my instance started going out of
>>> memory and swapping.
>>>> I wonder if anyone knows how I could tell the SGE the max memory to
>>> consider when submitting jobs to each node so that it doesn't run the
>>> jobs if there is not enough memory available on a node.
>>> 
>>>> I'm using the Cluster GPU Quadruple Extra Large instances.
>>> 
>>>> Many thanks,
>>>> Amirhossein Kiani
>>> 
>>>>> 
>>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> StarCluster mailing list
>>> StarCluster at mit.edu
>>> http://mailman.mit.edu/mailman/listinfo/starcluster
>> 
>
>
>_______________________________________________
>StarCluster mailing list
>StarCluster at mit.edu
>http://mailman.mit.edu/mailman/listinfo/starcluster
>
>
>




More information about the StarCluster mailing list