I was wondering if anyone knows how to accomplish this, that is the simultaneous operation of several computers on a single task.

I'm curious, because I have several older desktop boxes, and I kinda thought it would be really cool to network them together and figure out a way to parse out jobs between them so each computer can work together as if they were a single computer.

If this isn't possible, then is there any way to do something similar?
Thanks, all!

Dani AI

Generated

For : yes — you can make several older desktops work together, but the right approach depends on the problem. If the work splits into independent chunks (rendering frames, independent simulations, batch transforms) you can get useful speedups with simple dispatching. If the parts need frequent, low-latency communication, you will want a message-passing library and a proper cluster setup. As noted, frameworks exist that handle the networking so you can focus on splitting the work.

Pick the tool by workload:

  • Embarrassingly parallel / high-throughput: use a simple SSH/rsync dispatcher, GNU Parallel, or a scheduler like HTCondor (GNU Parallel, HTCondor).

  • Tightly-coupled, MPI-style parallelism: use MPI implementations such as Open MPI or MPICH (Open MPI, MPICH). Typical run command looks like:

    mpirun -np 8 -host host1,host2 ./my_mpi_program
  • Volunteer-style or wide-area grids: BOINC is purpose-built for heterogeneous, distributed desktops (BOINC).

Quick practical checklist to get started on a home cluster:

  • Choose a head node to coordinate jobs.
  • Make environments uniform: same distro/packages or use containers to avoid library mismatches.
  • Set up passwordless SSH for the launch user and share hostnames (or DNS)/hosts file.
  • Share input/output via NFS or push jobs with rsync/scp.
  • Sync clocks (NTP), disable sleep/power saving, and test network (ping/iperf).
  • Start with a tiny test job and scale up; use a scheduler (HTCondor/SLURM) when you need queuing and reliability.

Cautions: network latency and bandwidth matter — tightly-coupled MPI on a slow home network often performs worse than a single faster machine. Consider power and maintenance costs of many old PCs. Run small benchmarks first and pick the simplest framework that fits your problem.

Recommended Answers

All 3 Replies

Something like this?

As usual, JP, you have insane amounts of varying random knowledge.
So this PVM separates out a process to be done simultaneously in several computers? This is sweet, but how hard is it to program something to work simultaneously on several computers with PVM?

>As usual, JP, you have insane amounts of varying random knowledge.
If you're referring to Google, then yes, you are correct. ;-)

>So this PVM separates out a process to be done simultaneously in several computers?
The way I understand, you would probably split up your program into threads, which you would send to individual computers for processing.

>how hard is it to program something to work simultaneously on several computers with PVM?
Probably not much more difficult than multithreading. After all, PVM takes care of the core networking, so all you have to do is use its framework. However, I've never used it before.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.