With the default Anaconda-based environments, you can define the hardware size and customize the software configuration of the runtime environment that you want to use to run your notebooks in Watson Studio.
- Free default environment
- Default environments that consume capacity units
- File system in default environments
- Runtime scope in default environments
Free default environment
Watson Studio offers one default Anaconda-based environment for the languages R and Python for free. The free default environment uses Python 3.5. If you want to work with Python 2.7 or R, create an environment based on the free default and select Python 2 or R as the software configuration to use.
Default Python 3.5 Free
Software configuration: Anaconda 5.0; Hardware configuration: 1 Core / 4 GB RAM
The free default environment has these restrictions:
- You can create any number of these small runtime environments and customize them but only one free environment can be active at any one time.
- You can't schedule notebooks that run in a free environment. You must use a charged environment to schedule a notebook.
Default environments that consume capacity units
When you run a notebook in an Anaconda-based environment other than the free default, it consumes capacity unit hours (CUHs), which is the period of time the runtime is active, multiplied by the size of its hardware configuration.
For example, if your default environment is size S (with CU=2) and you run it for 3 hours, you are billed for 6 CUHs. If your environment is size XS (CU=1), it only consumes 0.5 CUH per hour.
You are charged based on your Watson Studio service plan. For up-to-date information, see the Watson Studio pricing plans.
The default Anaconda-based environments include the languages Python 3.5 and R. If you want to work with Python 2.7, create an environment based on one of the defaults and select Python 2 as the software configuration to use.
Watson Studio offers the following default Anaconda-based environments that consume capacity units:
Default Python 3.5 XS
Software configuration: Anaconda 5.0; Hardware configuration: 2 Cores / 8 GB RAM
Default Python 3.5 S
Software configuration: Anaconda 5.0; Hardware configuration: 4 Cores / 16 GB RAM
Default R 3.4 XS
Software configuration: R-3.4 with r-essentials; Hardware configuration: 2 Cores / 8 GB RAM
- Default R 3.4 S
Software configuration: R-3.4 with r-essentials; Hardware configuration: 4 Cores / 16 GB RAM
File system in default environments
The file system of each runtime has approximately 2 GB of free space for installing packages from
pip, or for temporary files. This means that you must be mindful of the size of the data file you load to your notebook.
If you are working with large data sets, you should store the data set in smaller chunks in the IBM Cloud Object Storage associated with your project and process the data in smaller chunks in the notebook. Alternatively, you could run the notebook in a Spark environment.
Be aware that the file system of each runtime is non-persistent and cannot be shared across environments. To persist files in Watson Studio, you should use IBM Cloud Object Storage.
The easiest way to use IBM Cloud Object Storage in notebooks in projects is to leverage the
Environment runtimes are always scoped to an environment definition and a user.
For example, if you associate each of your notebooks with its own environment, each notebook will get its own runtime. However, if you open a notebook with an environment, which you also selected for another notebook and that notebook has an active runtime, both notebooks will be active in the same runtime. In this case, both notebooks will use the compute and data resources available in the runtime that they share.
If you want to avoid sharing runtimes but want to use the same environment definition for multiple notebooks, you should create multiple custom environment definitions with the same specifications and associate each notebook with its out definition.
If different users in a project work with the same environment, each user will get a separate runtime.