DSim Cloud Glossary
This glossary introduces common DSim Cloud terminology.
Artifact
DSim Cloud commands executed in the workspace are performed by the remote Compute Service in the Remote Directory. Any files created in the process are called artifacts.
Some of these files could be relevant to the user as final results (e.g. log files), others may be reusable intermediate results (e.g. compilation), and others may be uninteresting throwaways. There is no way to automatically categorize artifacts except in specific cases. Therefore, the term artifact does not signify any specific value, just that a file was created by remote computation. Categorization and handling of artifacts are left to the user.
Artifacts are stored persistently in the remote directory, and the user can choose to download, or delete them.
Command
Running commands remotely is an interactive process called "execution". Each executed command is the equivalent to the execution of a shell command line on the remote compute service of a workspace.
Command Line Interface (CLI)
DSim Cloud CLI (mdc) brings the functionality of a simulator into your local development environment, allowing you to simulate your code using a cloud environment quickly.
mdc is a small executable that is installed on your local compute and is used to communicate with the remote system.
More information on how to install mdc can be found here.
Compute Service
The compute service is the way to allocate the ability to perform computation in a workspace.
The key for interactive work is responsiveness, so the availability of the compute service is controlled by using a pause / resume mechanism. An active compute is immediately available to do work, allowing interactive flows.
The compute is removed and is no longer available if the workspace is Paused or Destroyed.
DSim
DSim is Metrics' mixed language (Verilog, SV, VHDL) simulator. It is available as a Package in DSim Cloud.
File Synchronization
To easily run simulations in the cloud, DSim Cloud synchronizes all files, recursively, within the local origin (the directory where the mdc initialize
command was executed) to the remote compute within the /remote/work directory. To provide a seamless user experience, this synchronization is done automatically for you in a performance-friendly manner.
More information can be found here.
Origin Directory
The local directory that is used to initialize an interactive workspace becomes the origin directory of the workspace.
This makes it the "source of truth" for the workspace, where every change is synchronized to the remote work directory.
The origin directory also defines the root of the remote work directory of the workspace. You should choose your origin directory so it scopes their work effectively.
More information on how to choose your origin directory can be found here.
Package
A package is a tool or library that is made available on the remote compute. Packages are organized in a Vendor-> Tool -> Version structure.
Remote Directory
The remote directory is a cloud-hosted file system that contains all of the files required by the user. It is created using a combination of file sync from the user origin, as well as package configuration.
This directory is always found in the remote path: /remote/
Shell expansion
Terminal windows are an advanced tool and some of their complexity, although useful, can appear to behave strangely for the unfamiliar. Certain switches (anything preceded with a -
) and wildcards (such as *
, $
, ~
) are read by terminal windows and treated in special ways. This behavior is called shell expansion and is worth becoming familiar with, certainly at least to the basic level of not triggering it unintentionally.
Storage
Storage is a physical disk on the remote compute that is persistent throughout the life of the workspace.
User
A user is a specific individual authenticated to DSim Cloud. DSim Cloud will provide an authentication capability for creating user accounts.
A user account allows creating new workspaces and accessing previously created workspaces.
Workspace
A workspace is a construct with the goal of providing a flow that is equivalent to local interactive simulation work. It synchronizes a local directory ("source of truth") to a remote directory and accepts commands to be executed on this remote directory. The remote directory is persistently updated with the results of command execution (called artifacts) and with sync updates from the local directory.
The focus of workspaces is to support interactive command execution.