Skip to content

Add-on feature

Sovereign Execution is a paid add-on available for the Business and Enterprise plans. For all available add-ons, see Add-ons.

Compute classes for sovereign execution ​

Sovereign executors use the same compute classes as managed environments: Light, Standard, and Performance. Each class has the same multiplier, and credits are calculated the same way. For multipliers and billing rules, see Execution compute classes.

This page covers what's different on sovereign executors.

Differences from managed environments ​

The following table compares compute classes in managed and sovereign environments:

ManagedSovereign
Where you set the classPer workflowPer environment, for every executor connected to it
Unit of parallelismSet by KnimeRoughly one core, vCore, or hyperthread, depending on your hardware
Memory limitAll memory of running nodes, including Python and RJava heap of the executor only
ExecutorsProvided by KnimeRun by you, as many as you need
PriceExecution creditsExecution credits, plus a yearly fee per environment

Resources per class ​

The compute class sets the Java heap and the number of threads for each executor in the environment. The number of threads limits how many nodes run at the same time.

LightStandardPerformance
Java heap2 GB5 GB16 GB
Threads136

Sovereign executors currently don't support workflows that need more than 16 GB of Java heap.

Choose a class ​

You set the compute class in the environment settings. For the steps, see Create an environment. The class applies to every executor connected to the environment. When you change the class, the environment's executors restart automatically, because the Java heap is set when an executor starts.

Running jobs are lost

Changing the compute class restarts the environment's executors, and jobs running on them are lost. Change the class when no jobs are running in the environment.

To run workflows in different classes, create one environment per class. Each environment has its own yearly fee. The fee doesn't depend on how many executors are connected to the environment.

Knime doesn't manage the hardware of sovereign executors. Make sure each machine has enough memory and CPU for the compute class of the executors you run on it.

The following table suggests a class for common workloads:

WorkloadClassNotes
Database-heavy, light data transformationsLightRun several executors per machine for more throughput
Memory-heavy or CPU-heavyStandard or PerformanceUp to 16 GB Java heap per executor
MixedOne environment per classEach environment has its own yearly fee

How executors apply the class ​

You don't configure the compute class on the executor. When an executor connects to Knime, it fetches the class from its environment. It then starts with the Java heap, thread count, and processor count of that class, and Knime checks that the executor uses them.

This works the same on Linux and Windows, and doesn't need operating-system limits.

Run several jobs on one executor ​

An executor can run several jobs at the same time. The jobs share the executor's Java heap and threads. Each job gets at most the resources of the class, and less when the executor is busy.

The following rules apply when jobs share an executor:

  • Nodes wait for a free thread. A node without a free thread waits, and isn't billed until it starts.
  • Waiting nodes free their thread. Database, REST, and Wait... nodes free their thread while they wait on an external system, so more jobs fit on one executor. These nodes are still billed for the time they wait, as in managed environments.
  • Billing rules stay the same. Every node is billed for its own execution time. Other jobs on the executor can slow a node down, which increases its execution time.

To increase throughput, add executors. You can run several executors on one machine.