1 |
jmc |
1.1 |
Issues with the current coupler: |
2 |
|
|
|
3 |
|
|
It should have been written in C. |
4 |
|
|
|
5 |
|
|
It should have more "safe mode" timeout options. For example |
6 |
|
|
poll for receiver ready before sending to catch deadlocks. |
7 |
|
|
Poll for receive and trap too many spins waiting |
8 |
|
|
for an event. |
9 |
|
|
|
10 |
|
|
There is only one coupler. |
11 |
|
|
Coupler has no concept of being "tiled" itself. A heirarchical |
12 |
|
|
structure of coupled "couplers" could be envisioned. |
13 |
|
|
Only one tile set per process can be registered. |
14 |
|
|
|
15 |
|
|
No real support for multi-threaded codes. |
16 |
|
|
|
17 |
|
|
Coupler itself is pure sequential |
18 |
|
|
|
19 |
|
|
The coupler only supports transfer of two-dimensional fields. |
20 |
|
|
|
21 |
|
|
Wrong name errors are not trapped clearly. |
22 |
|
|
|
23 |
|
|
Consistency between components is hard to validate. |
24 |
|
|
|
25 |
|
|
Coupled setup consists of a coupling layer plus one or more component |
26 |
|
|
models and communications API for talking between the coupling |
27 |
|
|
layer and the components. |
28 |
|
|
|
29 |
|
|
Coupling layer really provides two functions |
30 |
|
|
|
31 |
|
|
1. An limited form of associative storage into which component models can export |
32 |
|
|
data and from which component models can import data. Data is exported |
33 |
|
|
and imported using a text string to identify it. Abstraction is similar |
34 |
|
|
to that of a simple file system. There are implicit synchronisation |
35 |
|
|
rules that need to be adhered to. Could be extended to allow file system |
36 |
|
|
access and/or http based communication. |
37 |
|
|
|
38 |
|
|
2. Extrapolation and interpolation modules which are used to map |
39 |
|
|
data between component models having differing grids. |
40 |
|
|
|
41 |
|
|
Associative Storage Function |
42 |
|
|
============================ |
43 |
|
|
Data is exported and imported using a text string to identify it. Abstraction |
44 |
|
|
is similar to that of a simple file system. In the current coupler |
45 |
|
|
implementation there are implicit synchronisation rules that need to be |
46 |
|
|
adhered to. A component model cannot asynchronously request data. Could be |
47 |
|
|
extended to allow file system access and/or http based communication. |
48 |
|
|
|
49 |
|
|
Extrapolation and interpolation |
50 |
|
|
=============================== |
51 |
|
|
This maps data between different representations. |