Skip to content
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

Add fences #14

Open
anlun opened this issue Mar 17, 2016 · 0 comments
Open

Add fences #14

anlun opened this issue Mar 17, 2016 · 0 comments

Comments

@anlun
Copy link
Owner

anlun commented Mar 17, 2016

  • To support acquire-fences one needs to add another per-thread front, ψ_acq​​ .
    The front would store a union of synchronization fronts from messages read by the thread,
    including relaxed reads, which don't use corresponding synchronization fronts in the current version.
    When an acquire-fence is executed, the thread's viewfront will be updated to ψ_acq.
  • For release fences we would need to modify a per-thread write front state component.
    Each thread would explicitly store a front for every observed location instead of storing a pointer
    to the latest release write, which contains the same front, to the location.
    An execution of a release-fence would update these fronts to match the thread's own viewfront.
  • Similarly, an SC-fence, when executed, updates the corresponding thread's viewfront by the
    global SC front.

Also, one would have to adapt the rules for postponed operations accordingly, ie, forbid out-of-order resolving of an acquire-fence and a read from a postponed operation buffer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant