
I'm confused about many of the limits in POSIXApplication. Some seem redundant with respect to the Resources requirement elements. Other's simply don't seem clear in their spec descriptions. In general, it seems unclear whether "job" refers to the entire job or a single process. For example, MemoryLimit says "...the maximum amount of physical memory that the job should use when executing", whereas CPUTimeLimit says "...the number of CPU time seconds a job is allowed to consume before a SIGXCPU signal is sent to the job". In the first case I would interpret "job" to mean the one or more processes a job spawns in the process of achieving completion. In the second case it seems that "job" means an individual process. Is it then impossible to specify a total job CPU limit for all processes, or is that what TotalCPUTime in Resources is meant for? But then it's not so clear why MemoryLimit is not redundant with TotalPhysicalMemory. Here are some more specific questions: WallTimeLimit -- Why isn't there a hard wall time limit if this is a soft limit? DataSegmentLimit -- What is meant by a data segment? VirtualMemoryLimit -- Similar to MemoryLimit, what's the difference between this and an UpperBoundedRange value for Resources' TotalVirtualMemory? Is there some reason someone would want to request nodes with a total virtual memory capacity greater than they are limiting their job to use? Thanks! Peter