Why aren't there external CPUs?

To solve the RAM access issue there is lightpeak or similar high speed buses. At least external GPUs are possible for motherboard's equipped with buses of high bandwidth.

http://www.anandtech.com/show/4474/sony-updates-vaio-z-thinner-lighter-light-peak-and-external-gpu


The main reason why the new Vaio Z is so much lighter and thinner than its predecessor is the lack of a discrete GPU. It comes with Intel HD 3000 which is integrated into the CPU die, whereas the old Vaio Z came with a discrete NVIDIA GT 330M. However, Sony has provided an interesting solution to this. They have announced a Power Media Dock (PMD) which is basically a souped up external optical drive. The external dock has an AMD Radeon HD 6650M with 1GB of DDR3 in it as well. The AMD 6650M allows you to connect up to two displays to the PMD so you can have a total four displays: two attached to the PMD, one attached to the laptop’s HDMI port and obviously the laptop’s integrated LCD.

To make this worthwhile, Sony uses Intel’s Light Peak technology (yes, Sony calls it Light Peak, not Thunderbolt) which provides up to 10Gb/s of bandwidth in each direction. A GPU requires lots of bandwidth which is why USB, especially 2.0, is not suitable for powerful external GPUs.

Maybe external CPUs are not as 'far' away as we think :). What we need is an efficient memory controller!
 
Last edited:
I didn't even think about transfer speeds, I knew it was something obvious... I feel stupid :facepalm:

What would be a reasonable speed for something like this? What about external RAM, GPU... (just in theory of course)
 
IIRC, there were some PCI processors for servers...

There are products like the PowerXCell-8i as well.

http://www.matrix-vision.com/produc...rator-board-with-powerxcell-8i-processor.html

---------- Post added at 08:46 PM ---------- Previous post was at 08:45 PM ----------

I didn't even think about transfer speeds, I knew it was something obvious... I feel stupid :facepalm:

What would be a reasonable speed for something like this? What about external RAM, GPU... (just in theory of course)

It is more common to have multiple computers for rendering a scene in professional scientific visualization in real time. Eg, if you want to walk as dwarf through a running SSME. You then have one computer to control the whole process, multiple mathematical servers to calculate the data that has to be rendered (That is already taking place AFTER the engine was simulated) and multiple rendering clients, that each drive a part of the big 3D screen that you use.
 
I didn't even think about transfer speeds, I knew it was something obvious... I feel stupid :facepalm:

What would be a reasonable speed for something like this? What about external RAM, GPU... (just in theory of course)
The main bottleneck is latency, which really only improves by shortening the distance between two components. That's why, as Urwumpe said, RAM modules are close to the CPU, and why caches are located inside it.

The other possibility is by exchanging electrons with photons, but I don't think it's enough to make the performance hit unnoticeable. Once you get too far from the main CPU, the only possibility is going for bulk computation (GPUs, for example).
 
Last edited:
Extremely. I was wondering what kind of performance you can get with Ethernet like Urwumpe mentioned on the last page.
Couldn't you also use optic fibre? It would probably a lot more expensive, but it's just about the fastest you could get.
 
Couldn't you also use optic fibre? It would probably a lot more expensive, but it's just about the fastest you could get.

you could also use multiple ethernet connections per node. if you put 4 network adapters into a single PC, you can connect 16 nodes as hypercube/Torus, which is pretty powerful for cluster setups to start with.

Also, you usually reduce the amount of data exchanged between different partitions of the calculation. (Not like some Orbiter add-ons, that still paint on textures despite not needing to in the situation *rant*)
 
As hinted at already in this thread, it wouldn't be useful for arbitrary programs, but if you wrote programs specifically expecting this scenario (and not all types of programs could benefit anyway--anything requiring real-time response is out, unless you were using it for something more latency-agnostic like an AI) some benefit could be had. But now you have a chicken/egg problem: there's no hardware for this, so no programs are written for it, and because there's no programs for it no one makes hardware because it wouldn't sell.
 
Back
Top