Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Getting Started

Torc is a distributed workflow orchestration system for managing complex computational pipelines with job dependencies, resource requirements, and distributed execution.

Torc uses a client-server architecture where a central server manages workflow state and coordination, while clients create workflows and job runners execute tasks on compute resources.

Key Components

  • Server: REST API service that manages workflow state via a SQLite database
  • Client: CLI tool and library for creating and managing workflows
  • Job Runner: Worker process that pulls ready jobs, executes them, and reports results
  • Database: Central SQLite database that stores all workflow state and coordinates distributed execution

Features

  • Declarative Workflow Specifications - Define workflows in YAML, JSON5, JSON, or KDL
  • Automatic Dependency Resolution - Dependencies inferred from file and data relationships
  • Job Parameterization - Create parameter sweeps and grid searches with simple syntax
  • Distributed Execution - Run jobs across multiple compute nodes with resource tracking
  • Slurm Integration - Native support for HPC cluster job submission
  • Workflow Resumption - Restart workflows after failures without losing progress
  • Change Detection - Automatically detect input changes and re-run affected jobs
  • Resource Management - Track CPU, memory, and GPU usage across all jobs
  • RESTful API - Complete OpenAPI-specified REST API for integration