> For the complete documentation index, see [llms.txt](https://help.fovus.co/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.fovus.co/docs/job/overview.md).

# Overview

What a job is, how it's structured, and how Fovus optimizes it for your workload.

A **job** is the unit of computational work on Fovus. You define what software to run, how much compute power you need, and when to run it — Fovus handles infrastructure provisioning, software licensing, parallelism optimization, and data management automatically.

## Jobs and tasks

A job contains one or more **tasks**. Each task is an independent computation that runs in its own working directory. For example, a design-of-experiments study with 50 simulation cases is one job with 50 tasks.

```
my-job/
├── case-001/      ← task 1 working directory
├── case-002/      ← task 2 working directory
└── case-050/      ← task 50
```

Fovus runs all tasks in parallel (within your constraints) and syncs outputs back to Fovus Storage as each task completes.

## How Fovus optimizes your job

When you submit a job, Fovus performs **Cloud Strategy Optimization** to select the best virtual HPC infrastructure (vHPCI) for your workload. The optimization factors in:

* Your **Benchmarking Profile** — characterizes your workload's compute behavior (scalable parallelism, GPU vs. CPU, memory profile, etc.)
* Your **Time-to-cost priority ratio (TCPR)** — how aggressively to trade cost for speed
* Current cloud resource availability and pricing dynamics
* License availability, for licensed software workloads

## Creating a job

Job creation follows four steps:

| Step            | What you configure                                                                 |
| --------------- | ---------------------------------------------------------------------------------- |
| **Environment** | Software type (licensed monolithic or containerized) and runtime                   |
| **Constraint**  | Compute requirements: CPU/GPU, memory, walltime, storage, and benchmarking profile |
| **Objective**   | Time-to-cost priority ratio                                                        |
| **Workload**    | Input files, shared remote inputs, run command, and output file filters            |

See [Quickstart](/docs/job/quickstart.md) for a step-by-step walkthrough.

## Job statuses

| Status                          | Meaning                                                                   |
| ------------------------------- | ------------------------------------------------------------------------- |
| **Created**                     | Job submitted; Cloud Strategy Optimization will begin shortly             |
| **Scheduled**                   | Job will be submitted at a future date and time                           |
| **Cloud Strategy Optimization** | Fovus is determining the optimal infrastructure configuration             |
| **Provisioning Infrastructure** | Infrastructure is being provisioned and software deployed                 |
| **Running**                     | At least one task has started                                             |
| **Completed**                   | All tasks (and post-processing, if configured) have finished successfully |
| **Failed**                      | One or more tasks encountered an error during runtime                     |
| **Walltime Reached**            | A task reached its configured walltime limit and was terminated           |
| **Waiting for License**         | Job is queued waiting for a license slot to become available              |
| **License Timeout**             | License wait exceeded the configured timeout; job terminated              |
| **Post Processing Running**     | All tasks finished; the post-processing task is running                   |
| **Terminated**                  | Job was manually terminated by a user                                     |

## How jobs relate to Fovus Storage

Job inputs are uploaded to **Fovus Storage** before submission. During a run, Fovus mounts storage on each compute node so tasks can read shared inputs at runtime. When tasks finish, outputs are synced back to Storage automatically.

See [Prepare inputs](/docs/job/job-submission/prepare-inputs.md) for how to structure your job folder and point tasks at shared input files.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.fovus.co/docs/job/overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
