charm
charm copied to clipboard
CkIO processor placement options are ignored
Original issue: https://charm.cs.illinois.edu/redmine/issues/551
The code documentation for Ck::IO::Options describes "basePE", "skipPEs", and "activePEs" to specify which processors are to participate in an IO session. However, the session array is created without a processor map, so the processors are always allocated with the default map (round-robin?). Inserting debugging statements into the CkIO code verifies that this is the case.
Original date: 2016-02-26 21:11:18
The use of CkIO::Options does not have a use case as of now. The bug was about the misleading source code documentation for CkIO::Options. This was modified to indicate that CkIO::Options is not a stable interface.(Fix: ~~https://charm.cs.illinois.edu/gerrit/#/c/1092/~~ https://github.com/UIUC-PPL/charm/commit/1b2787598a0918b293fb165127c72248b18ff58d)
Original date: 2016-03-03 19:46:55
Knowing that ChaNGa is actually using CkIO for its output in production runs, we can task someone to study its performance if that's a bottleneck, and make things work as they would actually need to in order to improve that.
Original date: 2016-03-03 22:33:30
It looks like the original bug was addressed in the literal sense. Phil's change seems to go towards a more fundamental intuition that the bug report was issued due to someone hunting for performance tuning possibilities in the (unsupported) placement schemes. If there is a use case (perhaps performance related) that requires placement support in CkIO, that should be opened as a new redmine issue, with pertinent details, and refer to this one.
Just to raise awareness of this bug: the documentation for CkIO in docs/libraries refers to Ck::IO::Options PE placement options that don't work. In particular, "skipPEs" is actually "1" and can't be changed.
Another documentation/implementation problem: the "activePEs" is essentially ignored. The number of PEs used for writing is set by the file size and the stripe size.