Workspaces

From bwHPC Wiki
Revision as of 16:32, 2 December 2025 by M Janczyk (talk | contribs)
Jump to navigation Jump to search

Note: This is the updated Workspaces guide. The old wiki: Workspace.

Workspace tools provide temporary storage spaces called workspaces for your calculations. They are meant for data that needs to persist longer than a single job, but not permanently.

What are Workspaces?

Workspaces give you access to the cluster's fast parallel filesystems (like Lustre or Weka). You cannot write directly to these parallel filesystems - workspaces provide your designated area.

Use workspaces for:

  • Jobs generating intermediate data
  • Data shared between multiple compute nodes
  • Multi-step workflows
  • Temporary scratch space during calculations

Don't use workspaces for:

  • Permanent storage (use HOME or project directories)
  • Single-node temporary files (use $TMPDIR instead)

Important - Read First

  • No Backup: Data is not backed up and will be automatically deleted after expiration
  • Time-limited: Lifetime typically 30-100 days (cluster-specific). See Cluster Limits
  • Automatic Reminders: Email notifications before expiration
  • Backup Important Data: Copy results to permanent storage before expiration

For advanced features and detailed options: Workspaces/Advanced Features

Command Overview

Main commands:

  • ws_allocate - Create or extend workspace
  • ws_list - List your workspaces
  • ws_find - Find workspace path (for scripts)
  • ws_extend - Extend workspace lifetime
  • ws_release - Release (delete) workspace
  • ws_restore - Restore expired/released workspace
  • ws_register - Create symbolic links

All commands support -h for help.

Quick Start

Task Command
Create workspace (30 days) ws_allocate myWs 30
Create group workspace ws_allocate -G groupname myWs 30
List all workspaces ws_list
See what expires soon ws_list -Rr (-R=by time, -r=reverse)
Find path (for scripts) ws_find myWs
Extend by 30 days ws_extend myWs 30
Delete workspace ws_release myWs
Restore workspace ws_restore -l then ws_restore oldname newname

Create Workspace

Create a workspace with a name and lifetime in days:

  $ ws_allocate myWs 30                    # Create for 30 days

Returns:

  Workspace created. Duration is 720 hours. 
  Further extensions available: 3
  /work/workspace/scratch/username-myWs-0

Common options:

  $ ws_allocate -G groupname myWs 30       # Group-writable (for teams)
  $ ws_allocate -g myWs 30                 # Group-readable
  $ ws_allocate -F ffuc myWs 30            # bwUniCluster 3.0: Flash filesystem

Capture path in variable:

  $ WORKSPACE=$(ws_allocate myWs 30)
  $ cd "$WORKSPACE"

Important: Running the same command again is safe - returns the existing workspace path.

Details: Advanced Features guide

List Your Workspaces

  $ ws_list                                # List all workspaces

Shows workspace ID, location, extensions, creation date, and remaining time.

Common options:

  $ ws_list -Rr                            # Sort by remaining time, reverse (last to expire first)
  $ ws_list -s                             # Short format (names only, for scripts)
  $ ws_list -g                             # Show group workspaces

Note: To list expired workspaces for restore, use ws_restore -l. See Restore.

Details: Advanced Features guide

Extend Workspace Lifetime

Extend before workspace expires:

  $ ws_extend myWs 30                      # Extend by 30 days from now

Alternative:

  $ ws_allocate -x myWs 30                 # Same result

Note: Each extension consumes one available extension. See Cluster Limits.

Details: Advanced Features guide

Release (Delete) Workspace

When no longer needed:

  $ ws_release myWs                        # Release workspace

What happens:

  • Workspace becomes inaccessible immediately
  • Data kept for short grace period (typically until next cleanup)
  • Can be restored with ws_restore during grace period
  • May still count toward quota until final deletion

Details: Advanced Features guide

Restore Workspace

Works on cluster bwUC 3.0 BinAC2 Helix JUSTUS 2 NEMO2
ws_restore

Recover expired or released workspaces within grace period:

Restore procedure:

  $ ws_restore -l                          # (1) List restorable workspaces
  $ ws_allocate restored 60                # (2) Create target workspace
  $ ws_restore username-myWs-0 restored    # (3) Restore

Important: Use the full name from ws_restore -l (with username and timestamp), not the short name.

Details: Advanced Features guide

Work with Groups (Share Workspaces)

Works on cluster bwUC 3.0 BinAC2 Helix JUSTUS 2 NEMO2
-g (group-readable)
-G (group-writable)

Simple team collaboration with group workspaces:

Create Group Workspace

Group-readable (read-only):

  $ ws_allocate -g myWs 30

Group-writable (recommended):

  $ ws_allocate -G projectgroup myWs 30    # Replace 'projectgroup' with your group

Tip: Set default in ~/.ws_user.conf:

groupname: projectgroup

Then simply: ws_allocate myWs 30

List Group Workspaces

  $ ws_list -g                             # Show all group workspaces

Extend Group Workspace

Anyone in the group can extend group-writable workspaces (-G):

  $ ws_extend myWs 30                      # If you created it
  $ ws_allocate -x -u alice myWs 30        # If colleague created it

Manage Reminders

Take over reminder responsibility:

  $ ws_allocate -r 7 -u alice -x myWs 0    # Update timing and take over reminders

Changes reminder to 7 days before expiration and redirects emails to you.

Why Use Group Workspaces?

  • Simple collaboration - everyone accesses same data
  • No permission problems - automatic group permissions
  • Independent extensions - team can extend without creator
  • Easy discovery - ws_list -g shows all team workspaces

Advanced sharing: Sharing guide for ACLs and ws_share