- 1 名前:デフォルトの名無しさん [2006/01/18(水) 08:31:11 ]
- 最近のCPUはマルチコアが技術トレンドになっています。
それに伴い、ソフトウェアは並列化というパラダイムシフトが 求められています。効率のよく並列化を実現するためにはアル ゴリズムやデータ構造といった部分を根本から見直す必要が あります。しかし、トレンドができてからあまり時間が経って ないため、そいういったノウハウが蓄積されていません。 そこで、マルチコアを生かすためのソフトウェア設計というのは どういうものか?という議論をするためのスレッドを立てました。 ソフトウェアの並列化に対して考えのある人や、インターネット 上のリソース、論文等があればどんどん書き込んだりリンクを 貼ってください。 【関連スレ】 OpenMPプログラミング pc8.2ch.net/test/read.cgi/tech/1102483474/l50
- 610 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 02:08:16 ]
- テキトウに仮想化でもしたほうが効率よさそうな気が
- 611 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 02:14:38 ]
- >>610
それは現実的すぐるw とりあえずタスクマネージャーはこうなる ttp://www.microsoft.com/japan/sql/images/ssj/ki03_02_l.jpg これで「関連の設定」は64CPU設定できるのか? つかItaniumだから64bit Windowsか…
- 612 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 02:54:12 ]
- Win64ではモーマンタイだた
BOOL WINAPI GetProcessAffinityMask( __in HANDLE hProcess, __out PDWORD_PTR lpProcessAffinityMask, __out PDWORD_PTR lpSystemAffinityMask ); DWORD_PTR WINAPI SetThreadAffinityMask( __in HANDLE hThread, __in DWORD_PTR dwThreadAffinityMask );
- 613 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 03:25:02 ]
- >>607
606じゃないけど、HTは面倒な存在じゃない? 普通のマルチプロセッサなら異なるプロセッサ間で同じキャッシュラインに アクセスしない方が良いが、HTの場合は逆でしょ? ベンチ取ってないんで、どのくらい影響があるのかは具体的には分からんが。
- 614 名前:デフォルトの名無しさん [2008/06/01(日) 03:36:55 ]
- menndouda
- 615 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 03:41:14 ]
- >>613
それはPower含めてSMT全般にいえるし、少しレイヤをずらすと 2(3)次キャッシュ共有のマルチコアやNUMAにもいえるんで、 そんなに特殊なことではない。 さっきWin64調べてたらこんなAPIがあった BOOL WINAPI GetNumaNodeProcessorMask( __in UCHAR Node, __out PULONGLONG ProcessorMask ); これで距離の近いノード内のプロセッサマスクを取得できる。 NUMAアーキテクチャに限定せず、SMTやキャッシュ共有のコアを ノードと見なすことができると、細粒度並列実行で効果的なヒントを 与えられるかもしれない。
- 616 名前:デフォルトの名無しさん [2008/06/03(火) 13:35:38 ]
- マルチコア対策としてこんなのがあります。
www.axon7.com/ また、これも参考になります。 www.cspjapan.org/
- 617 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:45:14 ]
- >>616
>537
- 618 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:58:55 ]
- マルチプロセス、マルチスレッド、マルチコア、マルチプロセッサ、SMT、メモコン共有、キャッシュ共有、演算器共有。
これが複合的に絡んだときの最適化は複雑すぎる。
- 619 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:44:35 ]
- >>617
>549
- 620 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:47:41 ]
- 間違えた、>619は>616へ。
>>618 それをコンパイラで成し遂げることが前提のItaniumは不可能に挑んだようなものだな
- 621 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 13:51:00 ]
- マルチコアは、今までのソフトウェア技術を台無しにしてくれる素晴らしい技術だよね。
これからはソフトウェアとハードウェアの境界が無くなって、 プログラムを作るのは、より一層大変になる。
- 622 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 14:08:33 ]
- ハードとソフトが緊密に絡む領域はこれまでもあったんだけどな
無停止システムとか
- 623 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 14:08:49 ]
- 今までのマルチプロセッサ向けのソフトウェア技術の延長にあるから
台無しという事は無いよ。もう何十年も研究が続けられている分野だ。
- 624 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 15:54:23 ]
- 何十年も研究とか、無駄の極地だねwww
- 625 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 16:04:53 ]
- ロックフリーのアルゴリズムやトランザクショナルな変数アクセスが
もっと一般化してくれば、そんなに恐れる物でもない気がするけどね
- 626 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:43:57 ]
- >>621
いったい何に怯えているんだろうか
- 627 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:51:05 ]
- まあそりゃ単一スレッドで速くなるほうがありがたいけどな
- 628 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 19:06:01 ]
- 荒い粒度の並列化や、ベクトルの並列処理はとっくに研究され尽くされてるけど、
その中間が非常に厄介。 しかし、これからは単一スレッドでは速くならないわけだから、それをやらないといけない。
- 629 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 19:53:53 ]
- ループを展開する自動並列化くらいはインフラとして整備して欲しいね
- 630 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:02:40 ]
- >>629
自動じゃなくてもparallel array使えばおk
- 631 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:56:43 ]
- >>628
divide and conquer work stealing fork/join parallel array
- 632 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:32:29 ]
- 遅レスだが
ハードウェア・ソフトウェア協調設計等は組み込みでは昔からよく見られるんじゃないか? まあ、シミュレーター等の開発統合環境が整えられているなら最適化はむずかしくないよ。 ただ工数と時間と労力が膨大に費やされていくだけで
- 633 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 19:49:18 ]
- 組み込みの場合は、環境のプロセッサ数やプロセス数は固定されてるから、難易度は低いんじゃないかな。
PCの場合は、対象のプロセッサ数は予想できないし、同時にどんなプロセスが動くかも分からないから、難易度が高い。 というか、PCの場合は、何らかの動的最適化メカニズムが必要になるんだよね。 pc.watch.impress.co.jp/docs/2008/0613/hot554.htm インテルはCを拡張してJITコンパイラで最適化する研究をしてるようだけど、 実用化はまだまだ先だよな。
- 634 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 06:28:11 ]
- 1.マルチなんたらとか並列化とか、なにも考えずに作る。
2.あとは開発環境とOSがなんとかしてくれる。 3.下手なこと考えるより、そのほうが最終的に効率が良い。 こういうのが理想なんだけどなぁ…。
- 635 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 09:34:03 ]
- スレ民じゃないけどマルチコアネタがあったのでぺたぺたしていきます。
「Ruby 1.9は1.8より平均5倍速い」、YARV笹田氏 − @IT ttp://www.atmarkit.co.jp/news/200709/07/yarv.html 今後のテーマは並列処理によるスケーラビリティ向上 今後の研究テーマとして笹田氏は、並列処理への対応など スケーラビリティに取り組みたいと話す。ただ、「Rybyの言語仕様の 枠組みでスケーラビリティを上げるのは難しい」ため、マルチコア、 マルチプロセッサといった密度の高い並列化よりも、クラスターや グリッドのようにネットワークで接続された複数ホストによる並列化を 実現していくのがいいのではないかという。
- 636 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 10:51:06 ]
- >>634
それ何て第五世代 >>635 むしろマルチコア関係なくね?
- 637 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 10:59:42 ]
- マルチコア向けの最適化はしない方向だ、という内容だな。
- 638 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 16:27:58 ]
- 今後もRubyのスレッドはマルチコアを使いこなすようにはしない方針ということだな
- 639 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 16:42:50 ]
- Rubyなんて並列化のこと何も考えてないじゃん。
書いててわくわくするとか日和ったこと言ってる言語では到底無理。
- 640 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 20:49:23 ]
- 並列化に興味をもったRuby使いはErlangあたりに移行するのだろうか
- 641 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 23:42:11 ]
- アルファブロガー(笑)あたりに煽ってもらえばイッパツよ
- 642 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 14:51:27 ]
- jruby
- 643 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 12:34:27 ]
- Erlangが騒がれてるのは副作用がないのとメッセージングがあるからなの?
ほかの言語でも多少見苦しくなっても同じことはできんの?教えてエロイ人。
- 644 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 10:33:33 ]
- >クラスターや
>グリッドのようにネットワークで接続された複数ホストによる並列化を >実現していくのがいいのではないかという。 ハードは明らかにマルチコアに進んでいて、 サーバも集約統合が進んでいるというのに。 Rubyみたいなソフト側が手前の都合だけで 「いいのではないか」とかいって方針だしても何の意味もないわけだが。 誰もそんなハード持ってません。 今のハードにあってません。 ってなるだけ。
- 645 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 17:36:31 ]
- なに、寝ぼけたレスしてるんだ?
>>644 は、Ryby という新言語について語っているんだぞ。
- 646 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 19:45:47 ]
- >>645
誰に言ってるの?
- 647 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 20:28:00 ]
- なに、寝ぼけたレスしてるんだ?
>>644 は、Ruby という言語について語っているんだぞ。
- 648 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 20:50:57 ]
- なんだ、キ印か。
- 649 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 22:48:29 ]
- >>644 って、Googleのサーバーとか、AmazonのEC2とか、分散環境が流行ってるのを知らないのか。
サーバーの集約統合が進んでるのは、既存のサーバーや負荷の低いサーバーでしょ。
- 650 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 17:23:48 ]
- 分散環境が流行ってるって…
すごい規模なんだからどっちにしても分散が必要なのは当たり前。 googleなんかは2003年の時点でこれからはマルチコアみたいなこと言ってるぞ。
- 651 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 17:40:39 ]
- 実際流行ってるんだけどなぁ。
クラウドとかいうキーワードでぐぐってみりゃわかると思うよ。 実効性はともかくね。
- 652 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 17:44:47 ]
- クラウドが流行ってるってのはSOAが流行ってるってのと
どっこいどっこいだな。 ごく一部で当たり前になってるのと広く使われてるのとは 全然違ってて、どっちの話をしてるかがズレてるんだな。
- 653 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 17:49:52 ]
- P2P→グリッド(言い換え)→クラウド(言い換え2)
- 654 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 17:50:04 ]
- オフコン時代の鯖だと鯖っていえば特定の対応関係になってたのが
OOのポリモフィズムみたいな多態になっただけだ C<->Sの関係が1:1だったのが C<->Sの関係がN:Mになっただけだ SOAはC<->Sの関係がN:1だったがな たしたことない。言葉変えて変化を促そうとしている単なる言い換えだ 詐欺の一種だ
- 655 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 17:56:49 ]
- クラウドとマルチコアって関係ないじゃん
- 656 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 18:12:59 ]
- まあ関係はないね
ハードの保守性とソフトのスケーラビリティを考えて、 マルチコアのマシンを仮想化してクラウドにするみたいな 話は聴いた事あるけど >>654 ハイプで成り立ってる所も大きいから、そんなもんかと www.atmarkit.co.jp/aig/04biz/hypecycle.html
- 657 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 18:41:15 ]
- とりあえずクラウドはスレ違いだろ
並列化の粒度が違う。クラウドは祖粒度、こっちは細粒度 ネタがないから構わんけど
- 658 名前:651 mailto:sage [2008/09/28(日) 18:45:37 ]
- >>652
どっこいどっこいというか、いままでSOAをかついでたところが、クラウドを担ぐようになってる。 SOAのように、クラウドは流行っている。まあそういう意味だ。 この件は、これで。
- 659 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 18:52:32 ]
- すかしっ屁こいてクライアント騙すのがクラウドなのか?
- 660 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 18:59:16 ]
- そう思う奴はいつまでも足踏みしてればいいのさ
- 661 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 19:07:46 ]
- >>657
×祖粒度 ○粗粒度
- 662 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 21:04:14 ]
- クラウドもSOAもわかってないやつ多すぎ。
そんなやつらがマルチコア云々なんてしょーもねー。 せいぜい単純労働者としてコキ使われてなw
- 663 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 21:08:22 ]
- どっちもバズワードなんだから分かっているという方がおかしい
- 664 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 21:36:35 ]
- バズワード自体がバズワードというパラノイア
- 665 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 21:46:40 ]
- バズワードを使ってる人間はバズワードかどうかなんて気にしていないから、
一回りして結局おk
- 666 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 17:24:22 ]
- >>658
SOAと普及でぐぐると ・普及が進まない ・普及促進 ・普及狙う ・普及を目指す ・普及を後押しする こんなんばっかですけど? 流行ってるけど普及しない。笛吹けど踊らずw
- 667 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 01:37:12 ]
- クラウドはどうかと思うが、分散は物理的な話でもあるし必要なところには普及するんじゃないかな。
CPUでの並列だと限界が低いし拡張も難しいから、>>656の言うようなマルチコアマシンの仮想化で分散ってのが現実的ではないだろうか
- 668 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 07:01:26 ]
- つまり金融工学みたいな
もんですね
- 669 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 18:54:26 ]
- 「クラウド・コンピューティング」は「仮想化」以来の“乱用語大賞”
www.computerworld.jp/topics/cloud/123069.html
- 670 名前:644 mailto:sage [2008/10/01(水) 20:30:34 ]
- 644ですが普段アーキスレとかに書いている身からすると、
このスレの住人はレベルが低すぎます。 キミらが並列化について語るのはまず無理。 チップあたりの性能をあげられなくなったら、 分散処理でも同一コストで性能あげられないの。 Rubyの件はいかにもソフトしかしらない人向けの 苦しいいいわけだなあと。
- 671 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 20:51:50 ]
- 自分以外みんなバカ症候群
- 672 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 23:06:07 ]
- ひんと: 賢い奴はこんなスレの住人なんて相手にしない
- 673 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 00:04:30 ]
- レベルが低過ぎてどこを縦読みすれば良いのか分からないや
- 674 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 00:21:48 ]
- アーキスレってどこ?
殴りこみかけてくる
- 675 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 00:59:37 ]
- 残念だけど、現状ではマルチコアってサーバサイドや一部の
embarrassingly parallel な処理以外では絵に描いた餅だよね。 デスクトップ機でクアッドコア以上のプロセッサが必要な 場面は思い付かない。それこそハード寄りの知識を持っていない、 スレッド周りの実装の知識も無い様なプログラマが、難しい事を 考えずに処理性能を出せる仕組みが欲しい物だね。fork/join でも ヘテロなマルチコアでも何でも良いけど。
- 676 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 01:16:48 ]
- 後はトランザクショナルメモリと投機的実行も期待してるけど
なかなかこういうのは普及しないねえ…
- 677 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 01:20:49 ]
- ゲーム機でやってるじゃん
- 678 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 02:33:49 ]
- >>676
投機的実行ってRockのスカウトスレッド? 命令レベルの投機的実行と紛らわしいから用語は分けたいな 同時投機スレッド(Simultaneous Speculative Threading)とかな トランザクショナルメモリはどうかねー RockのHTMじゃアプリケーションレベルのトランザクション 扱うのは無理だしSTM組み合わせるとオーバーヘッドが大きすぎて 性能出ないと予想してる つRockの出荷来年の後半とか遅れすぎだろjk
- 679 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 20:15:08 ]
- 今普及しているデュアルコアマシンみたいな感じで
6 core のマシンが一番売れ筋のマシンになったら プログラマはどうすればいい?
- 680 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 21:08:30 ]
- Vistaをお勧めする
あとセキュリティソフトを3つぐらい重ねがけ これで万全
- 681 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 21:30:33 ]
- >>674
CPUアーキテクチャについて語れ Part.12 pc11.2ch.net/test/read.cgi/jisaku/1219884494/ 最近は常駐コテの意地の張り合いばかりでつまらないくなってきてるけど アーキテクチャスレは↑ 普段は名無しだが、MACオタ(翻訳)などは漏れ。 がんばって殴り込みに言ってくれや。
- 682 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 21:43:42 ]
- >>681
なんでこのスレ来てるの?
- 683 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 22:18:05 ]
- >>681
2chらしいスレだなw 40 名前:Socket774[sage] 投稿日:2008/08/29(金) 02:47:03 ID:Yk6PbdtE ま、MACオタよりよっぽどマシな態度なんで、いじめるのはここまでにします とか書かれててワロタ お前そんなに態度悪いのかよw
- 684 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 22:36:01 ]
- ダンゴさんそこでがんばってたのか
お似合いだなw
- 685 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 22:43:59 ]
- せっかく収まるところに収まってるのに煽らないでくれ。頼むから。
- 686 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 00:45:17 ]
- 644みたいな状態って、自分の専門は知ってるんだけど他のことは知らなくて、自分の知らないことはたいしたことないって思ってるだけなんだよね。
というか、自分が他のことを知らないことを知らない。 だから、「このスレの住人はレベルが低すぎ」とか言っちゃう。
- 687 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 00:48:56 ]
- でもまぁ、このスレのレベルが低いのは事実だろう。
レベル高い議論って一つでもあったか?ないよな。そういうことだ
- 688 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 00:53:53 ]
- マルチコア用のテンプレートライブラリを活用しているという話を聞かないね
良さげなのにググっても実際に使っている例が殆ど出て来ない C++ の人気が無いのかテンプレートが嫌われてるのか… www.threadingbuildingblocks.org/ spc.unige.ch/mptl sourceforge.net/projects/rpa www.extreme.indiana.edu/hpc++/docs/overview/class-lib/PSTL/
- 689 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 01:26:23 ]
- ライブラリの話はマルチスレッドスレがあるからなあ
このスレいらない子なんじゃ…
- 690 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 01:39:29 ]
- >>687
「住人はレベルが低すぎ」などと書いて無用に荒らすのが一番レベル低いがな。
- 691 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 02:36:30 ]
- >>689
要らなかったらスレが亡くなるだけだから気にしなくておk
- 692 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 03:39:27 ]
- >>689
マルチスレッドとマルチコアでの並列化は違う。
- 693 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 04:03:36 ]
- >>692
どう違うか語ってもらおうか
- 694 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 04:06:23 ]
- マルチスレッドは、タイムスライスで同時に動かなくてもおけ
- 695 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 04:31:02 ]
- マルチスレッドが並列に動かなくていいわけないだろ
マルチコア以前からマルチプロセッサは当たり前にあるんだしよぉ 本気でレベル低いなここ…
- 696 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 05:34:37 ]
- ・・・この人、シングルコアのシングルプロセッサで、CPUが同時にひとつの仕事しかできなくてもマルチスレッドは可能ってことわかってるのかな?
しかし、ほんと、自分の無知をしらずに、他人のレベル低いって言うのは恥ずかしいな。
- 697 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 07:28:21 ]
- windowsもクラウドが標準になるんだな
japanese.engadget.com/2008/10/01/os-windows-cloud/
- 698 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 10:41:52 ]
- >>696
・・・この人、シングルコアのシングルプロセッサで、CPUが同時にひとつの仕事しかできない時のマルチスレッドとマルチコア/マルチプロセサでのマルチスレッドじゃ状況が違うってことわかってるのかな? しかし、ほんと、自分の無知をしらずに、他人のレベル低いって言うのは恥ずかしいな。 >>692 そもそも、マルチコアとマルチスレッドを比較するなよ。
- 699 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 10:53:10 ]
- >>698
おいおい、状況は違うのは分かるが、プログラムは同じにしとかないと まずいだろ。 どこかのエンコソフトみたいにCPUのコア数によって使うルーチンを切り替える ようにするなら話は別だが。
- 700 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 11:50:27 ]
- 誰もプログラムを別にするとかなんて言ってないけど?
状況が違うと言うのはシングルコア and シングルプロセサで問題ないプログラムでも マルチコア or マルチプロセサで問題が発生するケースがあるってだけ。 種々の要件によって、その状況によってプログラムを切り替える実装はあると思うが、 それはもっと条件を限定しないと議論できない。
- 701 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 12:03:57 ]
- デッドロックとかレース状態とかそういう次元の事かな。
確かにシングルコアでは問題ありとしながら問題が潜在化してたものが マルチコアにした途端に顕在化する場合はあるね。
- 702 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 12:37:48 ]
- >>701
マルチスレッドプログラミングとしては単なるバグじゃん
- 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に限らずバリア入れる。
更新するのが一人だけだったら、ちょっと考えてから決める。
|

|