Seeking server requirements for initial Cendio deployment

Hi Cendio Community,

Long-time follower of this product and soon to be a first time user of it.

In my currently position, I support mathematicians from around the world on Springdale Linux, which is a Linux distro based off of RHEL. The overwhelming majority of our mathematicians use the office computer that we supply them or their own personal equipment to perform their research.

We are looking for Cendio to provide remote access to math software apps while the mathematicians are both on and off campus. We expect the initial load to be ~ 10 - 20 users. They will be using a variety of applications including, but not limited to: TeXLive and various editors, Mathematica, Maple, Matlab, Firefox, Chrome, Thunderbird, Evince, Okular, Zoom, VLC, LibreOffice, etc.

I’ve read through the Cendio Server Requirements info (3.2.  Server Requirements) and am now coming up with some initial hardware configurations. We are a Dell shop, so I’ve been looking at the following:

R740
2 - Intel® Xeon® Gold 6230 2.1G, 20C/40T, 10.4GT/s, 27.5M Cache, Turbo, HT
256 GB RAM
RAID 1 HD Config - not sure storage needs right now; user home directories mounted on NAS.
Broadcom 57416 Dual Port 10GbE BASE-T & 5720 Dual Port 1GbE BASE-T, rNDC
Dual Power Supplies

For those of you that have used this product for some time now, I’d appreciate some guidance on this. Any recommendations or suggestions you can offer would be greatly appreciated!

Thanks and best wishes,

Kevin

1 Like

Hi Kevin

There will be people here with more experience than me running different hardware configurations (I know we have some #matlab users here for example), but perhaps I can give some general advice.

Server requirements are tricky one to answer, since nearly all of the load will be produced by the OS and applications being run by your users, rather than ThinLinc itself. So it is very specific to each use case. The best way to gauge requirements accurately is probably with a proof-of-concept installation, and a handful of “test” users. This way you can not only monitor your users’ resource usage, but it also gives them the opportunity to give any feedback from an end-user perspective.

(Note that it is important to test with more than one user, since certain resources will not scale linearly. For example, 3 users will tend to require less than 3 times the RAM of a single user, due to shared libraries etc.)

I can’t see anything wrong with the system you describe above, but one thing to think about is whether you want to run ThinLinc on a single machine, or in a cluster configuration. If you require server-side graphic acceleration, then you will also need to think about a GPU.

HTH

1 Like

Hi Kevin,
I fully agree with Aaron - it’s not the ThinLinc part, that you need to worry about, it’s the applications, and how the users make use of them on the ThinLinc setup. Let me share some experiences from our setup (we have used thin clients for more than 20 years, and ThinLinc for 15+ years). You can also take a look at this webinar.
First of all, why would one of your users run something like Maple or MATLAB on the ThinLinc server? It might be due to licensing issues (no license on the laptop, only for the ThinLinc server), or because the laptop is not powerful enough. The latter is very common in our setup - and this can spoil the fun! Imagine one or two users, who use MATLAB/Maple/Mathematica on very large problems, using a lot of memory and/or CPU resources (the default for most of those applications is to use ALL available cores) - and maybe also generate some I/O. This will slow your machine down, and thus have an influence on ALL users. In the worst case, a crash of the application might take the whole machine down, and thus hit all ThinLinc sessions!
I know that this is something like a ‘worst case scenario’, but it can happen, and then you need to think about a better setup. There are several ways to solve this, e.g. adding more ThinLinc servers (vsmagents) to your setup (cluster configuration), to distribute the ThinLinc sessions and the load over more machines. Another way is to add dedicated compute nodes to your setup, and start the applications on those, with the DISPLAY variable set to the ThinLinc server. This solution is used at our site - see the webinar above (jump to minute 12) - but it also requires a little more than just installing ThinLinc, e.g. a scheduler like PBS, Slurm, etc, to distribute the applications to the compute backend. In fact, we run a combination of both: a ThinLinc cluster with 4 nodes, to serve the desktop sessions, and a cluster of ‘application nodes’, where the computations are executed. This is a very scalable solution, and allows us to serve several hundred ThinLinc sessions simultaneously - with (almost) no risk, that a resource hungry application slows down - or takes down - the ThinLinc sessions.
You can also check the other #webinar sessions in this forum, to see what others are doing.
tl;dr Your server looks fine, but be prepared that the usage might exceed the capacity sooner or later. Then you can use some of the strategies outlined above.

3 Likes

Further guidance can be found in the #knowledge-base article “What are the hardware requirements for a ThinLinc server?”.

1 Like