-
Notifications
You must be signed in to change notification settings - Fork 315
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
Fix: correct usage of BitMask in multicore sdr #1477
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catches. I think this is good, but should probably go a little further (as noted in comments).
@cryptonemo We should make sure to run some full lifecycle tests on this (when done) to ensure there are no surprises.
Hi @porcuquine. This PR has updated.Now,it stores the api_version in |
Thanks @qy3u -- I'll look closer and get some testing going on this early next week. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cryptonemo can you run this for some performance checks, making sure we don't have any accidental regressions
Yes, this is on the list! |
Still have wider testing to do, but the first 32GiB seal lifecycle test completed in 320m. Compared to master taking 347m on the same hardware. Testing again to see if this is consistent or something else. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The update appears to accomplish what I requested, and as far as I can see this all seems good.
This should not affect verification of historical proofs, even though the changes do relate to the previous upgrade. This PR is just propagating some changes from that upgrade which were not reflected in sealing.
The large performance impact is likely due to resetting bpm
between node iterations.
In addition to the tests for performance regression, we should make sure to repeatedly observe that sealing completes consistently and correctly (i.e. valid PoRep, and subsequently PoSt — though I am less concerned about PoSt) are produced. I don't have specific reason to think something will have gone wrong, but there is an operational change to how the data is being processed, and if for whatever reason that is introducing an error, this is where it would show up. It could be the case that such an error be non-deterministic. Given that the performance change results in much faster sealing, we should be skeptical in principle — even though, as noted, I believe this is probably a good and safe change.
Therefore, I approve, but contingent on a clean history of multiple runs with no failures. If we were to see any failures in testing, we should not just disregard and re-run the tests. We are not looking for presence of success but rather absence of failure.
Good work.
@qy3u Any chance you can back out the merge I did to bring this up to latest master? I'd prefer to keep your original 3 commits and have those rebased against the latest |
This appears to test well, as-is. |
After merging this, CI tested well. However, after cutting a new release with it, a CI test failed that exercised this code path (seal_lifecycle 2k). Based on that alone, it's possible this will be reverted in our next shipped version. |
This reverts commit a9176fe.
This PR contains two commits:
rust-fil-proofs/storage-proofs-core/src/drgraph.rs
Line 168 in 00cb804