[StarCluster] AWS instance runs out of memory and swaps
Amirhossein Kiani
amirhkiani at gmail.com
Mon Nov 21 13:26:32 EST 2011
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
>
More information about the StarCluster
mailing list