Environment Comparison#

DesignSafe exposes multiple execution environments that differ in interaction model, resource allocation, and scaling behavior.

InDesignSafe, some applications, such as OpenSees, are available on Virtual Machines (VM). We are using the OpenSees-Express VM here as an example for comparison purposes.

Feature Comparison#

Feature

JupyterHub (Interactive Containers)

HPC Environment (TACC Systems)

Virtual Machine (VM)

Workflow Type

Interactive

Batch (queued)

Immediate execution

Access Mode

Browser-based notebooks & terminals

Web Portal, SLURM, SSH, or Jupyter for HPC

Application dependent

Execution Model

User-driven, real-time

Scheduler-driven

Backend service

Typical Scale

Small to medium

Medium to very large

Small

Parallel Computing

Limited

Yes (MPI, multi-node)

No

Resource Allocation

Fixed per container session

Explicitly requested per job

Shared VM resources

Scheduling / Queue

Immediate (capacity permitting)

Queued via SLURM

No queue

Isolation Model

Dedicated container CPU/RAM

Dedicated job allocation

Shared VM

Interactivity

Full (live terminals & notebooks)

Non-interactive (batch) or limited interactive

None

Ease of Use

High

Medium

Very high

Best Suited For

Development, testing, visualization

Production runs, large studies

Quick serial runs, entry-level usage


A Note on Virtual Machines in DesignSafe#

DesignSafe provides Virtual Machines (VMs) that are scoped to specific applications, not to individual users.

  • A VM may appear dedicated when accessed through a single application interface

  • In practice, multiple applications may run on the same underlying VM

  • Resources on that VM (CPU, memory, I/O) are therefore shared

In this guide, we refer to the OpenSees-Express VM as a convenient shorthand for the execution environment used by the OpenSees-Express application. However, this VM is not exclusively reserved for OpenSees, nor is it guaranteed to be isolated from other workloads.

This distinction explains why:

  • Execution is immediate (no queue)

  • Resource limits are modest

  • Performance can vary depending on concurrent activity


How to Interpret These Environments#

Rather than thinking in terms of machines, it is more accurate to think in terms of execution models:

  • JupyterHub → interactive, container-isolated workflows

  • HPC systems → scheduled, resource-explicit batch workflows

  • Application VMs → simplified, shared backend execution

Each serves a distinct role, and many projects naturally move between them as complexity and scale increase.