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

channel choice? #7

Open
bennn opened this issue Jun 10, 2024 · 2 comments
Open

channel choice? #7

bennn opened this issue Jun 10, 2024 · 2 comments

Comments

@bennn
Copy link
Member

bennn commented Jun 10, 2024

Session types can de-multiplex messages incoming on one channel with the choice operator. But AFAIK they don't know what to do if several channels could receive a message at once.

This was a problem for AnQi in 6110 when he tried to model cache coherence protocols. There, the caches, directories, and interconnect layer could receive messages along several channels at any time:
Screenshot 2024-06-10 at 2 34 37 PM

Can choreographies demux sessions? (In general maybe not --- seems very hard to guarantee deadlock freedom.)

The IRC paper does something very similar with full-duplex asynchony, but still I think it's not dealing with multiple channels at once:
https://doi.org/10.22152/programming-journal.org/2024/8/8

@bennn
Copy link
Member Author

bennn commented Jun 10, 2024

@ashton314
Copy link
Member

Apropos of deadlock-freedom: demuxing might come at the cost of deadlock-freedom; maybe that's a cost we're willing to bear. (The "Manifest Sharing with Session Types" paper drops deadlock-freedom to get closer to a real-world system.)

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

No branches or pull requests

2 participants