considerations when installing and using arivis products with virtual machines.
Introduction
Virtual machines are a convenient way to create environments for software utilization that are unmoored from physical hardware and can be easily reset, copied, or transferred to new machines. However, these same abilities affect several aspects of how the software is licensed and operated.
Licensing
arivis software products are protected from unauthorized use by a licensing system provided by a third-party provider. This licensing system allows institutions who purchase licenses to protect their asset, and us as software vendors from the illegal distribution of our products. Licensing works by locking the software to a specific piece of hardware, typically a computer or dongle.
In the case of a hard key, the license is effectively located on a USB dongle, and whichever machine has the key plugged in is able to read the license and make it available to users.
In the case of soft licenses, the key is activated on a computer by making a digital fingerprint of the machine on which it is activated and locking the activation to this fingerprint.
This is important when using a virtual machine. If you have a dongle, the dongle must be visible to the virtual machine. If you are using a soft key, changes to the virtual machine, such as copying it to a new computer, will change the VM's fingerprint and irreversibly invalidate the license. Therefore, if you activate a soft license on a VM, you MUST deactivate the license prior to making any changes to the VM and reactivate once the changes are completed. Failure to do this will invalidate the license and support related to License invalidation due to VM changes are not covered by warranty or maintenance and may be chargeable.
Please see this article on license activation to find out more about activating and transferring licenses.
Graphics cards
GPUs are used mainly in 2 types of applications with different constraints and requirements:
- 3D visualisation
The arivis 3D renderer is built on Open GL and we need OpenGL 4.2 support or above at a minimum. When using VMs it is important that both the physical hardware on which the virtual machine runs, and the virtualisation software support this. - ML acceleration
The GPU acceleration libraries we use for ML are built on NVIDIA's CUDA. It is therefore essential to use NVIDIA based GPUs to take advantage of this feature. Moreover, if you want to train new models, not just run inference, the requirement for 8GB of VRAM as a minimum remains.
Instance segmentation using arivis Cloud models relies on Linux libraries. To enable the use of these libraries in a Windows environment arivis uses Docker containers. These containers are essentially VMs themselves and most virtualisation does not permit nested virtualisation meaning that it is typically not possible to use Docker containers in a VM. It is, however, possible to set up a remote Docker environment if needed. This is covered in more details here.
Data access
arivis Pro makes extensive use of just-in-time loading to enable the software to be RAM independent. This means that for efficient processing the data should, as much as possible, be located as close the RAM and CPU as possible. VMs add an additional layer of separation between the physical hardware on which the data is stored and where it is processed and may therefore slow down read and write operations. Any VM configuration for arivis should include a certain amount of storage that is both large enough to hold the temporary documents created during analysis, and as close to the VM as possible to reduce overheads in data reads and writes.
Conclusions
VMs are, of course, very handy in a range of scenarios. Indeed, the arivis development team does use VMs extensively for testing in-house for these very reasons. However, users should be aware of the distinct differences in how VMs operate to ensure that they have a great user experience. arivis is keen to support users in whatever environment they find most useful to them, and making users aware of the consequences of running in such an environment is part of what the support team can do to ensure a great user experience.
The arivis support team will always try to help users if they are experiencing issues linked to VMs, but you should be aware that our ability to support will be limited by your configuration, and issues caused by user error may not be covered by maintenance agreements and may therefore be chargeable.