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:

  1. copy the example text below and save it as a file named hello.c
  2. #include <stdio.h>
    int main(void)
    {
     	printf("hello, Condor\n");
      	return 0;
    }                           
  3. 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.

To test jobs that do not have condor support compiled in, i.e. "vanilla universe" support

  1. copy the example file below and save it as submit.vanilla:
  2. Executable = [path to your executable]
    Universe = vanilla
    Output = vanilla.out
    Log = vanilla.log
    Error = vanilla.err
    Queue                                                 
  3. create WORLD WRITEABLE vanilla.out, vanilla.log, and vanilla.err files
  4. 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.

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.

© Computing and Educational Technology Services
cets@seas.upenn.edu | 215.898.4707