12

I have two desktops, one of which I'm using as a server. My main machine has a weaker i5 cpu, my server has a stronger i7 cpu. On my main machine I am experiencing stutters because the CPU often runs at full load under regular use.

I was wondering if there was any possible way to share a cpu from one machine over network to another machine as an emulated processor, which could be used by the client machine in a similar sort of fashion as virtual machines use or "borrow" their host's cpu.

This way I could offload work onto the server's cpu when the main cpu is under full load to prevent annoyances like stutter, and possibly combine both of them for more intense tasks (like decryption, compilation, archiving or other multithreaded stuff)

Does this sort of software exist, or has anyone at least tried to make it? If not, is it feasible?

(This sort of program would also ideally be able to offload data onto the server's RAM for faster processing, since the now common gigabit connections get to have nearly the same speeds as a standard HDD this doesn't sound far fetched either)

To reiterate, what I am primarily looking for is the ability to offload work from a system's main cpu when it is under too much load and forwarding it to another computer's cpu over network.

5
  • 4
    Yes this kind of thing is generically possible (look at Beowulf clusters), but requires purpose specific OS and applications to actually make use of it, so its largely useless except for supercomputer applications . You won;t be able to put something like this together without a team of knowledgeable folks and monetary resources. en.wikipedia.org/wiki/Beowulf_cluster Apr 12 '16 at 19:12
  • @FrankThomas that's cool, too bad it requires an OS designed for this specific purpose though, since I want to be able to keep using my server for the things it is already used for. But at least the concept and application is in use, so that's a start. Also seems like it can't be used cross platform can it? e.g. can't use a linux or mosix based beowulf cluster and use the cpu for windows or os x.
    – Cestarian
    Apr 12 '16 at 19:14
  • 1
    You should look at why your Chrome is using so many resources. There is a relevant thread at productforums.google.com/forum/#!topic/chrome/xRflOyvjcHg
    – davidgo
    Apr 12 '16 at 19:24
  • @davidgo oh I'm aware (many many tabs... although it seems one is using 2GB right now; similarly saw there was a chrome tab using 25% of my CPU, an entire core, and it was a website that wasn't even loaded...) this is kinda off topic though. But honestly I'm looking to migrate away from chrome, I just don't know which alternative I want yet. I just want to compartmentalize my use of google services as much as possible.
    – Cestarian
    Apr 12 '16 at 19:29
  • You can compartmentalize it by running it in a VM - although if you use video it may not be a smooth experience depending on the VM technology.
    – davidgo
    Apr 12 '16 at 19:51
12

At a fundamental level, the answer is yes, but you can't do this in the way you are thinking.

Supercomputers use this tactic to provide incredible computing horsepower, but they are nothing more than a cluster of regular ol' computer systems (called nodes) that cooperate to process a particular task. They have control software that farms out individual work units to various nodes to be calculated independently. The CPUs in such nodes are not communicating with each other per se. An application running on one of the nodes is coordinating the work, much like a project manager would coordinate the members of a team to complete a project.

Such a supercomputer setup requires:

  • An operating system that is designed for this purpose, installed on each node in the cluster.
  • Control software that can parcel out the work to each node and coordinate the result data received from them.
  • An application that can break a problem down into discrete work units, written in the control software's language.

So in your situation, no, you can't combine the CPU and memory of your two computers to make Google Chrome perform faster.

2
  • Ah so it's possible, it's being done, but none of the current implementations target desktop acceleration and none of them support being used for general purpose processing even if it would be possible. Guess this is the only answer available today, hopefully tomorrow though...
    – Cestarian
    Apr 12 '16 at 23:27
  • If Chrome was running of both computers, individual tabs could be running on either node, with the graphics being streamed, it's just that nobody has made this yet.
    – Alexander
    Sep 11 '19 at 16:55
1

This is known as CPU interleaving. I believe you need a compatible BIOS on both devices along with smart cards. However, interleaving is designed to be run over dual port fiber cards (not LAN).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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