OS2 World Community Forum

OS/2, eCS & ArcaOS - Technical => Setup & Installation => Topic started by: Mentore on April 15, 2022, 08:26:23 am

Title: Cluster solution (AKA parallel programming) on OS/2 architecture?
Post by: Mentore on April 15, 2022, 08:26:23 am
Hello all. Just a few thoughts here.
I recently was given some eeePC net-top boxes (Intel N160/270, 1 GB RAM, 160 GB hard drive each) mounting Windows 7 OS, and found they are perfectly targeted by linux distros.
Somehow the idea of connecting them in a private LAN and using them as a parallel PC solution (clustering) came to mind and, lo and behold, I found a Linux solution for this. Basically this should turn a group of PCs roughly identical in computing power in a "single" machine working on all the CPUs and resources of its components. This would mean having a "single" 7 CPUs PC with 14 GB RAM and more than 1 TB MSD, expandable adding other machines (more or less: of course there's much overhead due to LAN and other quirks).

And it's all OK and right. But: I was wondering if somehow a similar solution exists (or could exist) on OS/2 architecture? I seem to remember there was a PVM (Parallel Virtual Machine) software on Hobbes but never gave it a try.

I'll look at https://www.csm.ornl.gov/pvm/pvm_home.html (if it still exist) and maybe study a little. In the meantime I'd love to hear your opinions (having a 8 CPUs OS/2 machine with 16 GB RAM would be fun).

Mentore
Title: Re: Cluster solution (AKA parallel programming) on OS/2 architecture?
Post by: Martin Iturbide on April 16, 2022, 02:24:24 am
Hi Mentore.

First, congratulation for your newborn baby.

I don't know abut Parallel computing. For what I know (and I been told) it is used for calculations that can go faster if you use multiples CPUs in a kind of network, and for what I read it requires some specific programming. It seems it can be used for some Matlabs calculation and similar things.

I still do not know what will be the main use of pararllel computing on OS/2, maybe it will be good to get some samples that runs on PVM and see how much time it takes the calculation on a single machine, and later run it on two or three machines in parallel to see the "magic" :)

But I don't know any other use of Pararallel computing beside statistics calculation, maybe someone with more knowledge can give us more examples.

Regards
Title: Re: Cluster solution (AKA parallel programming) on OS/2 architecture?
Post by: Dave Yeo on April 16, 2022, 03:47:49 am
There's distcc, https://www.distcc.org/ (https://www.distcc.org/) to spread a build over several machines, be handy for example Mozilla which with -j5 (5 jobs so all 4 cores are usually busy) takes over an hour and a half here.
Could probably be ported, it would need to be made aware of the OS/2 specific GCC switches such as -Zomf.
Title: Re: Cluster solution (AKA parallel programming) on OS/2 architecture?
Post by: Neil Waldhauer on April 16, 2022, 03:37:09 pm
I think we can probably get enough cores in one machine. The Ryzen ThreadRipper 3990X desktop PC processor already has 64 cores, the maximum possible with the OS/2 kernel.

What might help more for building the browser is cross compiling to OS/2 on a 64 bit platform.
Title: Re: Cluster solution (AKA parallel programming) on OS/2 architecture?
Post by: Dave Yeo on April 16, 2022, 07:37:09 pm
Throwing more cores at it results in diminishing returns as you have memory and storage bottlenecks. Even 4 processes each allocating a GB of memory and a couple of GB's of temporary disk space will bring the system to its knees.
While cross compiling would be best as even running 32 bit programs on a 64 bit system gives the full 4GB's of address space there's other simple speedups such as ccache where only changed files are recompiled instead of a header change triggering a full rebuild.
Anyways, it was just an example of distributed computing.
Title: Re: Cluster solution (AKA parallel programming) on OS/2 architecture?
Post by: Dariusz Piatkowski on April 18, 2022, 04:13:02 am
This is a purely academic example, but you could use such an architecture to build a better Machine Learning model, here is why:

1) to some extent this depends on the ML architecture you want to use, but vast majority of computing and memory access is LOCAL, that means each one of the machines has the full MEM<=>CPU bus available to a smaller sub-set of the overall ML model, therefore the computations run faster

2) of course the coding required to do this - if you are starting from scratch - would require you to use some kind of parallel computing APIs, not sure to what extent the existing ML libraries (Python based stuff like Tensor, etc.) are capable of scaling up like this

This would work very nicely...way back I built such a ML model that did edge recognition in an image, and the follow-up was speaker recognition based on normalized (GSM compression) audio feed. This was not a sophisticated archtecture, basically several layers of varying sized networks, all using straight-forward backpropagation learning...needless to say, the final error (GLOBAL) minima took a while to get to. I would routinely train the darn thing for 2-3 days only to discover that my model was getting stuck in a LOCAL minima.

That was a C++ code, my undergrad thesis and let's just say we are talking here the mid-90's (LOL...damn, that flew by).

Anyways, if I needed to build that now, a parallel architecture like what you are describing would be more scalable. Of course you'd be hard pressed to beat a fast GPU, which can sit in a single machine where the CPU off-loads majority of the computation over to the GPU and uses it's local memory anyways...like I said, purely academic, but oh so fun to consider!!!
Title: Re: Cluster solution (AKA parallel programming) on OS/2 architecture?
Post by: Mentore on April 19, 2022, 08:15:36 am
As always, you all are a really rich source of information!
I'm following this thread and will see when I'll have time to put my hands on an ArcaOS machine (or more than one). Currently I'm struggling to find some spare time to try the betas for NLVs.

Mentore