[c++] CAS ๊ตฌํ˜„ ๋ฐ ABA ๋ฌธ์ œ ํ•ด๊ฒฐ :: ABA ํ•ด๊ฒฐ_4. ๊ทธ ์™ธ์˜ ๋ฐฉ๋ฒ•๋“ค
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Operating System 2020. 7. 2. 19:45

๋ชฉ์ฐจ ๋ฌธ์ œ ์ •์˜ lock free ๊ตฌํ˜„ ABA ํ•ด๊ฒฐ intํ˜• ๊ตฌํ˜„(+ Hazard pointer) Counter ๊ทธ ์™ธ์˜ ๋ฐฉ๋ฒ•๋“ค mutex lock(spin lock)๊ณผ์˜ ๋น„๊ต ๊ทธ ์™ธ์˜ ๋ฐฉ๋ฒ•๋“ค DCAS _InterlockedCompareExchange128 ์‚ฌ์šฉ ์œ„์˜ Counter ๊ธฐ๋ฒ•๊ณผ ๋น„์Šทํ•˜๋‹ค. 64bit๋ฅผ ๋ชจ๋‘ ์ด์šฉํ•˜์—ฌ ์ฃผ์†Œ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” CPU์—์„œ๋Š” ์œ„์˜ Counter ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ c++์˜ _InterlockedCompareExchange128 ์—ฐ์‚ฐ์„ ์ด์šฉํ•˜์—ฌ ์ด๋ฅผ ๋Œ€์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ์—ฐ์‚ฐ์€ 64bit ์ž๋ฃŒํ˜• 2๊ฐœ๋ฅผ ๋ฌถ์–ด์„œ 128bit๋กœ CAS ์—ฐ์‚ฐ์„ ์‹œํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๋•Œ 64bit ์”ฉ ๋ถ„๋ฆฌํ•˜์—ฌ ์ƒˆ๋กœ์šด ๊ฐ’์œผ๋กœ ๋ฐ”๊พธ์–ด์ค„ ์ˆ˜ ์žˆ๋‹ค. lock ๋ณ€์ˆ˜ ์ด์šฉ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๊นŒ์ง€ ๋ณด๋ฉด lock-fr..

[c++] CAS ๊ตฌํ˜„ ๋ฐ ABA ๋ฌธ์ œ ํ•ด๊ฒฐ :: ABA ํ•ด๊ฒฐ_3. Counter ๊ตฌํ˜„
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Operating System 2020. 7. 2. 19:43

๋ชฉ์ฐจ ๋ฌธ์ œ ์ •์˜ lock free ๊ตฌํ˜„ ABA ํ•ด๊ฒฐ intํ˜• ๊ตฌํ˜„(+ Hazard pointer) Counter ๊ทธ ์™ธ์˜ ๋ฐฉ๋ฒ•๋“ค mutex lock(spin lock)๊ณผ์˜ ๋น„๊ต Counter #include #include #include #include #include #include using namespace std; class Node { public: int value; Node* next; Node() : value(0) { next = NULL; } Node(int k_value) { next = NULL; value = k_value; } }; int node_n; //random ๊ตฌํ˜„ random_device rd; mt19937 gen(rd()); uniform_int_distribut..

[c++] CAS ๊ตฌํ˜„ ๋ฐ ABA ๋ฌธ์ œ ํ•ด๊ฒฐ :: ABA ํ•ด๊ฒฐ_2. hazard pointer
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Operating System 2020. 7. 2. 19:41

๋ชฉ์ฐจ ๋ฌธ์ œ ์ •์˜ lock free ๊ตฌํ˜„ ABA ํ•ด๊ฒฐ intํ˜• ๊ตฌํ˜„(+ Hazard pointer) Counter ๊ทธ ์™ธ์˜ ๋ฐฉ๋ฒ•๋“ค mutex lock(spin lock)๊ณผ์˜ ๋น„๊ต Hazard Pointer https://m.blog.naver.com/PostView.nhn?blogId=jjoommnn&logNo=130127286459&proxyReferer=https:%2F%2Fwww.google.com%2F ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€๋‹ค. ๋ฌธ์ œ์  ๋จผ์ € delete๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ์‚ญ์ œํ•˜๋ฉด, ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋˜ ์Šค๋ ˆ๋“œ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ๊ณ  ๊ฐ์ฒด๊ฐ€ ์‚ญ์ œ๋œ ์ฃผ์†Œ์— ๋‹ค์‹œ ๊ฐ™์€ ๊ฐ์ฒด๊ฐ€ ํ• ๋‹น๋˜์–ด ABA ๋ฌธ์ œ๊ฐ€ ์ผ์–ด๋‚  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค. ์ƒˆ๋กœ ๊ฐ์ฒด๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” list๊ฐ€ ์•„๋‹ˆ๋‹ค. 1๋ฒˆ ๋ฌธ์ œ๋ฅผ ..