Page 1 of 1

How does clustering work????

Posted: Sat Apr 05, 2003 12:00 am
by tom1000000
Hello,

I was just reading up about clusters and am not quite sure how they work, in terms of processes and threads etc.

As an example say there is a 4 node cluster.

Process PID 1 starts running on node A.
Process PID 2 then starts and the OS places it on node B.

Its obvious there are performance improvements in the above scenario, compared to just 1 computer.


What happens if Process 1 creates a new thread? Can the new thread run on node C?

As threads from the same process access the same virtual address space, is it possible to run multiple threads on different nodes?

How do Oracle clustered databases work? Is it multithreaded or a separate process created for each database query????

Also, what happens with IPC on a cluster? Shared memory would be a lot of fun. I guess it just gets more complicated for the OS.

RE:How does clustering work????

Posted: Sun Apr 06, 2003 11:00 pm
by Anton
You totaly don't get it. Clustering means that many(like 16) coputers work "together". The only thing which "connects" them is a network(a regular TC/IP or high speed like Scali). You don't even have to run the same os all the nodes!(You can run Windows on some, and Linux on others)
So things like processes and their threads exist only on one node. There is no such thing as "Process PID 2 then starts and the OS places it on node B." There is no OS for the whole cluster. An os on one node can't place a process on some other node.
Ofcourse there exist some packages to "run a program on the cluster", like MPI.
Anton.

RE:How does clustering work????

Posted: Sun Apr 06, 2003 11:00 pm
by krillzip
Actually I wounder myself how clustering works!
On the SQL Server I guess you have to run one instance on each one of the machines, and the instances cooperate to speed up the operation.
But on the Xserve under OS X Server you should be able to run a cluster where the kernel in some kind of a way shares the work over several machines.
Apple did even release a striped down Xserver model (http://www.apple.com/xserve) with extra CPU power for the
purpose of clustering. So I guess that this in some kind of a way are implemented in the kernel of Mac OS X Server so that the programs don't have to bee written for clustering. It's on the kernel level.

Well, I don't know much about clustering, so tell me if I'm wrong.

// krillzip

RE:How does clustering work????

Posted: Mon Apr 07, 2003 11:00 pm
by Anton
I don't think it's possible to write a kernel, so that programs will be run on a cluster, since the method totaly differs. It is possible that a whole process( with all of its threads) is run at some node, when multiple users connect to this cluster and use it's resources as a whole. But it's impossible that it will correctly run threads(from the same process) on different nodes, since it will be imposible to make them share the memory. But ofcourse you can "On the ... you have to run one instance on each one of the machines, and the instances cooperate to speed up the operation." Thats exactly how MPI works and how clusters are used as a whole.
Anton