Planning for Installation¶
Operating System¶
Altair SLC Hub software is currently only supported on RPM based RedHat family Linux distributions equivalent to RHEL version 8 or later. Support for other Linux distributions may be added in future releases. Contact Altair support if you have a requirement for alternative platforms.
Altair SLC Hub software is supported on Windows.
Reference Architectures.¶
The Altair SLC Hub can run in corporate networks and with cloud providers.
The following image displays the structure of a Altair SLC Hub:
The Altair SLC Hub consists of a Hub Server machine and a number of Hub Worker machines. There is a PostgreSQL Database backing the Altair SLC Hub and an Object Store to preserve the results from Jobs and Pipelines. There is a Shared File System between the Hub Server and all the Hub Workers. The Altair SLC Hub connects to LDAP to syncronise its users with a network's users. The Altair SLC Hub may be connected to an E-mail Server to allow the sending of e-mails.
Examples of reference configurations in cloud providers are given below:
Terraform and Ansible scripts to bring up a Altair SLC Hub in different cloud providers can be seen here and provide complete setup examples
Installation alongside Altair SLC Hub 4¶
There is no need to uninstall an installation of the previous generation of Altair SLC Hub (World Programming Hub 4) before proceeding with an installation of this generation of Altair SLC Hub.
Altair SLC¶
The Worker Nodes require an installation of Altair SLC. The minimum required version is 2023.1.
Host permissions¶
Ensure that you have Administrator (root) privileges on the host for installation.
None of the post-installation configuration steps will require Administrator privileges.
Ensure that you have local Administrator privileges on the host. Only machine level installation is supported, not user level installation.
Most of the post-installation configuration steps will also require Administrator privileges.
Web Browser¶
The main user interface for the Altair SLC Hub software is provided as a web application. Supported browsers are:
- Google Chrome
- Mozilla Firefox
- Microsoft Edge
In all cases, the currently supported released versions of the browser are supported by Altair SLC Hub.
Ingress¶
Altair SLC Hub allows different network configurations in a variety of platforms.
It is important to understand the concept of the ingress address of the Altair SLC Hub, and the internal ingress address. The ingress address is the address that browsers and other client will use to access the Altair SLC Hub. The internal ingress address is the address that workers will use to access the Altair SLC Hub.
These internal and external ingress addresses may be the same, as is often the case in corporate networks. The diagram below is an example of machines in a corporate network where the Altair SLC Hub ingress address is the same as the internal ingress address, and the Altair SLC Hub is accessed directly by the hub.company.com address.
In different configurations, such as cloud providers, the ingress address of the Hub may be different from the internal ingress address. The diagram below shows an example where the Altair SLC Hub ingress address is hub.external.com, but each machine within the internal network communicates with a .company.internal address.
Note
It is important to understand how the machines will communicate with each other so that the addresses can be configured correctly during the installation. Different ingress addresses, or non-default internal ingress addresses will need to be configured manually as these cannot be detected automatically.
Database¶
Altair SLC Hub requires a database for storing data.
Out the box, Altair SLC Hub provides a database that can be used with no further configuration. It is however recommend to supply your own database.
When installing Altair SLC Hub in a cloud environment, we recommend using the cloud provider's native PostgreSQL offering. This will provide a database with maximum up time, simple backup and restore procedures and cost savings. In a production environment, you may use an external database on a separate machine as your infrastructure allows, to allow integrations with existing servers, replication etc. You may also run an external database on the Altair SLC Hub server to allow more sophisticated setups. It is possible to use the internal database out of the box, giving a simple setup. Backup procedures must be considered here, backups should be taken regularly and stored externally inline with standard best practices.
Currently only PostgreSQL database version 13 or later is supported.
The Hub requires a dedicated logon user in the database instance. The credentials for this user are supplied to Hub in the configuration files or can be stored in Hashicorp Vault (see here for more information on Hashicorp Vault integration).
The Hub database user must have full permissions on the database instance, including CREATE
permission.
During the installation or upgrade process the Hub bootstrap
utility is run to ensure that the correct database schemas exist in the database.
Object Store¶
In addition to an SQL database, Altair SLC Hub requires an object store for storing data.
When in a cloud environment, we recommend using the cloud's native object store. This will provide a store with maximum up time, simple backup and restore procedures and cost savings. In a production environment, you may use an external object on a separate machine if your infrastructure allows, to allow replication etc. You may also run an external object store on the Hub server to allow more sophisticated setups. It is possible to use the internal object store out of the box, giving a simple setup. Backup procedures must be considered here, backups should be taken regularly and stored externally inline with standard best practices.
Currently Altair SLC Hub officially supports S3 compatible object stores. We have tested compatibility with:
- Amazon S3 in AWS
- MinIO
- SeaweedFS
Contact Altair support if you have a requirement for an alternative object store.
The Hub requires a dedicated logon user in the object store and a dedicated bucket for its use.
Instructions on installing and configuring MinIO locally for use by Hub are available in the Altair Community Knowledge base.
Shared Filesystem¶
Various features of Altair SLC Hub assume that there is a common filesystem mounted into each worker node, and also into the main server node.
Altair SLC Hub allows workloads to be run on a pool of worker machines. Typically a workload will need to access some file based resources such as data files, or program source files. Since the workload can be run on any of the workers in the pool those file resources need to be accessed in a consistent way regardless of the worker that the workload is run on. This means that those file resources would need to be on a shared filesystem that was mounted into each worker node in the same way.
The Altair SLC Hub server node also need access to the same shared filesystem. The Altair SLC Hub server provides access to those shared filesystem locations through a WebDAV interface, and so those shared filesystem locations need to be available to the Altair SLC Hub server node as well. Therefore even with an Altair SLC Hub environment with just one worker node, there need to be a shared filesystem available to both the worker node and the server node.
In the case of Altair Analytics Workbench™ Workflows, different nodes of a workflow might be executed on different Altair SLC Hub worker nodes. In order to be able to share intermediate result files between nodes in the Workflow, those intermediate result files need to be stored on a location in the shared network filesystem so that they can be accessed by subsequent Workflow nodes, regardless of which Altair SLC Hub worker node those workflow nodes are run on.
Ports and Firewalls¶
All communication into the Hub cluster is via TCP, routed through the Hub ingress server.
Therefore, the only port that needs to be available to client machines (machines outside of the Hub cluster) is the
ingress port on the Hub server machine. By default this is port 9090
, but can be changed if required (see Verify Ingress for details).
Within the Hub cluster, various ports need to be available.
Ports 4647
, 9091
and 9093
need to be available for communication between the Hub server and Hub workers. In addition
Hub will allocate dynamic ports on Hub worker machines in a range 20000-32000. This range can be changed if required (see Dynamic Port Range Configuration for details). However, the whole range of ports must to be visible to the Hub server.
When Altair SLC Hub is installed on a Windows server, the installer ensures that appropriate firewall rules are added to the operating system for the processes that need to expose ports.
Summary¶
Machine type | Port range | Visibility |
---|---|---|
Hub Server | 9090 (default) | Hub clients outside cluster |
Hub Server | 9091, 9093 | Hub workers |
Hub Server | 4647 | Hub workers |
Hub Worker | 4647 | Hub server (not other workers) |
Hub Worker | 20000-32000 | Hub server (not other workers) |
Hardware requirements¶
Memory¶
16GB of RAM is recommended.
Installation hard drive space¶
The initial Altair SLC Hub software installation requires up to 1GB of hard drive space.
Operational hard drive space¶
Log files for the Altair SLC Hub services are captured by systemd and in a default Linux installation are stored by journald. The disk space taken up by the log files is therefore managed by journald and limits can be configured using the standard mechanisms of journald. It is recommended that 50MB of log file space be allowed for Altair SLC Hub log files.
The log files are written to a log directory. Each of the services maintains its own log file. The log files are managed using a rolling strategy, with each service maintaining a maximum of 8 files, each of which can be up to 10MB in size.
The amount of disk space used by the database and the object store will depend on use.
The amount of disk space required by running jobs will depend on use.
It is recommended to have at least twice the amount of fast disk space available as memory on high load clusters as some services will store snapshots of their state to disk.
This is particularly applies to the [var directory]/nomad
directory.
CPU¶
Main server¶
The suggested starting point for evaluation and small workloads is four virtual CPUs. In an AWS environment one m5a.xlarge (or m5.xlarge) would be appropriate.
The number of virtual CPUs can be scaled up as necessary when traffic increases.
Worker nodes¶
In an AWS environment a small number of larger servers is recommended to support memory intensive workloads. The use of burst CPU is not recommended.
The suggested starting point 16 virtual CPUs.
One m5ad.4xlarge would support datasets up to a maximum size of 600 GiB.
If larger datasets must be supported then an i3.4xlarge has 3.8 TB of storage.
Note
When running the Altair SLC Hub for test and demonstration purposes these requirements can be greatly reduced. A single virtual CPU and 8 GiB of storage is usually sufficient.