Required Software

  • Existing Linux Tangram Grid node with Gatkeeper and Condor configured.
  • Windows Server 2003 or Windows XP (other versions may work) (Windows Server provides option for multiple users to be logged at the same time and is a better option then XP)
  • Condor for Windows
  • Cygwin
  • Cygwin launcher Script
  • Java 1.6
  • Ant 1.7
  • Allegor Lisp , cache and graph
  • Pegasus tools
  • GU stack
  • DC clients

Windows Installation

  • Do a complete Windows XP install
  • Apply all patches and security updates
  • Create users for sea, pc, dc, gu, sr with some passwords
  • Enable remote desktop and remote assistance by going to Control Panel-> System -> Remote tab
    • check allow users to connect remotely to this computer option.
    • click select Remte Users and add the above users, then ok
    • click apply and ok on the system properties page.

Install Java

  • Download and install the latest Sun Java JDK (not JRE) ver 1.6.0_??
  • User the automatic installer to install it in C:\se18\java\1.6.0_??

Install Ant

Install Allegro Lisp, Cache and Graph

  • Download Allegro lisp from http://www.franz.com/ for Windows.
    • Use the link Franz sent for their products with their license file.
  • Install allegro cache, and allegro graph as documented on the franz website and do an update to get all the latest patches.
  • Make sure to rebuild the images by running update.exe

Install Cygwin

  • Download the Cygwin setup.exe from http://www.tcm.phy.cam.ac.uk/~mr349/setup.exe
  • Download the file package.list from http://wind.isi.edu/software/package.list
  • Click Start->Run-->cmd.exe
  • In the terminal cd to the directory where you have setup.exe and the package.list file
  • Run the command below

    for /F %x in ('type package.list') do setup.exe -s http://www.gtlib.gatech.edu/pub/cygwin -q -R C:\cygwin -p %x

    • You may get some errors saying ini file is newer then setup.exe ignore them and just keep clicking next and ok.
  • After installing cygwin you will have a shortcut on your desktop for cygwin.
    • start cygwin by Double Clicking on this icon. The first time you start cygwin it may tell you how to create /etc/passwd and /etc/groups. Follow those instructions.

      mkpasswd -l >/etc/passwd
      mkgroup -l >/etc/group

Install GU Software

  • Check out GU software and install it at C:\se18\wrapped or C:\se18\gu according to GU instructions

Install DC Clients

Install Condor

  • Download condor for windows from http://cs.wisc.edu/condor
  • Version and is condor-7.1.3-winnt50-x86.msi
  • double click the .msi installer file
  • accept the license
  • Click join an existing Condor pool
    • for the hostname of central manager provide the hostname of a linux box where you installed condor and globus gatekeeper and which will act as the head node of your cluster
    • Click Next
  • UnCheck submit jobs to Condor Pool
    • select Always run jobs and never suspend them
    • click next
  • Add accounting domain if you have one, otherwise leave empty
    • Click next
  • Add hostname of your smtp server and admin's email address so you can get error messages from Condor daemons
    • click next
  • Provide the path to the java.exe file that you installed in the previous step.
    • e.g. C:\se18\java\1.6.0_07
    • click next
      Hosts with read access put
  • Hosts with write access put.yourdomainname, *.isi.edu
    • click next
  • disable vm universe and click next
  • Start condor service after installation. Click yes then next
  • Click custm setup.
    • Change the location of installation by click browse and providing C:\se18\condor\7.1.3
    • click next
    • click install
  • Condor will be installed and started automatically.
  • Go to c:\se18\condor\7.1.3 directory
  • Edit the file condor_config.local with notepad
    • add the entry below

      USER_JOB_WRAPPER=C:\se18\cygwin_launcher.bat

  • Download the file http://wind.isi.edu/software/cygwin_launcher.bat and save it at C:\se18\cygwin_launcher.bat
  • Restart Condor by going to Control Panel -> Administrative Tools ->Services
    • Select Condor from the list and click restart on the left hand side.

Install Pegasus

  • Download the pegasus binary tarball from http://wings.isi.edu/software/pegasus.tar.gz
    • Start Cygwin and cd to /cygdrive/c/se18
    • mkdir pegasus directory
    • cd pegasus
    • tar zxvf pegasus.tar.gz
    • This will create a directory 2.2.0cvs with a bin directory inside of it. This has the minimal pegasus binaries required to work.

Add Firewall Exceptions

  • Condor should automatically add firewall exceptions for its daemons.
  • This assumes that the windows node itself is not behind another firewall.
  • If the windows node is behind another firewall please refer to Condor documentation for opening correct ports.

Setting Environment Variables

  • Start Cygwin and modify /etc/bash.bashrc file
  • Add the follow env variables

export DC_HOME = /cygdrive/c/se18/dc
export GU_HOME =/cygdrive/c/se18/gu (or wrapped whichever place you installed)
export ACL_HOME=/cygdrive/c/se18/allegro/acl81
export PEGASUS_HOME=/cygdrive/c/se18/pegasus/default
export JAVA_HOME=/cygdrive/c/se18/java/default
export AG_HOME=$ACL_HOME/agraph

Adding files to the Linux head node to support a windows node

You need to modify and add a few files on the head node(Grid node) that is running the gatekeeper software to support windows execution.

On your linux grid node do the following

  • Download http://wind.isi.edu/software/jobmanager-condorwindows
    • Copy the file to $GLOBUS_LOCATION/etc/grid-services/
    • Edit the file a and modify the paths the globus-job-manager and globus-job-manager.conf for your globus installation
    • Also you nede to modify the -condor-os value depending on what Windows you are trying to support. If the nodes are XP then the value has to be WINNT51. If they are windows server 2003 then it is WINNT52. If you have both types of systems then copy the jobmanager_condorwindows to two files 1) jobmanager_condorwindows_xp and 2) jobmanager_condorwindows_2003. Then for each jobmanager set the appropriate -condor-os type.. You can add both the jobmanagers then to the same site catalog entry as type execute.
  • Download http://wind.isi.edu/software/condorwindows.pm
    • Copy the file to $GLOBUS_LOCATION/lib/perl/Globus/GRAM/JobManager/
    • Edit the file to modify the variables $condor_submit and $condor_rm to point to the condor binaries on your system.

After installation you should restart xinetd..

You can check first if your windows condor nodes are reporting to the queue on the linux box by running the command condor_status on the linux box.

You will see entries like

WIND-PC1           WINNT51    INTEL  Claimed   Busy     0.060  1023  0+04:06:30
slot1@remote       WINNT52    INTEL  Unclaimed Idle     0.000   895  6+09:59:05
slot2@remote       WINNT52    INTEL  Unclaimed Idle     0.000   895  6+10:26:00
slot3@remote       WINNT52    INTEL  Unclaimed Idle     0.010   895  0+01:40:07
slot4@remote       WINNT52    INTEL  Unclaimed Idle     0.000   895  6+13:34:18

which means your condor nodes are reporting correctly to your linux box.

Run a small test job using globus by doing

  • grid-proxy-init
  • globusrun -a -r <hostname>/jobmanager-condorwindows (or whatever name you saved the jobmanager files as in the first step)
  • globus-job-run hostname/jobmanager-condorwindows /bin/uname -a

    CYGWIN_NT-5.2 remote 1.5.25(0.156/4/2) 2008-06-12 19:34 i686 Cygwin

Site Catalog Entry

Below is a sample site catalog for the Wind PC node..
When you add a similar site make sure to change all the appropraite entries like contact, gsiftp url, mount-points, profile paths.


<site  handle="isi_wind_pc" arch="x86" os="WINDOWS">
{panel}
       <grid  type="gt2" contact="wind.isi.edu/jobmanager-condorwindows" scheduler="Condor" jobtype="compute" idle-nodes="6"/>
       <grid  type="gt2" contact="wind.isi.edu/jobmanager-condorwindows" scheduler="Condor" jobtype="transfer" idle-nodes="6"/>
       <head-fs>
               <scratch>
                       <shared>
                               <file-server protocol="gsiftp" url="gsiftp://wind.isi.edu" mount-point="/cygdrive/c/se18/scratch-sr">
                               </file-server>
                               <internal-mount-point mount-point="/cygdrive/c/se18/scratch-sr" free-size="null" total-size="null"/>
                       </shared>
               </scratch>
               <storage>
                       <shared>
                               <file-server protocol="gsiftp" url="gsiftp://wind.isi.edu" mount-point="/cygdrive/c/se18/scratch-sr">
                               </file-server>
                               <internal-mount-point mount-point="/cygdrive/c/se18/scratch-sr" free-size="null" total-size="null"/>
                       </shared>
               </storage>
       </head-fs>
       <profile namespace="env" key="GU_HOME" >/cygdrive/c/se18/wrapped</profile>
       <profile namespace="env" key="DC_HOME" >/cygdrive/c/se18/dc</profile>
       <profile namespace="env" key="JAVA_HOME" >/cygdrive/c/se18/java/default</profile>
       <profile namespace="env" key="PEGASUS_HOME" >/cygdrive/c/se18/pegasus/2.2.0cvs</profile>
{panel}


</site>

Category ___Testbed

  • No labels