Tell me more ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

In networking we share File(Disk Driver) or Databases. But how can we share CPU or RAM over the network.

share|improve this question
1  
The problem with doing this is that compared to the nanosecond-scale latencies between CPU and RAM, a network is incredibly slow! – Phoshi Mar 12 '11 at 1:06

2 Answers

To do this the program(s) accessing the CPU/RAM resources must be specifically designed to access said resources. A system set up in this manner is called a cluster, and the typical way resources are shared is with a protocol called MPI (message passing interface). It is a free download and using it with Linux can yield a powerful cluster (possibly even a super computer) for minimal cost, but again it is useless unless you have programs that were specifically designed to take advantage of MPI. There are some good cluster tutorials out there, if you are still interested you should check one out.

Edit:

I would recommend the tutorial here if you want to set up a cluster. I made a cluster by following this tutorial about a year ago and it worked pretty well. The tutorial is a bit old, so some files may not be exactly where the tutorial says they are (sometimes files get moved around in different/newer Linux distros) but if you are the least bit familiar with Linux it should not be an issue. The tutorial uses an older version of MPI, but I used the newest version and had no issues that were not easily resolved. Depending on what you are doing there may actually be a program out there that can take advantage of MPI. I know there are some video encoding and number crunching programs that take advantage of MPI that can be downloaded from universal sources.

share|improve this answer
please tell me some references. – MJH Mar 12 '11 at 1:31
@MJH see my edited answer. – typoknig Mar 12 '11 at 5:59
thanks.but this tutorial work on Linux and I use Windows.also by this,application must write under MPI,and its constraint. – MJH Mar 13 '11 at 21:48
1  
@MJH if you want to work with Windows then you just need an MPI library that works with Windows, but the concept is the same. MPICH works with Windows, or you could build your Windows cluster with Windows HPC (has built in MPI conductivity) if you have some coin to drop. While this does let you use Windows, your will still have to use programs written for MPI, there is no way around that at this time. – typoknig Mar 14 '11 at 3:12

You can share RAM using RAM disks, but that looks just like sharing normal disks, except that these are in another computer's RAM. There is no direct way for one computer to use another computer's RAM as if it was its own RAM, but there are some ways to use other computer's RAM. More on that in next paragraph.

As for CPU sharing, it's possible but there is no single standard for it. You can't just share it and let another computer take needed resources. Instead you need to have specifically designed applications which can work on several computers at one. This is often called distributed computing and is used by some research projects such as SETI@Home, Einstein@Home, Climateprediction.net and many others.

Basically programs work in such way that there is one central server which distributes the work which needs to be done. Computers on network download work units from central computer and process them. After that central computer receives results from clients and merges them into one cohesive result. This way computers "share" CPU and RAM resources over network. The downside of this is that programs need to be made in such way as to work over network and right now distributed computing isn't popular enough among common uses for a computer so only a small number of specialized programs support it. On the other hand, it is commonly used for scientific purposes as it is cheaper to obtain large number of personal computers or playstations 3 than it is to obtain access to a mainframe computer.

share|improve this answer
is there software for share my application in my network?without need to foreign network!(for ex. i want rendering a file,that my PC render this in 7days,but i share this to my network and rendering reduction to 1 day? – MJH Mar 12 '11 at 1:19
@MJH Unfortunately, I haven't heard of any programs which could to that for rendering. – AndrejaKo Mar 12 '11 at 8:03
sharing ramdisks is kinda pointless though isn't it? You get the volatility of ram, with the slowness of network attached storage – Journeyman Geek Mar 30 at 6:11

Your Answer

 
discard

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.