-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
remove SynchronizeEventSet? #1611
Comments
Good question. It was added in ef0cf19 as part of the fix for wait-notify synchronization. Perhaps @conrad-watt initially meant to filter out the synchronization events from the main event set, and then opted to do it via a [[AgentSynchronizesWith]] list directly? Conrad, can you confirm? If so, we can delete it. |
I think it was orphaned after I inlined some definitions in response to this comment on the PR. Sorry for not noticing! |
Makes sense. Removal sgtm. |
To my understanding and comment on this. I think [AgentSynchronizesWith] should be replaced by synchronize event set. Cause there would be many points where multiple agents are going to synchronize with each other and therefore have a happens-before relation between their shared data block events. The naming AgentSynchronizesWith sounds misleading compared to Synchronize event sets which explicitly constrain ordering between events. Any comment on this? |
@jaag5678 To clarify, you're asking for an editorial change, correct? Do you have a particular editorial change in mind? It is true that the event pairs in an [[AgentSynchronizesWith]] list are going to be from different agent. I guess I don't find it particularly misleading because with "SynchronizesWith" as part of the name, I'd expect it to contain different agents. |
My original reasoning for the [[AgentSynchronizesWith]] field name was that it records operationally-determined outgoing synchronization edges on a per-agent basis (from that agent specifically, to other agents). An reasonable alternative scheme would be having an [[AdditionalSynchonizesWith]] record field directly in the [[CandidateExecution]], which holds all the synchronization edges at once, to avoid the per-agent style (similar to [[HostSynchronizesWith]]). In both cases, the field would be a list of pairs. @jaag5678, is your main concern the name, or do you think the representation should be changed (involving a set)? |
Hi there, Let me explain what is my intuition behind this.
Let me know what you think of what I mentioned above. Or if I have missed some details from the spec that I have mentioned to be not existent. Sincerely, |
I don't think the SynchronizeEventSet function gives any insight into the design of the model, especially since, as noted, it's not used anywhere. I don't have a clear understanding of what new function you think should be introduced.
I agree that the explanatory note for the [[AgentSynchronizesWith]] record field could be more descriptive, incorporating some of the motivation I posted above. Would this satisfy your concerns?
Either works, but lists are used by convention for collections which need to be manipulated directly by the operational semantics. |
@conrad-watt Yes the record could be more descriptive. That would do. Thanks, |
The spec defines SynchronizeEventSet, but never references it. Should it be removed? (Or is there somewhere that should be referencing it, but isn't?)
The text was updated successfully, but these errors were encountered: