[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 13375] 議事録:「 The Art of Multiprocessor Programming 」を読む会第 2 回



今井です。
皆さん、本日は大変お疲れ様でした。

掲題の議事録をお送りします。
#原書必携のような気がしてきました。

あと、松永さんから練習問題27の解答をあずかったので、
週明けにでもスキャンしてMLに流します。

Imai

--------------------------------------
Get the new Internet Explorer 8 optimized for Yahoo! JAPAN
http://pr.mail.yahoo.co.jp/ie8/
Java“Ǐ‘‰ïuThe Art of Multiprocessor Programmingv‚ð“Ç‚Þ‰ï ‘æ2‰ñ ‹cŽ–˜^

“úŽž: 2010”N9ŒŽ25“ú(“y) 10:00-17:00
êŠ: ‚’ÃŽs–¯ŠÙ ‘æ6‰ï‹cŽº
ŽQ‰ÁŽÒ: ”Ñ“cA‚‹´(’q)A‚‹´(“O)A‰““¡AŠâŽºA¬’I–؁A‘ºŽRA¼‰iAÎ•A¡ˆä
‘‹L: ¡ˆä
”͈Í: 3 •ÀsƒIƒuƒWƒFƒNƒg(p.51) ` 4 ‹¤—Lƒƒ‚ƒŠ‚ÌŠî‘b 4.2.5(p.95)

--------

3 •ÀsƒIƒuƒWƒFƒNƒg
- p.51 l.4
@•À—ñƒIƒuƒWƒFƒNƒg‚Í•ÀsƒIƒuƒWƒFƒNƒg‚ÌŒë–óH
@¨ “Ǐ‘‰ïŒãAŒ´‘‚ð‚Ý‚é‚Æ concurrent objects ‚È‚Ì‚Å•ÀsƒIƒuƒWƒFƒNƒg‚Å‚·‚Ë(¡ˆä)
- p.51 l.12
@u‚ǂ̐is‚ª•ÛØ‚³‚ê‚é‚©‚Í...v‚́uisv‚Íprogress ? i‚߂邽‚߂ɂ͂̈ӁH
@ŽÀ‘•‚Ì•û–@‚Æ‚µ‚ăuƒƒbƒLƒ“ƒO‚ƃmƒ“ƒuƒƒbƒLƒ“ƒO‚ª‚ ‚é‚Æ‚¢‚¤‚±‚Æ‚©H
@¨ Along a different dimension, different method implementations provide
@@ different progress guarantees. Some are blocking, where the delay of any one
@@ thread can delay others, and some are nonblocking, where the delay of a thread
@@ cannnot delay the others.
@‚Å‚µ‚½B(¡ˆä)

3.1 •Às«‚Ɛ³Šm‚³
- p.54 Figure 3.3
@enq(), deq()‚ª‚»‚ꂼ‚ê’PˆêƒXƒŒƒbƒh‚©‚炵‚©ƒAƒNƒZƒX‚³‚ê‚È‚¢‚Ì‚Å‚n‚jB
@tail‚Ìread->modify->write‚́Aenq()‚¾‚¯Bhead‚Ì‚»‚ê‚Ídeq()‚¾‚¯B

@T[] items; ‚Ívolatile‚Å‚È‚­‚Ä‚æ‚¢‚Ì‚©?
@¨ head, tail‚ªvolatile‚Ȃ̂ŁAƒƒ‚ƒŠƒoƒŠƒA‹@”\‚É‚æ‚èhead, tail‚̕ύXƒ^ƒCƒ~ƒ“ƒO‚ð
@@ Œ×‚¢‚Åitems‚́iƒƒ‚ƒŠ‚ւ́j”½‰f‡˜‚ª‚©‚í‚邱‚Æ‚Í‚È‚¢‚Í‚¸B

3.2 ’€ŽŸƒIƒuƒWƒFƒNƒg

3.3 ÃŽ~ˆêŠÑ«
- p.56 Figure 3.4
@7‚Æ-3‚ª“¯ŽžXV‚³‚ê‚Ä-7‚É‚È‚éH
@•„†•t•\Œ»‚Å‚ ‚ê‚΂Ȃé‚̂ł́H‚Å‚à’P‚É•Ê‚Ì’l‚É‚È‚é—lŽq‚ð‘‚¢‚Ä‚¢‚邾‚¯‚¾‚낤B

3.3.1 ”õl
- p.57 ‰ºl.5
@uP‚ð–ž‚½‚·‚½‚тɁv‚́Au–ž‚½‚·‚Æ‚«‚Ɂv‚̈ӂ©H

3.4 ’€ŽŸˆêŠÑ«
- p.59 Figure 3.6
@ƒXƒŒƒbƒh‚ðŽ¯•Ê‚·‚é‹L†A‚`C‚a‚ª”²‚¯‚Ä‚¢‚éBã‚ª‚`A‰º‚ª‚a

3.4.1 ”õl
- p.59 l.1
@u’€ŽŸˆêŠÑ«‚ƐÎ~ˆêŠÑ«‚ª—¼—§‚µ‚È‚¢‚±‚Æ‚É’ˆÓ‚·‚év‚́Au•K‚¸‚µ‚à—¼—§‚µ‚È‚¢v
@‚Æ‚¢‚¤‚±‚Æ‚È‚Ì‚©H
@¨ Œ´‘‚Å‚Í incomparable ‚È‚Ì‚ÅŒë–ó‚̂悤‚Å‚·Bincompatible‚ƊԈႦ‚½H(¡ˆä)
@It is worth nothing that sequential consistency and quiescent consistency are
@incomparable: there exist sequentially consistent executions that are not
@quiescently consistent, and vice versa.
- p.60 Figure 3.7
@ƒXƒŒƒbƒh‚ðŽ¯•Ê‚·‚é‹L†A‚`C‚a‚ª”²‚¯‚Ä‚¢‚éBã‚ª‚`A‰º‚ª‚a

3.5 üŒ`‰»‰Â”\«
3.5.1 üŒ`‰»ƒ|ƒCƒ“ƒg
3.5.2 ”õl

3.6 ³Ž®‚È’è‹`
i‚±‚±‚ç‚ ‚½‚è‚©‚ç3ÍÅŒã‚܂ŁAŽQ‰ÁŽÒ‘Sˆõ‚æ‚­—‰ð‚Å‚«‚¸‚ɏÁ‰»•s—Ǐó‘ԁj

3.6.1 üŒ`‰»‰Â”\«
- p.64 Definition 3.6.1
@’€ŽŸ—š—ð‚͌Ăяo‚µ‚Æ‚»‚̉ž“š‚̑΂̕À‚сBcomplete‚Í“ü‚êŽq‚É‚È‚Á‚Ä‚¢‚Ä‚à—Ç‚¢B(?)

3.6.2 ‡¬“I‚ȐüŒ`‰»‰Â”\«
3.6.3 ƒmƒ“ƒuƒƒbƒLƒ“ƒO“Á«

3.7 is‚̏ðŒ
3.7.1 ]‘®“I‚Ȑis‚̏ðŒ

3.8 Javaƒƒ‚ƒŠƒ‚ƒfƒ‹
3.8.1 ƒƒbƒN‚Æ“¯ŠúƒuƒƒbƒN
3.8.2 Šö”­«ƒtƒB[ƒ‹ƒh
3.8.3 finalƒtƒB[ƒ‹ƒh

3.9 ”õl

3.10 ’‹L

3.11 —ûK–â‘è
- p.75 —ûK–â‘è28
@readerƒƒ\ƒbƒh‚ªƒ[ƒ‚É‚æ‚鏜ŽZ‚ðŽÀs‚·‚邱‚Æ‚Í‚È‚¢Bx‚Ívolatile‚Å‚Í‚È‚¢‚ªA
@v‚Ívolatile‚Ȃ̂сƒ‚ƒŠƒoƒŠƒA‚É‚æ‚èAwriter()‚Åv‚Étrue‚ªƒZƒbƒg‚³‚ê‚é‘O‚É
@‚©‚Ȃ炸x‚É42‚ªƒZƒbƒg‚³‚ê‚éB¨ v‚ªtrue‚È‚çx‚Í•K‚¸42

4 ‹¤—Lƒƒ‚ƒŠ‚ÌŠî‘b
4.1 ƒŒƒWƒXƒ^‚Ì‹óŠÔ
4.2 ƒŒƒWƒXƒ^\‘¢
- p.86 Figure 4.5
@4s–ڂ̃x[ƒXƒNƒ‰ƒX MRSW•W€ ¨ SRSW•W€‚̊ԈႢB(4.2.4ß‚æ‚èj

4.2.1 MRSWˆÀ‘SƒŒƒWƒXƒ^
4.2.2 MRSW Boolean•W€ƒŒƒWƒXƒ^
4.2.3 MRSW‚ÌM’l•W€ƒŒƒWƒXƒ^
- p.88 l.2
@uFigure 4.7‚ł́Av¨ uFigure 4.8‚ł́Av

4.2.4 SRSW•s‰Â•ªƒŒƒWƒXƒ^
4.2.5 MRSW•s‰Â•ªƒŒƒWƒXƒ^

ˆÈã