forked from INCF/MUSIC
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
118 lines (70 loc) · 3.39 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
* MUSIC should report an error for non-existing app label when connecting ports
* MUSIC should report an error when same app label is reused for different sections
* No default value for stoptime in contsink (possibly others)
* Startup hangs for msgtest3.music example (with unconnected port)
* Check problem with port width and random connections (should we use
max of sender and receiver width? patch on spell)
* autoconf test for mpi4py
Things to do in preparation for the music-1.2.0 release:
--- Start music-1.2.0
* E: Make testsuite
* E: (If sufficient time): Better multiconnector communicator creation
algorithm
* M: Complete multiconnector implementation (support for abitrary
number of apps)
* M: Complete Python bindings
* Test that continuous ports work as expected
** Interpolation/non-interpolated case, also with different buffering
and different ITI (inter-tick-interval) for the communication
applications.
* Better README
* Update NEWS
* Update manual (/doc) with new configuration file syntax
--- End music-1.2.0
* OrderedIList should be made more generic and handle insertion of
indices which already exist in the ilist
* remove ProxyConnector?
* remove multiComm member?
* remove leader and nProcs info in scheduler Nodes:s?
* checkpointing
* use duplicate of MPI::COMM_WORLD for setting up inter-communicators
* report error if index maps overlap on the sender side
* for the event router only: join intervals also over "holes" in the
local index map
* duplicate COMM_WORLD and use that throughout library?
* error handling (call MPI error handler)
* revise timing algorithm to allow for loops with 1 tick acceptable
latency where this is theoretically possible.
* connector signature checking when connecting to peers (cont ports:
common MPI data types + unknown + size)
* Check that all administrative objects get deallocated at start of runtime
(for example the objects assoicated with configuration)
* lift out as much as possible of the negotiation stuff from
connectors and move to connections, for example ConnectorInfo and
createIntercomm
* rename Runtime::schedule
* report port name if missing
* alternative implementation for clockstate (not long long)
* Code duplication sampler - distributor - collector - kommentarer
* optional arguments when mapping ports: maxbuffered but not latency
* error message if latency => > maxBuffered
* indexinterval::local --> offset
* Use pass-by-reference instead of pass-by-value where possible
(especially for some strings)
* cleanup constructor arguments in subconnector.cc
* marshalling, for example in temporal.cc, subconnector.cc
* Documentation strings
Optional
* Improve all error reporting (giving more informative messages with names etc)
* Set flags with options to the music utility and transmit them to the
applications so that library behavior can be controlled. E.g.,
print out run statistics, such as part of time spent in tick() when
deleting runtime.
* Join intervals in PermutationIndex and IndexMapFactory
* Th mpidep directory should contain a test binary which is
built and run before anything else is being compiled
* Write piecewise_linear_index and derive linear_index and
permutation_index from it.
* Communicate between ticks using non-blocking communication.
Possible to have two kinds of subconnectors, keeping the current
ones for cases with short acceptable latency,