Which type of cluster is capable of memory sharing?

Elledan

Banned
Jul 24, 2000
8,880
0
0
'Memory sharing' meaning that all of the nodes in the cluster can use the memory of other nodes as easily as their own memory.

I know that cluster types like MOSIX are in the process of implementing this feature, but I've no time to wait for that ;)

The requirements are that this cluster type should not be too hard to use, will work with near-obsolete hardware (P166 etc.), be free (for personal use), and run on an OS like Linux.

Any suggestions are welcome :)
 

Locutus4657

Senior member
Oct 9, 2001
209
0
0
Actually shared memory means all your CPU's physically share memory i.e. are all in the same box. There are software packages which allow you to simulate a shared memory MP computer in a distributed environment, however this is just a simulation and you will lose preformance because of this.

CArlo



<< 'Memory sharing' meaning that all of the nodes in the cluster can use the memory of other nodes as easily as their own memory.

I know that cluster types like MOSIX are in the process of implementing this feature, but I've no time to wait for that ;)

The requirements are that this cluster type should not be too hard to use, will work with near-obsolete hardware (P166 etc.), be free (for personal use), and run on an OS like Linux.

Any suggestions are welcome :)
>>

 

Locutus4657

Senior member
Oct 9, 2001
209
0
0
You can however play around with distributed computing packages such as Beowulf, I'm not sure about the cost but you should be able to set something up fairly cheaply... Then all you have to do is learn the MPI C++ (or C) library and there you go. Not so difficult to program for, assuming you know all about the issues involved in parralell and distributed processing and know when you actually gain something.



<< 'Memory sharing' meaning that all of the nodes in the cluster can use the memory of other nodes as easily as their own memory.

I know that cluster types like MOSIX are in the process of implementing this feature, but I've no time to wait for that ;)

The requirements are that this cluster type should not be too hard to use, will work with near-obsolete hardware (P166 etc.), be free (for personal use), and run on an OS like Linux.

Any suggestions are welcome :)
>>

 

CSoup

Senior member
Jan 9, 2002
565
0
0
In general, shared memory without special hardware support will be very slow. If you don't have access to hardware supported shared memory machines like the SGI origins then I would suggest using message passing on your cluster with an API like MPI. If your software is already written for a shared memory environment then you can try finding a software package, but don't expect great performance.
 

Burner

Member
Oct 25, 1999
85
0
0
You need a lot of bandwidth for shared memory. Gigabit ethernet might work. I'd suggest using a message passing protocal instead. If you really want to do it, I think S-Connect allows you to cluster sparc box together. Usually shared memory is on one physical server because of the high profit margins associated with the server.
 

CSoup

Senior member
Jan 9, 2002
565
0
0


<< You need a lot of bandwidth for shared memory. Gigabit ethernet might work. I'd suggest using a message passing protocal instead. If you really want to do it, I think S-Connect allows you to cluster sparc box together. Usually shared memory is on one physical server because of the high profit margins associated with the server. >>



Bandwidth is always an issue with parallel computing. Message passing performance is also limited by the interconnect you use. Go for the fastest network you can afford since likely you will be shipping a lot of data over the network and it will end up being the performance bottleneck. The real performance penalty of software only shared memory is the overhead of managing the shared memory. Without dedicated node controllers handling stuff such as cache-coherency and address translation, the cpu on each node must do this work which takes valuable cpu cycles away from computation.
 

Elledan

Banned
Jul 24, 2000
8,880
0
0
What would happen if the nodes had only access to their own memory and the memory of the node would be full? Would it just swap to the HD?

BTW, I was thinking about buying an 8-16 ports 100Mbit switch.