- 1 名前:デフォルトの名無しさん [2006/01/18(水) 08:31:11 ]
- 最近のCPUはマルチコアが技術トレンドになっています。
それに伴い、ソフトウェアは並列化というパラダイムシフトが 求められています。効率のよく並列化を実現するためにはアル ゴリズムやデータ構造といった部分を根本から見直す必要が あります。しかし、トレンドができてからあまり時間が経って ないため、そいういったノウハウが蓄積されていません。 そこで、マルチコアを生かすためのソフトウェア設計というのは どういうものか?という議論をするためのスレッドを立てました。 ソフトウェアの並列化に対して考えのある人や、インターネット 上のリソース、論文等があればどんどん書き込んだりリンクを 貼ってください。 【関連スレ】 OpenMPプログラミング pc8.2ch.net/test/read.cgi/tech/1102483474/l50
- 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 ]
- ダンゴさんが最近発言していないからな
|

|