Suggestions for designing a network

In the overview of how to use Gestalt, I explained the reasoning behind running two servers and coupling them together. I think that a carefully designed network (or network of networks, if you like) would have the potential to be a very powerful virtual machine. On the other hand, an improperly designed network may very well waste a good portion of it's time sending task objects back and forth between two servers so loaded that neither will ever have the opportunity to queue the task on a local slave. Unfortunately, I haven't had the time (or machines) to experiment extensively with network design. Thus, all I can really offer here are some tips for 'helping' the network balance itself properly.

You may be tempted to connect each of your servers to all of the others, forming a mesh. This is not necessarily the best idea, as it does not take into account the possibility that sending a task from one server to another may actually cause it to pass by one of the other servers on the physical network layer (on the Internet, there is a fairly good probability that this will happen). Instead, only connect together servers that are 'next' to each other on the physical network.

I am surprised to report that I have no other hints. Perhaps there will be some more once I have had the opportunity to experiment more with network design. Sorry!


Last Modified: 7/24/97 by jack@cs.hmc.edu