Stephen's Suggestion
My current work within PVM involves cluster computing - Earlham's CS web pages indicate that the CS dept has a cluster of PIII machines in a hypercube configuration.
The current version of PVM supports a "clusterized" version under LINUX. The reason for a cluster version is - as you know, PVM has a master daemon that is the conduit for communication setup for all nodes. This presents a problem for a cluster where compute nodes may not be exposed to the external network - they are on a private network - and a subset of the cluster nodes have the ability to communicate to the outside world (as in a gateway or portal). Thus, communication coming from a private node must be routed through one of the gateway nodes. (Note that this problem also arises for "direct" node to node communication if one node is outside of the local cluster's network) A portal node will have multiple NICs (ethernet cards) with at least one to the private net and the other exposed to the external net. Communications come into one and out the other.
With that description - there are three things I would like to see.
1. many example codes that explore the limitations and capabilities of
the "clusterized" version of codes.
- will require writing application codes that use PVM.
- explore the scalability limitations of routing through a node
- other scalability issues...
- other limitations...
- how to best exploit this capability in multiple cluster environments
- documentation for use (we have little for this now)
2. a Windows2000/NT port of the LINUX clusterized codes.
- will require actually "hacking" the PVM codes itself and testing outcome
3. do task #1 for the #2 task...
------
Task #1 is likely the most realistic for a semester level course as it will require a) understanding how to use PVM and the new cluster features. b) analysis how to exploit its strengths and weaknesses. c) writing parallel distributed codes. d) how to write correct documentation.
Task #2 will be more complicated if you don't have the sufficient resources and experiences with both LINUX, Windows2000 (good luck...), NT, and PVM.
Task #3 - well, difficult as requires #2 completed first...