Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a spare computer that has Ubuntu server edition (10.04.1) installed on it and was wonder if there was a way to use my server to help processes data on my Ubuntu desktop (same release). I would like to share any heavy-processor functions with my server to ease the load on my desktop. Does anyone know of a good/easy way to do this? They're connected on the same network through a router. I'll list what I think may be relative components for each one below.

Desktop - Intel core 2 quad @ 2.83Ghz

Ethernet controller: Atheros Communications Atheros AR8121/AR8113/AR8114 PCI-E Ethernet Controller (rev b0)

Server - Pentium 4 @ 2.8Ghz with hyper-threading

Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)

share|improve this question
This is extremely dependent on what those processes are doing. A lot of tasks can't be effectively parallelized, and the few that can need to be programmed specifically for parallelization or distribution. So what tasks do you want to distribute? – Gilles Sep 25 '10 at 23:26
up vote 6 down vote accepted

If you're looking for a way to do this for general computer usage, i.e. if you don't have some specific, computationally-intensive mathematical problem in mind, the answer is that it is not possible. Individual programs must be specifically designed to perform distributed computing.

The conceptual explanation is that, in order for another computer to assist with a processing task, the prerequisite input instructions and resources must be completely predicted and passed to the computer ahead of time. Even if the difficult problem of predicting processing tasks can be solved, the overhead involved in sending the instructions and resources to another system is too costly for the kind of processing typically done on a desktop computer.

For distributed computing to result in a net increase in efficiency, the amount of processing input that can be predicted must be large compared to the overhead in communication. In practice, this limits the possible applications to computationally-intensive mathematical problems like protein folding and 3D rendering.

share|improve this answer

Just in-case anyone else comes looking here I thought I'd share what I've found.

There's a project known as LinuxPMI that is designed to share processes between a network of computers configured to use it.

For research purposes as projects may merge and become discontinued this history may help in locating it in the future:

A project called clusterix was created that used openMosix project as it's basis for clustered / grid computing.

share|improve this answer

As stated by someone else, this currently isn't available for general computing. It is available in specialized applications in Linux such as DVDRip. If you're interested in doing a bit of work and have specific generalized tasks that you want to handled, have a look at Bash Reduce, a Map Reduce implementation done completely in bash.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.