[comp.unix.wizards] Multiprocessing via sockets

sidana@neon.Stanford.EDU (Ashmeet S Sidana) (03/13/91)

In article <4306@skye.ed.ac.uk> rbs@bute.ed.aiai (Robert Scott) writes:

>I want to generalise the system. I want an unlimited number of machine to
>be able to communicate. I can see that on each machine I need to create
>an array of sockets of length N (the number of machines) so that each machine
>can talk directly to any other.
>How do I do this cleanly? 

If your communication requirements are not too high then you could just
communicate through one socket (with everybody listening), whereby the first
byte would indicate which machine the message was for (assuming < 255 machines)

Of couse you have esentially "sequentialized" all communication here.

Note this is != to sequentializing all processing!

How much/how frequent is the communication?

---Ashmeet Sidana
   sidana@cs.stanford.edu
   Stanford University.

werner@aphrodite.inesc.pt (Werner Hans Peter Vogels) (03/13/91)

In article <4306@skye.ed.ac.uk>, rbs@bute.ed.aiai (Robert Scott) writes:
|> I'm trying to turn a network of Sun4s in a multiprocessor executing a
|> parallel language.
|> 
......
|> 
|> I want to generalise the system. I want an unlimited number of machine to
|> be able to communicate. I can see that on each machine I need to create
|> an array of sockets of length N (the number of machines) so that each machine
|> can talk directly to any other.
|> How do I do this cleanly? 
|> 


I would advise you to look into the world of distributed computing (atomicy,
broadcast/multicast protocols, workboard algoritmes etc) before you go
any further.

It would be a good thing if you also looked into the ISIS toolkit from Cornell
University wich gives you must of the tools you need for distributed computing
under UNIX.

Werner Vogels (werner@inesc.inesc.pt)
INESC - Distributed Systems Group
Lisboa - Portugal