-
Notifications
You must be signed in to change notification settings - Fork 32
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
knossos.competition checker is blocked by linear/start-analysis #25
Comments
|
I've added some debug logs into knossos and the most time is spent inside
The model is multi register and history contains 51 successful ops without any failures/infos (except nemeses infos). I am using ops of two types - "read the whole register" and "write the same random value (0-9) to two random keys (0-9)". Also looks like |
BTW, does it makes sense to build model wrapper in case |
Okay sooooo to answer my earlier question, you've got a state space of roughly 10^10. Memo is meant for degenerate state spaces of roughly 10^2. You may find the docstrings at the top of the file helpful.As I mentioned earlier, the appropriate fix is to add bounds to memo so that it aborts if `states * transitions` becomes larger than some threshold, and return the original model and history instead. And a little escape hatch for unwrapping non-wrapped models.--KyleOn Jul 19, 2018 07:31, Timur Yusupov <[email protected]> wrote:BTW, does it makes sense to build model wrapper in case canonical-history returns the same history as original? Also, if size of original and canonical histories is the same - will there be any benefit to use canonical instead?
—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or mute the thread.
|
For the purpose of our testing, I've just added a one-minute timeout to memo for now in our knossos fork. But as I see memo can be optimized to only try to apply transitions which correspond to non-failed operations. Also can |
In addition to the patches in 0.3.3 which aborts memoization for large state spaces, yes, we may be able to pass on testing failed operations--I'm not entiiiiirely sure about that, but it sounds reasonable! |
As I understand the idea of
knossos.competition
checker is to runlinear
andwgl
checkers in parallel. But actuallylinear/start-analysis
is blocking calling thread onknossos.model.memo/memo
function call, which seems to be doing almost the whole analysis. As a resultmem-watch
andreporter
inknossos.search/run
are also not working, because thelinear/start-analysis
needs to complete beforemem-watch
andreporter
started.The text was updated successfully, but these errors were encountered: