- 1 名前:デフォルトの名無しさん [2006/01/18(水) 08:31:11 ]
- 最近のCPUはマルチコアが技術トレンドになっています。
それに伴い、ソフトウェアは並列化というパラダイムシフトが 求められています。効率のよく並列化を実現するためにはアル ゴリズムやデータ構造といった部分を根本から見直す必要が あります。しかし、トレンドができてからあまり時間が経って ないため、そいういったノウハウが蓄積されていません。 そこで、マルチコアを生かすためのソフトウェア設計というのは どういうものか?という議論をするためのスレッドを立てました。 ソフトウェアの並列化に対して考えのある人や、インターネット 上のリソース、論文等があればどんどん書き込んだりリンクを 貼ってください。 【関連スレ】 OpenMPプログラミング pc8.2ch.net/test/read.cgi/tech/1102483474/l50
- 703 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 12:38:00 ]
- > 確かにシングルコアでは問題ありとしながら問題が潜在化してたものが
> マルチコアにした途端に顕在化する場合はあるね。 そうじゃなくて、例えばメモリに対する inc 命令の実行中に他のコア/プ ロセサのアクセスが割り込んじゃうとかの「シングルコア and シングル プロセサではあり得ない問題」のことだよ。
- 704 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 12:39:40 ]
- >>703
それはクリティカルセクションを入れるのが当たり前だろ
- 705 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 12:40:56 ]
- >そうじゃなくて、例えばメモリに対する inc 命令の実行中に他のコア/プ
>ロセサのアクセスが割り込んじゃうとかの「シングルコア and シングル >プロセサではあり得ない問題」のことだよ。 アトミック操作でないのにロックせずに破壊した場合プログラマの責任だと思うが。
- 706 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 12:42:23 ]
- >>703
そんなバグ埋め込んでマルチスレッドとか恥ずかしいぞ
- 707 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 12:43:53 ]
- >>703
もうちょっとOS関連の本を読んでマルチプロセス/マルチスレッドに ついて勉強してから書いた方がいいよ。恥かくだけだぞ今のままじゃ。
- 708 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 13:08:13 ]
- >>698
そもそもというなら、マルチスレッドとマルチコアの話は、 >>689に言ってくださいな 「マルチスレッドが並列に動かなくていいわけないだろ」とか言っておいて逆切れせずに。
- 709 名前:689 mailto:sage [2008/10/03(金) 13:38:17 ]
- >>708
比較なんかしてないぞ マルチスレッドがマルチコア環境で正しく並行動作するのは当然 だからライブラリの話はマルチスレッドスレの方がそれなりに議論してて 適切だろうってことだ マルチスレッドスレを並行動作しなくていい話題に限定したら 糞スレ確定で速攻落ちるぞw
- 710 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 13:44:20 ]
- 同じ変数を複数スレッドで更新する可能性があるなら、UP/MPに限らずバリア入れる。
更新するのが一人だけだったら、ちょっと考えてから決める。
- 711 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 13:44:22 ]
- そういう話は、その時点でやってくださいな。
あと出しで切れるのカコワルイ
- 712 名前:711 mailto:sage [2008/10/03(金) 13:44:54 ]
- >> 709 ね。
- 713 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 13:49:36 ]
- >>711
どこが後出し?w
- 714 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 17:59:44 ]
- >>704
そもそもクリティカルセクションをどう構成するかと言うレベルの話だから、 君には用はないので当分 ROM っててくれ。 >>705-706 シングルプロセサ/シングルコアならアトミック操作だから、バグじゃないよ。 マルチコア/マルチプロセサではちゃんと動かないから良くないコーディングと 言うならまだわかるが。 >>707 どこがどうおかしいかちゃんと指摘してくれ。 まさか、>>705-706 の的外れの指摘のこと言ってるのか? (w
- 715 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 20:19:54 ]
- >>714
アホですか RISCはロード/ストア命令とモディファイ命令を1命令で実行できない 物があるのでアトミックではない場合がある
- 716 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 20:20:58 ]
- つーか明らかな自分のミスを認められないグラマって
必要ないな。 こういう奴がいると絶対にプログラムにバグを入れてくれる。
- 717 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 20:28:36 ]
- そろそろダンゴさんがピシっと〆めてくれそうだ
- 718 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 20:32:18 ]
- つかシングルコアでも他デバイスがDMAしてきたらアトミックにならんやろ
メモリにアクセスするプロセッサがひとつだけっていつの話?
- 719 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 20:33:29 ]
- Java のでも GCC 組み込みのでも、OS ネイティブのでも良いけど、
アトミック命令ってみんな使ってるの?
- 720 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 20:53:25 ]
- 排他やると暗黙的に使われるんじゃね
- 721 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 20:56:23 ]
- 無意味な連番つけるときに AtomicInteger を使ったことはある
- 722 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 21:03:47 ]
- AtomicReferenceFieldUpdaterは友達
- 723 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 21:41:05 ]
- レベルの低いスレ/話題は伸びるのが速い。
- 724 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 21:49:12 ]
- レベルの低い話題に詳しそうだな
- 725 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 22:04:26 ]
- >>715
> RISCはロード/ストア命令とモディファイ命令を1命令で実行できない > 物があるのでアトミックではない場合がある そんなプロセサにメモリに対する inc 命令なんかあるのか? あるんならそのプロセサの型名書いてくれ。 >>716 「明らかな自分のミス」ってどれのこと? ちゃんと指摘してくれって書いてあるのに指摘できないの? >>718 ああ、DMA はあるな。 ただ、通常の DMAC はレジスタで制御するから、メモリ上で排他なんかしないでしょ? > メモリにアクセスするプロセッサがひとつだけっていつの話? 今でも普通にあるよ。PC しか眼中にないの?
- 726 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 22:07:57 ]
- また前提が増えたな。
DMA無しだとさ。
- 727 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 22:19:48 ]
- >>718見て、Windows 98で386のときのInterlockedIncrementは、
デバイスドライバ内で割り込み禁止してincを実行するって話を思い出した。 blogs.msdn.com/oldnewthing/archive/2004/05/06/127141.aspx
- 728 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 22:22:31 ]
- >>726
また? DMA 以外で増えた前提って何のことだ、ちゃんと書いてくれよ。
- 729 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 22:37:24 ]
- >>725
> そんなプロセサにメモリに対する inc 命令なんかあるのか? > あるんならそのプロセサの型名書いてくれ。 無いからバグなんだろ。 >714 の > シングルプロセサ/シングルコアならアトミック操作だから、バグじゃないよ。 に対する返信だろう。
- 730 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 23:00:16 ]
- >>728
きっと>714の「シングルプロセサ/シングルコアなら」のことだろうね
- 731 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 23:01:26 ]
- >>725
> 今でも普通にあるよ。PC しか眼中にないの? SPARC/Power/Itaniumサーバも眼中に入ってるよ
- 732 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 23:05:07 ]
- >>725
> 「明らかな自分のミス」ってどれのこと? > ちゃんと指摘してくれって書いてあるのに指摘できないの? >714の > シングルプロセサ/シングルコアならアトミック操作だから、バグじゃないよ。 のことだろうね
- 733 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 23:23:14 ]
- Itaniumなんてもうフェードアウトだろw
- 734 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 23:27:20 ]
- >>733
FNHではバリバリですよ FはSPARCに注力した方がいいと思うけど東証決まってるからなあ
- 735 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 23:31:27 ]
- なんか、自分のミスはスルー、この反応みると本当に気づいてないようだ。だから自分はノーミスだと思っている。
前提をあとからつけて、人の意見を間違っているという。 まわりが全員レベル低いんじゃなくて、君ひとりがまわりの会話についていけてないんだってば。
- 736 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 23:42:48 ]
- >>729, >>732
> 無いからバグなんだろ。 「メモリに対する inc 命令持たないプロセサだとメモリのインクリメントは必然的に 複数命令になるからアトミックじゃないだろ?」って言ってるの? ならすまん、inc 命令の話してる時にその命令持たないプロセサまで考慮して話せと 言う奴がいることまでは想定できなかったよ。 世の中には自力ではメモリのインクリメント自体ができないプロセサもあったりする からそこから前提におけということかな? (w >>730 >>703 にわざわざ「シングルコア and シングルプロセサでは」って書いてますが。 >>731 > SPARC/Power/Itaniumサーバも眼中に入ってるよ で、それしか知らないと思ってていいのか? なら、もう少し見聞広めた方がいいんじゃね? としか言えないけど。 >>735 「ミス」とか「間違っている」とか威勢のいいこと書きながら具体的な内容が全く ないのが、ちょっと笑える。
- 737 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 23:43:57 ]
- 指摘されてもスルーなのが笑える
- 738 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 23:44:39 ]
- これはひどい。
いくらなんでも釣りだろ?
- 739 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 23:52:04 ]
- itaniumはもう終わりだろwww
と5年間言われ続けて、無事生存中
- 740 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 23:58:00 ]
- >>725
incはアトミックじゃない。 でもそのためにバスアービトレーションを考慮したtest and set系が別にちゃんとあるんだよ。 おまえさんはコンパイラがincに落とすのを当然と考えた上でincがバス制御しない事を忘れてる。
- 741 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:03:13 ]
- >>736
> >>703 にわざわざ「シングルコア and シングルプロセサでは」って書いてますが。 その前提を持ち出してるのが大間違いの元なんだよ。 マルチスレッドプログラミング全般としてはそんな前提はないわけ。 君にとってはシングルプロセッサかつシングルコアがデフォで マルチプロセッサ/マルチコアが特殊なのかもしれないが、 マルチスレッドプログラミング全般としてはシングルプロセッサかつ シングルコアはマルチプロセッサ/マルチコアの特殊ケースでしかない。 マルチプロセッサ/マルチコアでちゃんと動かないようなのはただのバグ。
- 742 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:07:03 ]
- というか、このスレ全体がひどい。
まず、議論になってない。 そして、議論以前に半分以上の書き込みが用語を並べてみているだけで技術的に意味の通る文章になっていない。 コンピュータ用語に語彙の偏った人口無脳がはき出したような文面の書き込みばかりで流れがない。 今時マルチスレッド、マルチコア、分散処理の区別もつけられない人がこんなにいるなんて信じられない。 日本のプログラマってこんなレベル低いんだ…こりゃ将来が危ぶまれるわ。
- 743 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:10:15 ]
- >>742
だってここ2chだし
- 744 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:14:50 ]
- >>742
たしかに、この発言とかひどいよね 「マルチスレッドが並列に動かなくていいわけないだろ」
- 745 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:18:26 ]
- >>744
どうひどいか語ってもらおうか
- 746 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:20:49 ]
- >>742
「このスレ全体がひどい。」とか「議論になってない。」とか威勢のいいこと書きながら具体的な内容が全く ないのが、ちょっと笑える。
- 747 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:21:03 ]
- 今このPC、 AthlonXP 1500+ で 53プロセス 562スレッド 動いてるぜー
- 748 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:21:33 ]
- >>745
マルチスレッドは並列に動かなくてもいい。
- 749 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:23:52 ]
- マルチスレットは、タイムスライスでもいいから、並列に同時に動く必要はない。
- 750 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:30:07 ]
- GreenThread
- 751 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:38:13 ]
- >>748-749
並列に「動かさなくてもいい」ならそうだが 「動かない」ってのはダメだろ つか確かに議論になってないな コンテキスト整理するからちょっと待ってろ
- 752 名前:742 mailto:sage [2008/10/04(土) 00:38:53 ]
- そもそも「同時に動く」ってのはどういう意味でいってるつもりなんだ?
意味わからん。 たとえば ・レジスタやメモリに結果を書くのを同時といってる? ・実行ユニットで演算されるのを同時といってる? ・前後を入れ替えても意味が変わらない処理を同時だといってる? もう少し頭の中で整理してかいてよ。 タイムスライスってどういう意味でいってるの? コンテキスト情報をスワップすることがよくいわれる時分割の本質的な意味でしょ? コンテキスト情報が複数ハード上にあるのがマルチプロセッサだったりマルチコアだったり ハードウエアマルチスレッディングがスレッドレベルで並列であることの本質なわけだけど。 CPUが実行ユニットで同時に計算しているとか同時にメモリに結果を書くとか関係ないよね? このスレで議論している連中は用語をならべているだけで、その中身についてはよくわかってない気がする。 回路設計が本業の漏れからみてもまず基礎がひどいと思いました。
- 753 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:39:04 ]
- >>737
どこがスルー? 具体的に指摘しなよ。 >>740 > incはアトミックじゃない。 DMA の話? それ以外にシングルコア/シングルプロセサを前提としてあるなら、具体的に 書いてくれ。 > でもそのためにバスアービトレーションを考慮したtest and set系が別にちゃんとあるんだよ。 そう言う命令がないプロセサもあるから、ちゃんと前提つけないとクレームつけられるよ。(w > おまえさんはコンパイラがincに落とすのを当然と考えた 人の心まで読めるの? 上級エスパーさんにはかなわないな。 >>741 前提つけたら、そんな前提が間違ってると来たか...。 そこまでしてレスしたいの? まあ、どっちにしろそう言う文句は >>696 辺りにつけてくれ。
- 754 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:41:31 ]
- >>752
> このスレで議論している連中は用語をならべているだけで、その中身については > よくわかってない気がする。 自己紹介乙。
- 755 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:42:44 ]
- 結局、そこで議論にならなくなってるわけでね。
- 756 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:47:57 ]
- そろそろ753はコテハンつけて欲しい
- 757 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:50:19 ]
- >753は>703なんだよな?
だが>753は>696じゃないのか? 俺流れが見えてねぇw
- 758 名前:デフォルトの名無しさん [2008/10/04(土) 01:04:29 ]
- 元々このスレはハードウェア主体でマルチコア化が進んでいるせいで、
ソフトウェアを並列化しないといけなくなったのに不満を持った アンチマルチコア派wがたてたスレだからね。本当はソフト屋さんの ためのスレッドなんだけど、有意義な話がなかなかでない。 回路屋が何かとソフト屋を馬鹿にしているようだけど、せっかく マルチコアの石があっても、ソフトウェア側の理論がないと意味がなく、 またソフト屋はソフト屋の理屈があるのでそこら辺勘違いしないように お願いします。 並列化といっても必ずしもバスアービタがどうとかそういう回路よりの 話だけでなく、並列型言語とかプロセス代数とか形式手法とかそういう話を 期待ているんだけど、やっぱり並列化に対するソフトウェア技術者の 意識は弱く、そういう話をができる人はあまりいないみたいだね。 (俺も話ができない一人だが、そういう人の出現を待ってこのスレ読んでます)
- 759 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/10/04(土) 01:12:53 ]
- だんごやさんだよ。
色んな意味でマルチスレッドだよ。
- 760 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 01:16:34 ]
- > 並列型言語とかプロセス代数とか形式手法とか
ここ強調すると住人総入れ替えじゃないか?w もし次スレ立てるならスレタイに【Π計算】って入れようぜ
- 761 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/10/04(土) 01:20:36 ]
- Π革命
- 762 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 01:21:23 ]
- >>757
> >753は>703なんだよな? あたり。 > だが>753は>696じゃないのか? >>696 じゃなくて、>>698 > 俺流れが見えてねぇw 簡単に言うと、「シングルコアでシングルプロセサ」と「マルチコアもしくは マルチプロセサ」で、状況が違う例としてメモリに対する inc 命令を取り上げ たら、inc 命令ないプロセサでは状況が違うとか (当たり前だ)、そもそも 「シングルコアでシングルプロセサ」なんて前提がおかしいとか言う奴が出て きて騒いでるだけ。 # 正直 DMA のこと忘れてたのは事実。 # DMAC とメモリーを排他制御したことないので、すっかり忘れてた。 まあ、流れを追う価値はないから、安心してくれ。(w
- 763 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 01:24:51 ]
- △ やっぱり並列化に対するソフトウェア技術者の意識は弱く
○ ソフトウェアベンダの合理的経営判断に基づいた技術者・コード屋に対する適切な仕事配分の結果
- 764 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 01:28:36 ]
- Cilk とか UPC とか?
- 765 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 01:33:11 ]
- >>762
> 簡単に言うと、「シングルコアでシングルプロセサ」と「マルチコアもしくは > マルチプロセサ」で、状況が違う例 その状況の違いは本来不要だったんだよ どっちもマルチスレッドスレの対象になってるんだから 発端は >>689 > ライブラリの話はマルチスレッドスレがあるからなあ > このスレいらない子なんじゃ… >>692 > マルチスレッドとマルチコアでの並列化は違う。 なんだから、マルチスレッドスレでは扱わないがこのスレ(マルチコアスレ) の対象になる違いが話題になるべきだったんだ マルチスレッドスレが「シングルコアでシングルプロセサ」の話題限定なら 外れてないがそんなこたーないわけ
- 766 名前:レトリック君 mailto:sage [2008/10/04(土) 01:35:48 ]
- 以前からあった並列計算機以上のことはできない罠
- 767 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 01:36:41 ]
- >>764
C++なら>688、Javaならjsr166yのfork/joinやParallelArray、C#ならTPLとか?
- 768 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 01:41:26 ]
- OpenMP, MPI
- 769 名前:742 mailto:sage [2008/10/04(土) 01:43:47 ]
- >>758
まあ、回路屋といっても計算機のアーキテクチャとかあんまり関係ないんだけど。 それとは関係なしに、ハードウエア主体で進んでいるマルチコアも、 シングルコアでは容易に性能があげられないから仕方なしにそういう方向に進んでいるわけで、 CPUを設計する側が最初からマルチコアをやりたかったわけじゃないということが このスレを読み返すと前提から大分抜け落ちているように見える。 ハード系だからいうわけじゃないが、ハードの性能があがらないとソフトで新しい技術を継続して出していく ことはできない。個人的にはマルチコアは好きではないが、 ハードの性能が上がった部分の大半はソフト開発の生産性の向上に消費されてる今の時代にマッチしてないし。
- 770 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 01:49:43 ]
- 一方グーグルはマルチプロセスを使った(クロームで)
- 771 名前:デフォルトの名無しさん [2008/10/04(土) 01:57:42 ]
- > それとは関係なしに、ハードウエア主体で進んでいるマルチコアも、
> シングルコアでは容易に性能があげられないから仕方なしにそういう方向に進んでいるわけで、 仕方ないのはいいけど、マルチコアにした後にどうやって使うか回路屋 まったくノーアイデアでしょ。ソフト屋としてはめちゃくちゃケツ ふかされている感がたっぷりなんですが...。 > CPUを設計する側が最初からマルチコアをやりたかったわけじゃないということが > このスレを読み返すと前提から大分抜け落ちているように見える。 こういう風に好意的(というか同情的?)に思うソフト屋は少ないんじゃないの? だって勝手に回路屋がこれからはマルチコアの時代だよねっ!て勝手に言っているんだもん。 仕方なくやっているんだったら、もうちょっとネガティブな感じでアピールして欲しい。 > ハード系だからいうわけじゃないが、ハードの性能があがらないとソフトで新しい技術を継続して出していく > ことはできない。個人的にはマルチコアは好きではないが、 > ハードの性能が上がった部分の大半はソフト開発の生産性の向上に消費されてる今の時代にマッチしてないし。 これは結局お互いさまという当たり前の話になるので、まあ言い分としては 理解できます。
- 772 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 02:06:23 ]
- 今までの時代がソフトウェア屋さんに優し過ぎたって事なんじゃないの
- 773 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 02:12:01 ]
- 優しかった時代なんてない
- 774 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 02:16:27 ]
- 布団で寝てても数ヶ月したらクロックが高いプロセッサが出てくるなんて
夢の様な時代だったじゃない。
- 775 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 02:17:46 ]
- 相対的にはこの15年くらいはそれ以前より優しかったと言える
でなけりゃJavaがメインストリームになることはなかったはず
- 776 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 02:41:50 ]
- >>771
>回路屋 >まったくノーアイデアでしょ。 ノーアイディアっつー事も無いんじゃない? あまり詳しくないけど、、、 Intel >> TBB Sun >> JSR166y, Fortress IBM >> X10 サーバサイドなら仮想化とか Map/Reduce とかもあるし、 マルチプロセッサの歴史が長いから、そもそもスケールする アプリも多いよ。
- 777 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 03:47:55 ]
- PCIバスもバスマスタになるからメモリ書き込むよ
- 778 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/10/04(土) 03:57:30 ]
- Pentium 4で3GHz到達したくらいまでが天国だったろ?
- 779 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 05:11:09 ]
- MapReduceはサーバーサイドじゃないけどね。
- 780 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 07:42:59 ]
- >>765
> その状況の違いは本来不要だったんだよ え゛っ、今更そんな言い訳ですか...。 だったら、RISC がどうのこうのとか言ってた奴はまんまバカじゃん。 まあ、実際バカだと思うけど。(w て言うか、マルチコアスレだからこそ、シングルプロセサ and シン グルコアとの違いを書いただけで、常識的なことだから普通に流され ると思っていたんだが...。
- 781 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 11:49:44 ]
- >>780
今更って…>709でも同じように書いてるんだけど 言い訳とか後出し(>711)とか意味わかんないし 話が>689から始まったのを分かってないのか? > て言うか、マルチコアスレだからこそ、シングルプロセサ and シン > グルコアとの違いを書いただけで 繰り返しになるが、マルチスレッドスレがシングルコアスレなら それが違いになるが、そんなこたーないわけ この話続けてもかみ合いそうもないから俺はもう逃げるよ
- 782 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 15:34:42 ]
- この板の連中もたいしたことねーな
- 783 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 15:39:07 ]
- >>779
わざわざ説明しなくても良いと思ったんだけど、必要だった?
- 784 名前:デフォルトの名無しさん [2008/10/04(土) 16:18:04 ]
- なんか不思議だよね。CPUのクロックは別にまだ上げられるだろ。
消費電力考えたら、マルチコアにいくのがいいよね〜っていうだけで。 で、マルチコアのプログラム支援が言語レベルであれば理想的だが、 なくてもそこそこやれる(やれてる)でしょ?コア数が100とか 1000とかになってくると、言語レベルの支援がないと厳しく なってくるかもしれんが。 何がいいたいか、自分でもわからn
- 785 名前:デフォルトの名無しさん [2008/10/04(土) 16:53:06 ]
- あげられないからマルチコアになったんだよ。
- 786 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 17:39:15 ]
- クロックは上げられるけど、投資対効果が期待出来るスピードで
クロックを上げ続けるのは無理。それより余ったトランジスタで コアを増やした方が取り敢えず嬉しい。
- 787 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 17:49:33 ]
- マルチコアの方が使っててスカスカに軽く感じるじゃん?
当面はそれでいいんじゃないかと思う。 で、ユーザーがマルチコアの潜在能力を活かしてプログラム 全体の速度を上げられないかと言い出したらそういうプログラム を作ればいいが、そうするとシングルコアと同じく多数のプログラム は同時に動かしにくくなる。
- 788 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 18:35:45 ]
- どうせみんな8つくらい同時にプログラム動かすよね。
じゃあ、クライアントアプリなら、なんも考えなくてもいいんじゃないか
- 789 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 18:42:25 ]
- 8つくらい立ち上げてても、ほとんどのプログラムは待機状態だと思う
- 790 名前:>>780 mailto:sage [2008/10/04(土) 18:46:34 ]
- >>781
>>692 マルチスレッドとマルチコアでの並列化は違う。 >>692 そもそも、マルチコアとマルチスレッドを比較するなよ。 >>709 比較なんかしてないぞ 「違う」と書きながら、指摘されたら「比較してない」って言い張るわけですね。 比較もしてないのになんで「違う」なんて断言できるのか俺には謎だが。 まあ、「逃げる」とか書いてるぐらいだから、流石にもうでてこないだろう。 普通に考えても、恥ずかしくて出てこれないと思うけど。(w
- 791 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 19:18:44 ]
- >>790
>692と>709は別人ね。
- 792 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 19:54:15 ]
- マルチコアに対応と言っても並列化したいのはほんの一部分だし、
スレッドプールとタスクキューを作れば何とかなりそうな気が…
- 793 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:00:29 ]
- つまり「ミニOS」みたいな構造にしてCPUにさせる仕事を細かく分解し
やらせる仕事は片っ端からキューに叩き込んで行き仕事を終えたコア が次の仕事を取りに来る、とか
- 794 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:13:07 ]
- 並列化したい部分なんてのは単純に並列化すればいいだけで何の問題もなく、
特に並列化したいわけでもない普通の部分をいかに並列化してパフォーマンスアップに繋げようかってのが難しいんじゃない?
- 795 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:40:47 ]
- >>790
>>692の中のアンカー読めるか?>>692は>>689へのレスだぞ そして>>709の名前欄読めるか?>>709は>>689だぞ >>692と>>689=709は別人、流れはこうだろう >>689 このスレいらない子なんじゃ… >>692 マルチスレッドとマルチコアでの並列化は違う。 >>698 そもそも、マルチコアとマルチスレッドを比較するなよ。 >>708=692 マルチスレッドとマルチコアの話は、 >>689に言ってくださいな >>709=689 比較なんかしてないぞ 比較して違うと言ったのは>>692 比較してないと言ったのは>>689 > 比較もしてないのになんで「違う」なんて断言できるのか俺には謎だが。 謎なのはお前の読解力だw
- 796 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:50:19 ]
- 長文ウゼ(´Α`)
- 797 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 20:50:26 ]
- よくしらんがコンカレントCとかadaとかか?
- 798 名前:>>780 mailto:sage [2008/10/04(土) 21:11:32 ]
- >>795
まあレス番素直に読めばそうだな。 そうすると、>>708 は話の流れに関係なく唐突に「比較なんかしてないぞ」と 喚きだすちょっと危ない人になるけど、それでいいんだよね。(w
- 799 名前:>>780 mailto:sage [2008/10/04(土) 21:13:34 ]
- すまん、レス番間違えた。
そうすると、>>709 は話の流れに関係なく唐突に「比較なんかしてないぞ」と 喚きだすちょっと危ない人になるけど、それでいいんだよね。(w
- 800 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/10/04(土) 21:34:04 ]
- >>784
パイプラインを細分化してもレイテンシが大きくなりすぎて効率が上がらないし 配線間隔が狭くなりすぎてリーク電流を抑えるのに神経使う時代が到来した今 シングルコアでクロックをひたすら上げるアプローチなんてどこもやらないよ。 強いて言えばPOWER6くらいか。 5年で5〜10倍なんてペースで進化する時代はもう終わった。 コア数分プロセス立ち上げて並列処理するのはダサい利用手段と思うかも知れないが 一番有効な手段だったりする。
- 801 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 21:37:24 ]
- >>799
> そうすると、>>709 は話の流れに関係なく唐突に もう一回書くぞw >>698 そもそも、マルチコアとマルチスレッドを比較するなよ。 >>708=692 マルチスレッドとマルチコアの話は、 >>689に言ってくださいな >>709=689 比較なんかしてないぞ AがBに「比較するな」と言い、BがそれはCに言えと言い、 それでCが「比較してない」ってのは「話の流れに関係なく」でも 「唐突に」でもないだろ >>709=689 (俺は)比較なんかしてないぞ の方がよかったかもしれんけどな 突っ込むなら比較して違うと書いたくせにCに振ったB(>>708=692)だろ
- 802 名前:>>780 mailto:sage [2008/10/04(土) 22:23:09 ]
- だったら、おまえら二人で相談でも何でもして解決してくれよ。
俺は、>>692 に「比較するのはおかしい」と指摘しただけで、 お前ら二人が別人かどうかなんてわからんのだし。
- 803 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 22:48:07 ]
- >>802
> お前ら二人が別人かどうかなんてわからんのだし。 誤読しといて開き直るなよw
- 804 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 00:01:55 ]
- ここ住人は行った人結構いそうだな
ttp://d.hatena.ne.jp/potasiumch/20080827#1219824560
- 805 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 00:59:13 ]
- >一般企業での並列化は遅々として進んでいない。某 Ad○be 社に
>並列化コンサルティングに行ったところ、「○○処理の部分はプログラマが >だいぶ前に死んだのでそれ以降誰も触っていない・触れない」「え、リコンパイル? >そんなことしたらもう動かなくなったりしないかなあ」などと言われた。 >(だからあの会社の製品はあんなに重いのだろうか?) ワロタと同時にゾッとした
- 806 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 01:03:11 ]
- シングルコアとクロック数の話で 「周波数と消費電力が2乗の関係」
ということが論じられていない件について
- 807 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 01:05:48 ]
- ああ、CPUなんて1Hzでいいよ
- 808 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 01:07:59 ]
- >>806
fは1乗 CMOSデジタル回路の消費電力 P = Na×C×V^2×f + Nt×Il×V P:消費電力 Na:動作ノード数 Nt:全ノード数 C:ノード容量 V:電源電圧 f:周波数 Il:ノード当たりのリーク電流
- 809 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/10/05(日) 01:33:10 ]
- >>806
同じアーキテクチャで同一電圧での話なら2乗だけど ある程度以上はクロックを上げるのに電圧盛らないといけないので3乗になるんじゃなかったっけ
- 810 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 01:57:03 ]
- >>806
ここはソフトウェアの板だから、そっち方面の話題の需要は無いと思われ
- 811 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 02:22:54 ]
- ソフトオンリーの人がハードを含む話をすると悲惨たからな。
>>50->>57あたりにソフトウエアの板のマルチコアCPUに対する理解度があらわれているよ。
- 812 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 02:24:48 ]
- ソフトウエア板住人の
- 813 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 03:28:52 ]
- 生活に直結していないから不要な知識なんじゃないの。
多分 >>803 みたいな話がむしろ当然な世界でしょ。 食い扶持に影響する様になったらガッと動くけど、 手を抜ける所は手を抜くのも仕事では重要だし、 コア数が一桁のうちは今のままでも困らないかと。 秘伝のソースを書き換えたりアーキテクチャを一から 変更したりするとテストだ互換性だと色々面倒だし。
- 814 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 03:30:01 ]
- スマソ。レス番間違えた。
× >>803 ◎ >>805
- 815 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 04:24:03 ]
- レンダラーとかゲームの思考エンジンとか、並列処理に向いてるソフトウェアでも
売り物じゃないオープンソースのは並列化されていない事が殆どだね。やっぱり 一手間加えるのがマンドクサイのかな。
- 816 名前:デフォルトの名無しさん [2008/10/05(日) 04:44:56 ]
- >>800
> コア数分プロセス立ち上げて並列処理するのはダサい利用手段と思うかも知れないが > 一番有効な手段だったりする。 いやだから、そんなことは当たり前であって。2個とか4個とかなら、その CPUをフルに活用するようなプログラム作れるかもしれないが。 100個とか1000個とかになったときには言語レベルで支援がないと きつくなるのじゃないかな?っていう話。まぁ100個とかになる前に、 バスネックになると思うが。
- 817 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 05:05:58 ]
- 100 CPU 越えのマシンは既にあるよ。
1 socket で 64 並列の CPU もあるし。
- 818 名前:>>780 mailto:sage [2008/10/05(日) 10:06:49 ]
- >>803
おまえらが別人かどうかもわからんのに誤読とか言われても知らんがな。 にちゃん初心者か?
- 819 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:26:23 ]
- >>816
なるほろ 確かに、これから先コア数がガンガン増えていったとして デクストップアプリケーション、例えばExcelなんかが その性能に比例して進化していけるのか 今までのアプローチでそれが可能なのか 不安が残るな
- 820 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 16:06:29 ]
- 今のスペックでそこそこ動いているものを挙げたって仕方ないだろ。
コア数が増えるならそれに適応したシステムになるのは当然。 コア数が増えて初めて恩恵を得るようなものを作っていかないといけない。
- 821 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 17:31:58 ]
- マシンがすでにあることなど関係ない
- 822 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 17:33:14 ]
- >>811
どうみてもまじめにつっこむとことちゃうだろ
- 823 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 18:08:55 ]
- >>818
くやしいのうwwwwwくやしいのうwwwwww 「レス番素直に読めば」別人ってわかるだろうがw開き直んなw もう一回書いてやるよ。こぴぺだけどな >>692の中のアンカー読めるか?>>692は>>689へのレスだぞ そして>>709の名前欄読めるか?>>709は>>689だぞ >>692と>>689=709は別人、流れはこうだろう >>689 このスレいらない子なんじゃ… >>692 マルチスレッドとマルチコアでの並列化は違う。 >>698 そもそも、マルチコアとマルチスレッドを比較するなよ。 >>708=692 マルチスレッドとマルチコアの話は、 >>689に言ってくださいな >>709=689 比較なんかしてないぞ 比較して違うと言ったのは>>692 比較してないと言ったのは>>689 > 比較もしてないのになんで「違う」なんて断言できるのか俺には謎だが。 謎なのはお前の読解力だw 謎なのはお前の読解力だw 謎なのはお前の読解力だw 謎なのはお前の読解力だw 謎なのはお前の読解力だw
- 824 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 18:17:26 ]
- オマイ等そろそろ他所でやれよな。
2ch だからって何書いても良いという訳じゃないんだぜ。
- 825 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 18:50:17 ]
- ああそろそろ規制議論板に報告して芋掘りしてもらう頃合いだな
- 826 名前:>>780 mailto:sage [2008/10/05(日) 21:00:25 ]
- >>823
> 別人ってわかるだろうが そもそもお前が誰かもわからんのに、何を言ってるんだろうこの人。(w
- 827 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 21:47:07 ]
- >>826
そうだね、君の読解力じゃ無理だよねw 笑えるよなぁ、コテハン付けて勝利宣言(>790)のつもりが墓穴だもんなwww そのコテハンそろそろ捨てた方がいいんじゃないの?他の人に迷惑だしさ 普通に考えても、恥ずかしくて出てこれないと思うけど。(w
- 828 名前:デフォルトの名無しさん [2008/10/05(日) 22:09:02 ]
- 私のために争うのはやめて!
てのはさておき、いい加減にしたらどうなんだ。 元の話でいえば、シングルコアのCPU上のマルチスレッドプログラム が、マルチコアのCPU上で動作しなくなることなんて、バグじゃなく ても当然ありうる。タイムスライス限定とかいうなよ?自分の 知ってる範囲だけがマルチスレッドじゃないのだから。 優先度に基づいたマルチスレッドもあるし、そういう環境で無駄な 排他を排除することは当然ありうる。マルチスレッドじゃないが、 割り込み禁止で排他する場合も、マルチコアじゃぁ別のCPUで 割り込みハンドラが動くこともある。
- 829 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 22:13:16 ]
- 最初からシングルコアっていうかその環境専用に作ってるならバグじゃないし
マルチコアは想定外と最初から言ってないなら普通はバグと判断される それだけのこと
- 830 名前:デフォルトの名無しさん [2008/10/05(日) 22:19:23 ]
- >>829
何をいいたいのかわからんが。そのプログラムがどんな システム向けに作られたかしだいでしょ。最初から 「マルチコアを想定して作ることを求められたプログラム」 ならバグであるし、そうでないならバグではない。 30年前のシングルコアしかなかった時代のプログラム は全部バグっているというのかい?
- 831 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 22:19:45 ]
- 折角の週末を無駄にして、君たちは一体何と戦っているんだい?
- 832 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 22:33:00 ]
- >>830
俺は>829に同意。 デフォでマルチプロセッサをサポートしてるのが当然な環境が今は多い。 PCでもWindowsNTWSは最初から2プロセッサをサポートしてたよな。 動作環境にNTが含まれていたら、対象外と明示していない限り、 マルチプロセッサ/マルチコアで動かなければそれはバグ。 前提の環境がマルチプロセッサを含まないことが明白な場合は別。
- 833 名前:デフォルトの名無しさん [2008/10/05(日) 22:39:15 ]
- >>832
だから、なんのプログラムに対してバグっているといっているのだ? 仮にあなたが発注元で要求仕様に「マルチコアでも動作すること」 という条件を含めていなかったら、それはバグではなくて仕様。 その変のフリーでころがってるプログラムがマルチコアで動作しな いとしたら、それは*あなたが*バグであるかどうかを判断する 立場にはないよ。作者がマルチコアに対応するつもりでプログラム 作っているなら*作者*はバグであるというかもしれないし、 シングルコアのみに対応するつもりなら、*作者*は仕様だと いうだろう。 前提が不明なのだよ。
- 834 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 22:52:05 ]
- それはない。逆。
このソフトはマルチコア環境では動作しません。 とうたっていない限り、バグ。
- 835 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 22:55:17 ]
- >>833
仮に動作環境がWindows2000やXPだったら、「マルチコアで動作しない」 と書いてない限り、動かなかったらバグだよ。 OSがサポートしている環境ではマルチコアもその範囲内だから。 それは明白だよ。不明じゃない。 はっきり書いてない場合にマルチコアで動いて当然の環境があるんだよ。 作者がマルチコアを想定してなくて動かなかったなら、コードを直すか ドキュメントの動作環境を直すかのどちらかは必要だろう。 つまりコードのバグか、ドキュメントのバグかのどちらかになる。
- 836 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 22:58:00 ]
- 極端な話、3GHz以上のCPUでは動きませんと明記していないかぎり、
3.2GHzだろうが5GHzだろうが暗黙の了解でソフトは動いて当然。 動かなかったらバグだろ。それと同じだよ。
- 837 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 01:31:30 ]
- 特殊なソフトじゃない限り、「シングルコアのCPUじゃないと動きません」なんて、許されんな。
- 838 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 02:40:38 ]
- 『動く』と書いてあるのに動かないのはバグ。
書いてなくて動かないなら、動かなくてもおk
- 839 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 02:51:16 ]
- 『動かない』と書いてないのに動かないのはバグ。
書いてあって動かないなら、動かなくてもおk
- 840 名前:デフォルトの名無しさん [2008/10/06(月) 03:01:12 ]
- >>835
Windozeとか、べつにタイムスライスしかないのだから、ドライバで ないかぎりマルチスレッドプログラムは、普通にマルチコアでも動く だろ。何をいってるんだ?
- 841 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 03:07:14 ]
- >>840
上のほう読んでよ。アトミック操作を適切に行っていないプログラムは、 マルチコアで動かないけどシングルコアでマルチスレッドなら動くって眉唾なこと言っている奴がいたんだ。
- 842 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 03:56:07 ]
- >>838
そう思ってるのは開発側だけだな。
- 843 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 04:13:35 ]
- そういや昔、マルチスレッドのプログラムがちゃんと動くかどうかテストするのに
マルチプロセッサのPC組み立てたっけ。 90MHzのPentiumでDaytonaだった。
- 844 名前:は@携帯 ◆cplnFO9T0I [2008/10/06(月) 09:53:26 ]
- 高速なCPUで動かないソフトといったらWindows95だろ
たかだかK6-2の350MHzでコケるってどんだけだよと
- 845 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 10:29:44 ]
- コア数が増えてoccam復権しねぇかなぁ
- 846 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 11:09:06 ]
- >>843
マヌケだなw
- 847 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 15:08:16 ]
- >>840-841
二人とも0点
- 848 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 16:37:47 ]
- 一般的なソフトウェア開発の観点では、プロセッサもしくはランタイム環境の、主にメモリモデルに起因する問題が多い
- 849 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 21:15:49 ]
- >>864
理解できない時は素直に認めた方がいいぞ。
- 850 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 21:22:16 ]
- スルーパス出ました
- 851 名前:>>780 mailto:sage [2008/10/06(月) 22:02:03 ]
- >>827
>>826
- 852 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 13:24:40 ]
- このスレ絶望的にレベルが低いですね。
- 853 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 13:33:32 ]
- 今日はそうみたいだな。
- 854 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 13:36:45 ]
- ダンゴさんが最近発言していないからな
|

|