How to remotely access high performance MATLAB on Linux?
Written by Robert Henschel
11th October, 2022
MATLAB is a computational platform used in many fields of science to run simulations, analyze data and develop models and algorithms. Thanks to the large number of toolboxes available in MATLAB, it has been popular both in industry and in academia. Companies and institutions of higher education are using MATLAB to perform research and development and to teach the next generation of scientists and engineers. To fully utilize the potential of MATLAB, powerful workstations or laptops are required. Providing MATLAB users with such powerful hardware is a challenge for many organizations.
ThinLinc provides a solution to this challenge by allowing convenient and secure access to MATLAB running on high performance computing systems or powerful Linux servers. ThinLinc leverages investments in centralized compute and storage infrastructure by seamlessly allowing many concurrent users access to MATLAB. This provides high performance MATLAB to every user in an organization, including users that can normally not access MATLAB, like users on iPads, Chromebooks and underpowered laptops.
Challenges of providing MATLAB
The popularity of MATLAB has grown steadily since its initial release more than 30 years ago. In particular the availability of toolboxes has contributed to the wide use of MATLAB. Today there are more than 50 toolboxes available, ranging from core mathematical toolboxes for differential equations all the way to image analysis and geospatial mapping toolboxes. MATLAB is also pushing into the deep learning and image analysis domain by providing optimized toolboxes to attract users who are getting started with deep learning and artificial intelligence. Unfortunately MATLAB toolboxes often come at an additional cost, increasing the license cost and making it even more important that MATLAB is used effectively across the organization.
As MATLAB has grown into more and more fields of science, the software became more and more computationally demanding. Recognizing this trend, MATLAB has been optimized to take full advantage of high powered workstations with multi-core CPUs and large amounts of memory. MATLAB has also adopted parallel computing and GPU acceleration. The MATLAB parallel toolbox was released in 2004 and support for GPU acceleration was added in 2010. The MATLAB parallel toolbox allows distributing some MATALB tasks across the processor cores within a workstation and across multiple servers to speed up calculations.
The popularity of MATLAB has created a number of challenges for organizations. First, MATLAB and it’s toolboxes come at a considerable cost. Organizations need to ensure that MATLAB licenses are utilized effectively. Whenever possible, sharing licenses can be a great way to reduce total license cost. A second challenge is providing users with a hardware environment that allows them to fully utilize MATLAB. This often means providing users with high powered workstations equipped with large amounts of memory and GPU accelerators. This again comes at a considerable cost.
Institutions with an existing High Performance Computing System or high powered Linux servers are looking for a way to leverage this hardware to provide users with a high quality user experience of running MATLAB.
Jschlosser / CC BY-SA (Original Source: https://researchcomputing.princeton.edu/external-online-resources/matlab)
ThinLinc enables MATLAB on HPC
The hardware infrastructure of HPC systems is ideally suited for running MATLAB. HPC systems provide powerful compute nodes with dozens or even hundreds of CPU cores per node. Each compute node is equipped with large amounts of main memory, usually more than 64 GByte, sometimes reaching a few TByte. Some compute nodes contain GPU accelerators to speed up computational workloads. HPC systems feature a high performance interconnect, allowing fast access to all compute nodes as well as storage resources. All these characteristics make HPC systems an ideal environment for running a computationally demanding application like MATLAB, that can take full advantage of high core counts,GPU accelerators, large amounts of memory and fast storage.
Traditionally, HPC systems have not been used to run interactive graphical applications and very few graphical applications could make use of the power available in HPC systems. However, MATLAB is an application that can fully utilize an HPC compute node and with ThinLinc users can run MATLAB in a convenient fashion in an HPC system. ThinLinc supports running MATLAB through the batch system, just like any other HPC application. This makes it easy to add this capability to existing HPC systems. In addition, ThinLinc also supports running MATLAB on dedicated nodes, making it even more convenient and easier for users. By allowing for sharing of interactive nodes among users, ThinLinc makes it possible to support multiple users on a dedicated node. The functionality described here is not limited to MATLAB, ThinLinc is a generic remote desktop solution for Linux and thus other applications like SIMULINK or Jupyter Notebooks can also benefit from it.
The ThinLinc client is available as a native application for all major operating systems, making it easy to deploy the ThinLinc client to corporate desktops. In addition, ThinLinc can be configured to allow access through the web browser. The ability to connect to ThinLinc using a standard web browser allows Chromebook and iPad users to access high performance MATLAB.
Driven by the broad range of toolboxes and the intuitive user interface, MATLAB is becoming more and more popular for industry and educational uses. Providing users with high powered workstations to fully utilize MATLAB licenses can be a challenge for organizations. Thinlinc, a remote desktop solution for Linux, addresses this challenge by leveraging HPC systems to provide a secure and convenient way for every user of an organization to access high performance MATLAB.
Robert Henschel is director for Research Engagement at Indiana University. He has more than 15 years of experience in High Performance Computing and has championed the concept of a Remote Research Desktop. He believes that providing users with a desktop environment as a gateway to HPC systems can dramatically lower the barrier of entry for new users and increase productivity of every HPC user.