This program is going to be challenging
-
Indexing of arrays will be difficult
-
Owner-computes rule difficult to apply
-
Key technique: inspector-executor communication
-
First time the code is executed, generate a table of required communication at run time (inspector)
-
Problem: How big does that table get?
-
Problem: How do you efficiently distribute that table to all processors?
-
Use this table to manage unstructured communication until the communication pattern changes (executor)
-
Problem: How do you know the pattern has changed?
-
Commercial compilers are attacking these problems, but there is a long way to go
|