Skip to content
Snippets Groups Projects
TODO 2.95 KiB
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,