Understanding Workspaces
What is a Workspace?
NOTE: As of May 2, 2023, DSim Cloud limits the number of workspaces to 5 active workspace per user. This means that you will only be able to do no more than 5 interactive simulations at a time. You can still have more than 5 paused and destroyed workspaces.
A workspace is a construct providing a flow that is equivalent to local simulation work.
It synchronizes a local workspace ("source of truth") to a remote workspace and accepts commands to be executed on this remote workspace.
The remote workspace is persistently updated with the results of command execution (e.g. waveform DBs, new files, elaborated design, logs, etc., called artifacts) and with sync updates from the local workspace.
The focus of workspaces is to support seamless command execution between the local and remote computes.
Local Workspace
The local directory that is used to initialize an interactive workspace becomes the local workspace.
This makes it the "source of truth" for the workspace, where every change is synchronized to the remote workspace, and so every command is executed as if it was performed locally.
The local workspace also defines the root of the remote workspace. Users should choose their local workspace so it scopes their work effectively, see more at How To: Choose your DSim Cloud local workspace.
Remote Disk
The remote disk is a cloud-hosted file system that contains all of the files required by the user. It contains a combination of files synchronized from the user local workspace and a Metrics-provided remote packages.
The remote disk is always found in the remote path: /remote
Remote Workspace
The synchronized remote version of the local workspace contains the files synced from the local workspace as well as any files created by remote commands (artifacts).
The remote workspace is persistent and stored for the user until the workspace is explicitly destroyed. The contents are only modified by user interaction, whether implicit (by syncing) or explicit (executing commands, or an explicit purge command).
The remote workspace is always found in the remote path: /remote/work
Remote Packages
Predefined tools and IP libraries are available on the remote disk and can be accessed when executing commands on the remote compute.
The remote packages is always found in the remote path: /remote/packages
Remote Permissions
Users will have limited permissions to the /remote/work
directory. Users will have read-only access to other areas of the remote disk as Metrics permits. Users will not be permitted to manage OS-level packages or perform any operations that require root access.
To create a DSim Cloud workspace, use mdc initialize
. See User Guide: DSim Cloud CLI initialize command for more information.
Tracking Workspaces
When you have multiple workspaces, you will want to keep track of them. This can be easily done through the DSim Cloud web portal by clicking the Workspaces icon on the left menu.
Viewing Workspaces
The Workspaces menu will allow you to view all your non-destroyed workspaces and their current status. Refresh the webpage to update.
Local Workspace Path
This is the path where you executed mdc initialize
to create your workspace. This will remain visible for non-destroyed workspaces, even if you have deleted the folder from your local machine.
Size
This is the configuration of your remote cloud compute upon workspace creation.
Status
This is the status of your workspace. It can be either Active, Paused, or Pending (workspace is initializing).
Destroying Workspaces
You can destroy any Active and Paused workspaces by clicking the Destroy button next to the workspace. A window will pop up to confirm your action. This allows you to destroy "orphaned" workspaces whose local local workspace was deleted before the workspace was destroyed. You can also use mdc workspace destroy
for existing local origin directories to destroy your workspace.
All other workspace operations are done through the DSim Cloud CLI (mdc).
Remote Timeout
Remote Timeout automatically pauses your workspace when the remote compute has been idle for a certain amount of time so you do not incur charges afterwards. By default, the timeout is 20 minutes, but can be changed during workspace initialization with mdc init --timeout
. See the DSim Cloud CLI initialize command for details. Idle time is defined as the time since the last remote command completed:
mdc initialize
mdc list
mdc dsim
mdc dvhcom
mdc dvlcom
mdc dlib
mdc dvhencrypt
mdc dvlencrypt
mdc envs
mdc workspace resume
The time spent executing these remote commands, ie. running a simulation, does not count as idle time. You will be charged for the minutes of idle time before the Remote Timeout kicks in.
After Remote Timeout kicks in, both mdc and your web portal Workspaces will indicate that the workspace was paused due to inactivity (idle) with a status like this:
Pause Reason: Inactive for 20mins | Account restriction
In order to resume your work, enter mdc workspace resume
.