cs431 icon indicating copy to clipboard operation
cs431 copied to clipboard

Promising semantics for 20 causality test cases and some supplementary materials

Open poppindouble opened this issue 5 years ago • 5 comments

Hello guys:

I made my own proof regarding 20 causality test cases, here is the link for it.

Also, concurrency is one of my favourite topic, I have been writing down my own understanding regarding Rust programming language features and how Rust is handling concurrency, this blog is one of my current work. I try my best to use plain English(means no blur industrial terms or over complicated academic terms) to describe the problem, hope you will enjoy it. The blog is still W.I.P, but it should have some solid contents already.

Hope those supplementary materials could help you with your current course! Good Luck!

If I made any mistakes in my blog or my proof, you are more than welcome to leave me a message here.

poppindouble avatar Dec 14 '20 05:12 poppindouble

slides updated with more detailed explanation

poppindouble avatar Dec 15 '20 04:12 poppindouble

In causality test case 7, thread 1 should promise value 1 to not execute r1=Z before thread 2's Z=r3.

blue-int avatar Dec 16 '20 16:12 blue-int

@integerblue sorry for my late reply. Yes, you are correct, as long as we can find a way(no matter it is the execution order of different threads, or operation reordering without violating the RR,WW,WR,RW coherence within a thread, even with the certified value’s influence on other threads) to re-certify the desired output, then we are good.

poppindouble avatar Dec 18 '20 09:12 poppindouble

Relatedly: https://github.com/poppindouble/lock-free/blob/master/lock_free.md

jeehoonkang avatar Dec 31 '20 04:12 jeehoonkang

@jeehoonkang

How about adding the link into this slide and closing this issue?

kyeongmincho avatar Oct 19 '21 10:10 kyeongmincho