[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends-ml 12629] 議事録「 Java 並列処理プログラミング 」を読む会(第 9 回)
Java読書会「Java並行処理プログラミング」を読む会(第9回)
出席者:根本、石黒、岡澤、高橋(智)、吉本、鈴木、岩室、小松、岩永、村山、
門脇、遠藤、高橋(徹)
読み手:岩室、岩永、吉本
書記 :高橋(徹)
本日は、p.359から開始です。
p.361
バックオフ(back off)の意味は?
→ 電子辞書では、人にしつこく言うことをやめる、後にさがる、手を引く、など
「ロールバック」を使わないのに意味があるかもしれない。トランザクションと
密接な用語だからかもしれない。バックオフは多分一般用語。
「テスト・アンド・セット」などの用語は何用語?
→ JSR-133 Cookbookに載っている。ヘネパタ本にもあるそうです。
Hyper Threading(HT)は、Pentium4の命令実行効率が悪く演算器が余っているので、
導入された。なお、CoreDuoは実行効率がいいのでHTが効きにくい。
ノイマン・ボトルネックとは?
→CPU数を増やしても、メモリアクセスがボトルネックになり性能がでないこと。
ナイアガラ
8コア:1コアで4スレッド、ファイングレイン(細挽)スレッド
浮動小数点演算器が1コ(コアにつき?)なので、浮動小数点計算をするスレッド
が複数あると効率悪い。次世代ナイアガラで改良される。
成功するまでリトライする方法はシステム破綻を起こすのでは?
→ 地震で皆電話すると呼が一気に増大しつながらくなってしまう
p.362 「ハードウェアがwhileループの暗黙の分岐先を正しく予測し」はCPUの分岐
予測のこと?
→ そう。そのほか投機的実行とかもある
アトミックな変数のライブラリJava以外は?
→ WindowsはAPIあるらしい
InterlockedIncrement
InterlockedCompareExchange
InterlockedExchange
:
→ UNIX系 なさそう? (宿題)
p.364
doubleは64bit?
→ JavaではYes
CPUが80bitで浮動小数点扱うときは? strict fpは?
→IEEE754のルールに厳密にしたがうときはstrict fp
演算性能は違うのでは?
※議事録執筆時の補足) strictfpのVMへの実装に関する首藤氏の論文
http://www.shudo.net/java-grandprix99/strictfp/
.364中
文章意味分かりにくい。
→アトミック変数同士は、たとえ中に同じ値を持っていたとしても、==、equals
ともにfalesとなる。
注意) Integer、Longと、AtomicInteger、AtomicLongとは違う
「不変項」原書では、invariant、「不変条件」と訳すことが多いのでは?
p.367の「スレッドローカルな操作が少ないと、」のスレッドローカルとは?
→ グラフ中のThreadLocalのことではない
nextIntを呼び出すテストコードのドライバの処理の話であろう
nextInt以外にスレッド間で干渉するようなコードがあると計測結果が読み取
れないから?
ThreadLocalのアクセスが遅いということはないか?
p.374 脚注7の文献
・Michael and Scott 1996 : 学会発表論文 URL有
http://citeseer.ist.psu.edu/michael96simple.html
このURLからPostScript、PDFでダウンロード可能
・Herlihy and Shavit 2006: 書籍"Multiprocessor Synchronization and
Concurrent Data Structures"
p.372 List 15-7
while(true)
(1) Node<E> curTail = tail.get();
(2) Node<E> tailNext = curTail.next.get();
(3) if (curTail == tail.get()) {
ここで、(1)と(3)が同じことをしているのは何故?
→ (1)、(2)で2つの値を取り出しているが、その2つが同じバージョンであるこ
とを(3)で保証するため
p.376 脚注9 倍幅のCAS(CAS2またはCASX)の具体的なCPUと命令を調べる(宿題)
バックポートJSR-166でアトミック変数はどう実装されているか(宿題)
訳者あとがき
p.400 Brian Goetz氏のJavaジェネリクスの入門記事
※議事録執筆時の補足) 本書の著者Brian Goetz氏の出版一覧
http://www.briangoetz.com/pubs.html
ここからジェネリクス入門記事を抽出すると、以下でしょうか?
"Introduction to generic types in JDK 5.0"
http://www-128.ibm.com/developerworks/edu/j-dw-java-generics-i.html
(残念ながらIBM developerWorks日本語訳は出ておりません)
--
TAKAHASHI,Toru
torutk@xxxxxxxxxxxx