-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update level assignment algorithm #1865
Conversation
… upstream dependencies using chain id
… through the network
I do not want to stop running tests when one category fails. I would also like to experiment with increasing the amount of parallelism.
This might not make sense. It should be revisited.
Apparently the code does not currently expect to receive "port absent" messages after it has already assumed a port absent and labeled its status as known to be absent at the current tag (why not?). Also, FeedbackDelay now deadlocks for unknown reason. |
912470e
to
3380845
Compare
The other day @lhstrh asked about the status of this PR. The federated C tests finally passed in this branch (:tada:), so at least we know that it will be possible to get this to work within a reasonable amount of time. However there is a lot of cleanup left to do (maybe a few weeks) before this is good enough to merge into |
That is fantastic news! Perhaps you could compile a list of todos for the cleanup so that others could help out with some of the items? |
3380845
to
b19e92e
Compare
There is also a change to ensure that the reactors in the generated LF code correspond to distinct reactor classes. If I am not mistaken this fixes a scalability issue.
0528944
to
4608725
Compare
a03c104
to
73b8d82
Compare
Today I mentioned that in this branch there is an STP violation in |
Work on this is being moved back to the |
This includes changes required in order to implement TPO.
Status update 6/24
The basic idea is almost implemented, but still only 43/57 tests pass (previously it was 41/57). I think that most of the tests with cycles are still deadlocking because the output reactions that send "port absent" messages are not being enqueued. This should be an easy fix. Also the method of assigning the TPO is not entirely correct yet, for uninteresting software engineering reasons.
Status update 6/26
Most of the tests are passing now. 53 ish out of 57 depending on how you count, BUT some of the failures are nondeterministic, so probably there are others that will also sometimes fail.
FeedbackDelay
andFeedbackDelaySimple
are failing due to falsely detecting cycles when there is actually a 1 microstepafter
delayDecentralizedP2PComm
is failing with wrong functional behavior (STP violation in the generalized sense, I believe). This failed in the second-to-last run but not the last one. It may be nondeterministic, so this isn't surprising.DistributedLoopedPhysicalActionDecentralized
failed with an error that I could not reproduce locally, so the situation there is probably similar.TODOs
Whoever chooses to pick up any of these tasks should write their name next to the task to make sure there is no duplicate work.
master
(@petervdonovan)Non-required TODOs