Generic Functionality for Remote Processing

I have a lightweight laptop and a much more powerful computer in the basement. The powerful computer has my files, and the databases, and it runs many things, but it could do much more. Now, I have generated Melt-scripts in KDEnlive and run in there, but my feeling is that there are starting to be more heavy tasks around where many users could benefit from sharing a big computer in their home, and keep the laptops light. Rendering, transcoding, heavy batch jobs, AI training and inference, Web workers, to name a few.

Is that something people have been working on?

You can use VNC for fully remote desktop experience, or SSH for remote terminal

Yes, but that’s not what I’m looking for. I’m not looking for a remote desktop, a thin client, or just some way to do certain tasks. There are lots of stuff there, and has been for decades.

I’m looking for a solution that uses remote resources when available, and when it can give a good performance gain, or offload processing so that the laptop fan doesn’t need to run.

A very straightforward example of this is the old dvd::rip system. Once the cluster was set up, the workstation used NFS and SSH completely transparently for transcoding DVD rips. The desktop should have functionality that any application could use. Digikam for running batch jobs or maintenance tasks, such as face recognition and tagging, KDEnlive for rendering, and transcoding proxy clips remotely, get drawing support from a locally trained AI model in Krita. That kind of stuff, transparent to the user.

1 Like

I remember reading of someone who created its Kdenlive projects on their laptop and then let their powerful workstation render the video, because the project file created by Kdenlive is somewhat standardized and can be used in other ways.

Yeah, you can do that by creating a Melt script, and scp that over. You may have to adjust the paths and stuff, but it works, I’ve done it a few times. The UX isn’t awesome though, and I see that this kind of functionality would be useful in more and more context, thus the idea to make it generic.

There would be some tradeoffs, if the data you’d have to pass would be large, it would probably not be worth it, for example. But the case where the data is already on the processing box, it is basically just about passing the commands to it and collect the results, or the case where the data to pass and the result is small, it would clearly be well suited.