0

I have a laptop with a busted l.c.d., but otherwise works fine with an external monitor. I was wondering if it is possible to connect it to my main pc as an extra processor(main pc is getting old, it's only single core processor) and if so how? I currently have them connected with a network cable so that I can access the laptop's hard drive but would like to use it to give my pc a bit more power. Both my pc and my laptop have 2 gb ram and are running windows vista sp2

MMK
  • 78

1 Answers1

0

There are different ways of getting more parallel processing power.

One is putting a second processor into the same computer. Another way is installing two computers and connecting them. Both is possible, but what you can do with both solutions depends on the programs you use.

Some basics: on Windows you can have multiple processes. Each process can have multiple threads. The Windows schedulers decides which thread (not process!) runs on which CPU and when. This scheduling is built into Windows, it is a core functionality.

When you have a program that shall do two things in parallel, for example show a responsive GUI and do some background calculations, then you normally write two threads. If you only have one CPU, then the threads will run serialized. If you have two CPUs, then the threads will run in parallel. If you have four CPUs, then the threads will run on two CPUs and you have two CPUs left for other threads (from other processes).

All this is only done on one computer. Windows is only scheduling threads on the same computer. So if you want to speed up an image processing program, you need more CPUs inside your computer.

There are parallelization systems available which consist of different computers. These systems come with a framework that give you the extra functionality that is needed to do multi-computer parallelization. Two CPUs in one computer share the same memory, so you can easily move a thread from CPU1 to CPU2 and vice versa. But two CPUs in different computers can not directly access the same memory, so a way is needed to move a program and it's data from one computer to another computer. This is achieved by using the special framework.

There are a lot of Windows applications that only support one thread, there are a lot of Windows applications that are multi threaded, but I have not yet seen a standard application that supports running in parallel on different machines. Last time I have seen that in real life was at the university in a parallel programming course :). So to make it short, in theory you could use the second computer to speedup your tasks, but in practice you won't be able to do so. If you want to use the extra speed, then you will need the extra tasks in extra programs and run those programs manually on the other computer. Or you will need to write your own programs that can distribute the calculations over multiple computers.

Werner Henze
  • 4,977