How to use condor
Note: Condor can run 32 and 64 bit executables in the vanilla universe, and can compile 32 bit executables in the standard universe, but we do not have support for compiling 64 bit executables for the standard universe.
The Condor pool is made up of CIS Linux desktops and grid nodes - currently 664 cores (316 32-bit and 348 64-bit) are participating. Condor jobs can be run from your Linux desktop or Eniac.
To test condor_compile jobs, use this simple hello world program and procedure:
- copy the example text below and save it as a file named hello.c
- to compile condor support into the program, run the command "condor_compile gcc hello.c -m32 -o hello"
- copy the example file below and save it as submit.hello:
Executable = hello Universe = standard Output = hello.out Log = /tmp/hello.log Error = hello.err Queue
- run "condor_submit submit.hello" to submit your job.
The job should be accepted by the scheduler (you can see it in the queue by running the command "condor_q"). You can monitor the job by looking at the log files created in your present working directory, as defined in submit.hello. You should receive an email from condor about your job when it completes, whether it runs successfully or not.
#include <stdio.h>
int main(void)
{
printf("hello, Condor\n");
return 0;
}
To test jobs that do not have condor support compiled in, i.e. "vanilla universe" support
- copy the example file below and save it as submit.vanilla:
- create WORLD WRITEABLE vanilla.out, vanilla.log, and vanilla.err files
- run condor_submit submit.vanilla
Since condor support is not compiled into the program, they don't "run" as your uid and will not be able to write output to these files unless they are world writeable.
Executable = [path to your executable] Universe = vanilla Output = vanilla.out Log = vanilla.log Error = vanilla.err Queue
How to run Java on Condor.
$ cat > Hello.java
public class Hello {
public static void main( String [] args ) {
System.out.println("Hello, world!\n");
}
}
$ javac Hello.java
$ cat > submit.hello
universe = java
executable = Hello.class
arguments = Hello
output = Hello.output
error = Hello.error
queue
$ condor_submit submit.hello
Will Condor jobs interfere with my using my own desktop?
Condor checks for mouse and keyboard activity and the CPU load. If there is mouse or keyboard activity, or if the non-condor load exceeds a threshold (currently 0.3) it will stop condor jobs on that workstation. You can also run condor_off to prevent condor from starting jobs on your workstation. Condor can be turned back on with condor_on, or it will turn back on the next time the system is rebooted.
