Avoiding Message Conflicts Between Modules



next up previous contents
Next: Extensibility by Users Up: Introduction Previous: Division of Processes

Avoiding Message Conflicts Between Modules

libraries, safety modularity Library routines have historically had difficulty in isolating their own message passing calls from those in other libraries or in the user's code. For example, suppose the user's code posts a non-blocking receive with both tag and source wildcarded before it enters a library routine. The first send in the library may be received by the user's posted receive instead of the one posted by the library. This will undoubtedly cause the library to fail.

The solution to this difficulty is to allow a module to isolate its message passing calls from the other modules. Some applications may only determine at run time which modules will run so it can be impossible to statically isolate all modules in advance. This necessitates a run time callable system to perform this function.



Jack Dongarra
Fri Sep 1 06:16:55 EDT 1995