Workspaces: Difference between revisions

From bwHPC Wiki
Jump to navigation Jump to search
Line 98: Line 98:
'''Common variations:'''
'''Common variations:'''


$ ws_list -Rr # Sort by reverse remaining time (see what expires soon)
$ ws_list -Rr # Sort by remaining time (see what expires soon)
$ ws_list -s # Short format (only names, good for scripts)
$ ws_list -s # Short format (only names, good for scripts)
$ ws_list -g # List group workspaces (if you're in the same group)
$ ws_list -g # List group workspaces (if you're in the same group)

Revision as of 12:58, 2 December 2025

WARNING: This is a new Workspaces page, the old safe-to-use page can be found here: Workspace.

Workspace tools provide temporary scratch spaces called workspaces for your calculations on a central file storage. They are meant to keep data for a limited time – but usually longer than the time of a single job run.

For detailed information about advanced workspace features, configuration options, and less frequently used commands, see the separate Workspaces/Advanced Features guide.

Important

  • No Backup: Data in workspaces is not backed up and will be automatically deleted after expiration
  • Time-limited: Every workspace has a limited lifetime (typically 30-100 days depending on cluster, see the Cluster-Specific Workspace Limits)
  • Automatic Email Reminders: You will receive email notifications before expiration
  • Backup Important Data: Copy important results to appropriate permanent storage before expiration (location depends on your cluster/site policies)

Quick Start - Most Common Commands

The workspace tools consist of several commands:

  • ws_allocate - Create or extend a workspace
  • ws_list - List all your workspaces
  • ws_find - Find the path to a workspace
  • ws_extend - Extend the lifetime of a workspace
  • ws_release - Release (delete) a workspace
  • ws_restore - Restore an expired or released workspace
  • ws_register - Create symbolic links to workspaces

All commands support -h or --help to show detailed usage information.

Task Command
Create workspace for 30 days ws_allocate myWs 30
Create group-writable workspace ws_allocate -G groupname myWs 30
List all your workspaces [sort by expiration date] ws_list [-Rr]
Find workspace path (for scripts) ws_find myWs
Extend workspace by 30 days ws_extend myWs 30
Delete/release workspace ws_release myWs
Restore released workspace ws_restore -l then ws_restore oldname newname

Create Workspace

To create a workspace you need to specify a name and lifetime in days:

Basic usage:

  $ ws_allocate myWs 30                    # Create workspace for 30 days

Common variations:

  $ ws_allocate -G groupname myWs 30           # Create group-writable workspace (recommended for teams)
  $ ws_allocate -g myWs 30                     # Create group-readable workspace
  $ ws_allocate -F ffuc myWs 30                # bwUniCluster 3.0: Use flash filesystem for better performance

This returns:

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

Important: Creating a workspace a second time with the same command is safe - it always returns the same path.

Capture the path in a variable:

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

For all options and advanced usage, see the Advanced Features guide.

List Your Workspaces

Basic usage:

  $ ws_list                                # List all your workspaces

Shows:

  • Workspace ID
  • Workspace location
  • Available extensions
  • Creation date and remaining time

Common variations:

  $ ws_list -Rr                            # Sort by remaining time (see what expires soon)
  $ ws_list -s                             # Short format (only names, good for scripts)
  $ ws_list -g                             # List group workspaces (if you're in the same group)

Note: To list expired workspaces that can be restored, see Restore Workspace.

For all options, see the Advanced Features guide.

Extend Workspace Lifetime

Extend a workspace before it expires:

Basic usage:

  $ ws_extend myWs 30                      # Extend by 30 days from now

Alternative commands:

  $ ws_allocate -x myWs 30                 # Same as ws_extend

Note: Each extension consumes one of your available extensions (see the Cluster-Specific Workspace Limits).

For all options, see the Advanced Features guide.

Release (Delete) Workspace

When you no longer need a workspace:

Basic usage:

  $ ws_release myWs                        # Release workspace (recoverable during grace period)

What happens:

  • Workspace becomes inaccessible immediately
  • Data is kept for a short grace period (usually until next cleanup run at nighttime) and can be restored with ws_restore
  • Released data may still count toward quota until final deletion

For all options, see the Advanced Features guide.

Restore Workspace

Works on cluster bwUC 3.0 BinAC2 Helix JUSTUS 2 NEMO2
ws_restore

If you released a workspace by accident or need to recover an expired one, you can restore it within a grace period:

Basic workflow:

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

Note: Use the full name from ws_restore -l (including username and timestamp), not the short name from ws_list.

For detailed restore options, see the Advanced Features guide.

Work with Groups (Share Workspaces)

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

Working with team members is simple using group workspaces:

Create Group Workspace

Group-readable workspace (team can read):

  $ ws_allocate -g myWs 30

Group-writable workspace (team can read and write, recommended):

  $ ws_allocate -G projectgroup myWs 30

Replace projectgroup with your actual group name (e.g., bw11a000).

Tip: Set your default group in ~/.ws_user.conf to avoid typing it every time:

groupname: projectgroup

Then you only need: ws_allocate myWs 30

List Group Workspaces

See all workspaces from your group:

  $ ws_list -g

This shows workspaces that were created with -g or -G by anyone in your group.

Extend Group Workspace

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

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

Replace username with the workspace owner's username. This is useful when they're unavailable.

Manage Reminders for Group Workspace

You can update reminder settings and take over responsibility for reminders on a colleague's workspace:

  $ ws_allocate -r 7 -u username -x myWs 0     # Update reminder time and take over
                                               # another user's workspace reminders

This changes the reminder timing to 7 days before expiration and redirects reminder emails to you instead of the original creator. Useful when you're taking over responsibility for a shared workspace.

Why Use Group Workspaces?

  • Simple collaboration: Everyone can access the same data
  • No permission problems: Files automatically get group permissions
  • Independent extensions: Team members can extend without original creator
  • Easy to find: Use ws_list -g to see all team workspaces

For advanced sharing options (sharing with specific users outside your group, ACL-based methods), see the Advanced Features guide.