Answered by:
job template

Question
-
1. Is it possible to create a job template which contains parameter constrains about amount of memory the job will use? ( to prevent server disk trashing/virtual memory swapping in the event that several single core jobs that requires lots of memory run on a single node).
2. When job runs on compute nodes and it needs a temporary directory to write temporary logs/files, how does this gets created? Does it use System's TEMP or User's TEMP directory? Does it gets deleted automatically after the job finished?
thank you for your replies...Thursday, September 10, 2009 1:36 AM
Answers
-
Hi,
1. to my knowledge there is no equivalent setting for the "minimum Memory" hardware preference from the job creation wizard.
2. If your program uses the %TEMP% Variable for creating the temporary files, they will be stored in the users TEMP directory and this seems not to get deleted automatically. As a workaround you could try to clean it up yourself using the job commandline e.g. "<yourprogram.exe> && del %TEMP%\*.* /Q"
- Michael- Proposed as answer by Josh BarnardModerator Friday, September 18, 2009 11:49 PM
- Marked as answer by Josh BarnardModerator Thursday, October 1, 2009 10:36 PM
Friday, September 11, 2009 8:52 AM
All replies
-
Hi,
1. to my knowledge there is no equivalent setting for the "minimum Memory" hardware preference from the job creation wizard.
2. If your program uses the %TEMP% Variable for creating the temporary files, they will be stored in the users TEMP directory and this seems not to get deleted automatically. As a workaround you could try to clean it up yourself using the job commandline e.g. "<yourprogram.exe> && del %TEMP%\*.* /Q"
- Michael- Proposed as answer by Josh BarnardModerator Friday, September 18, 2009 11:49 PM
- Marked as answer by Josh BarnardModerator Thursday, October 1, 2009 10:36 PM
Friday, September 11, 2009 8:52 AM -
Maybe you should file an enhancement request with Microsoft. I find it odd that the MS Job Scheduler has no mechnism to set limits for memory utilization for jobs via the template mechanism. NOTE: This is not a criticism, but a request, as I know the implementationof such a feature can be tricky. However, I know for sure that Workload Managers such as PBS and LSF give administrators the ability to set constraints on the memory resource, and for mission critical systems this feature is almost as important as any other constraint.I thought that maybe the lack of this functionality was just an oversight in the GUI Wizard, so I tried to export a Job Template to XML and then add the following line:
<?xml version="1.0" encoding="utf-8"?>
<JobTemplate Name="MaxMemTemplate" Description="Test" CreateTime="9/11/2009 3:30:34 PM">
<TemplateItem PropertyName="RuntimeSeconds" Default="86460" MinVal="0" MaxVal="86460" />
<TemplateItem PropertyName="Priority" Default="Highest" ValueRange="Lowest,BelowNormal,Normal,AboveNormal,Highest" />
<TemplateItem PropertyName="Project" Default="ProjectOmega" ValueRange="ProjectOmega" RequiredValues="" />
<TemplateItem PropertyName="MaxCores" Default="1" MinVal="1" MaxVal="4" />
<TemplateItem PropertyName="MaxMemory" Default="100" MinVal="100" MaxVal="500" />
</JobTemplate>
But, when I attempted to import the file, I recieved the following error...
Illegal job template property Maximum Memory.
Friday, September 11, 2009 4:12 PM -
Thanks for your replies. I have opened a ticket with MS support maybe they might have a way to do this, if not thru gui maybe via command line. I'll keep everyone posted.Tuesday, September 15, 2009 10:43 PM
-
We're aware of that feature request and hope to provide it at some point in the future.
You may be able to enforce such a constraint yourself. All tasks are run inside of a Windows Job Object on which you can set memory constraints.
Thanks,
Josh
-JoshFriday, September 18, 2009 11:49 PMModerator