Contents Index

Chapter 2
Users’ Manual

 2.1 Welcome to HTCondor
 2.2 Introduction
 2.3 Matchmaking with ClassAds
  2.3.1 Inspecting Machine ClassAds with condor_status
 2.4 Running a Job: the Steps To Take
  2.4.1 Choosing an HTCondor Universe
 2.5 Submitting a Job
  2.5.1 Sample submit description files
  2.5.2 Using the Power and Flexibility of the Queue Command
  2.5.3 Variables in the Submit Description File
  2.5.4 Including Submit Commands Defined Elsewhere
  2.5.5 Using Conditionals in the Submit Description File
  2.5.6 Function Macros in the Submit Description File
  2.5.7 About Requirements and Rank
  2.5.8 Submitting Jobs Using a Shared File System
  2.5.9 Submitting Jobs Without a Shared File System: HTCondor’s File Transfer Mechanism
  2.5.10 Environment Variables
  2.5.11 Heterogeneous Submit: Execution on Differing Architectures
  2.5.12 Jobs That Require GPUs
  2.5.13 Interactive Jobs
 2.6 Managing a Job
  2.6.1 Checking on the progress of jobs
  2.6.2 Removing a job from the queue
  2.6.3 Placing a job on hold
  2.6.4 Changing the priority of jobs
  2.6.5 Why is the job not running?
  2.6.6 Job in the Hold State
  2.6.7 In the Job Event Log File
  2.6.8 Job Completion
 2.7 Priorities and Preemption
  2.7.1 Job Priority
  2.7.2 User priority
  2.7.3 Details About How HTCondor Jobs Vacate Machines
 2.8 Java Applications
  2.8.1 A Simple Example Java Application
  2.8.2 Less Simple Java Specifications
  2.8.3 Chirp I/O
 2.9 Parallel Applications (Including MPI Applications)
  2.9.1 How Parallel Jobs Run
  2.9.2 Parallel Jobs and the Dedicated Scheduler
  2.9.3 Submission Examples
  2.9.4 MPI Applications Within HTCondor’s Vanilla Universe
 2.10 DAGMan Applications
  2.10.1 DAGMan Terminology
  2.10.2 The DAG Input File: Basic Commands
  2.10.3 Command Order
  2.10.4 Node Job Submit File Contents
  2.10.5 DAG Submission
  2.10.6 File Paths in DAGs
  2.10.7 DAG Monitoring and DAG Removal
  2.10.8 Suspending a Running DAG
  2.10.9 Advanced Features of DAGMan
  2.10.10 The Rescue DAG
  2.10.11 DAG Recovery
  2.10.12 Visualizing DAGs with dot
  2.10.13 Capturing the Status of Nodes in a File
  2.10.14 A Machine-Readable Event History, the jobstate.log File
  2.10.15 Status Information for the DAG in a ClassAd
  2.10.16 Utilizing the Power of DAGMan for Large Numbers of Jobs
  2.10.17 Workflow Metrics
  2.10.18 DAGMan and Accounting Groups
 2.11 Virtual Machine Applications
  2.11.1 The Submit Description File
  2.11.2 Checkpoints
  2.11.3 Disk Images
  2.11.4 Job Completion in the vm Universe
  2.11.5 Failures to Launch
 2.12 Docker Universe Applications
 2.13 Time Scheduling for Job Execution
  2.13.1 Job Deferral
  2.13.2 CronTab Scheduling
 2.14 Special Environment Considerations
  2.14.1 AFS
  2.14.2 NFS
  2.14.3 HTCondor Daemons That Do Not Run as root
  2.14.4 Job Leases
 2.15 Potential Problems
  2.15.1 Renaming of argv[0]
     Contents Index