「サーバサイドでは順調だが~」とか言ってるように、デスクトップ用途の話なんですよねこれきっと。 と、なると、マルチコアが有用な利用法を考えて、かつユーザに受け入れられる必要があります。ただ、デスクトップ用途のほとんどは「人間とのインタラクション」だと考えると、人間のI/Oは並列化しづらい性質のものなので(少なくとも言語的思考の流れや注視点は2つ以上にすることは困難)、CPUにはI/Oに関係しない仕事をやらせるか、「壁紙を動画にする」などの無駄な仕事をやらせるかのどちらかになるのだと思います。 そもそも、今のPCに求められてる機能って
- In
ソフトウェアって一括りにするのは間違いで (スコア:2, 興味深い)
と、なると、マルチコアが有用な利用法を考えて、かつユーザに受け入れられる必要があります。ただ、デスクトップ用途のほとんどは「人間とのインタラクション」だと考えると、人間のI/Oは並列化しづらい性質のものなので(少なくとも言語的思考の流れや注視点は2つ以上にすることは困難)、CPUにはI/Oに関係しない仕事をやらせるか、「壁紙を動画にする」などの無駄な仕事をやらせるかのどちらかになるのだと思います。
そもそも、今のPCに求められてる機能って
- In
Re:ソフトウェアって一括りにするのは間違いで (スコア:2, 興味深い)
それこそが古く凝り固まった考え方なのではないか?と思うのです。
人間が同時に操作できない点に縛られて後ろ向きになったり、
別々の複数のソフトウェアやバックグラウンドのI/Oを走らせる用途しかアイデアがないとか、
そういう古典的な並列コアの使い方を何とかしろよと問われているのだと思うのですが。
ほとんど効果が見えないSIMD命令の類も同じ。本当に動画のエンコードぐらいしか活用方法がないの?
マルチメディア処理用命令と業界全体が思い込んでるだけじゃないの?
=-=-= The Inelegance(無粋な人) =-=-=
Re:ソフトウェアって一括りにするのは間違いで (スコア:0)
プログラムの並列化の研究って、やってるところでは目一杯研究してるけど、
以前から依存関係の問題から、命令レベルでは頑張って投機実行をやっても、
IPC 4.5程度から先に進めないという結果が出ていて既に頭打ち状態。
並列化による高速化ってのは、やらせたい処理を多数の計算機資源に割り振って、
同時に実行させる事によって、処理時間を短縮しようとする訳だけど、割り振った
処理の内容に依存関係があると、処理を水平に割り振っても同時実行できなくなっ
ちゃうので、依存関係がある部分については並列化しても処理が高速に終わらない。
並列化で処理速
Re:ソフトウェアって一括りにするのは間違いで (スコア:0)
これからは、時間がかかる処理は今までのような関数呼び出しじゃなくて、スレッド起こして後で結果だけもらう(結果が要らなかったらそのまま放置)といった設計が主流になっていくと予想してるけど。
#あまり簡単な処理はスレッド起こしてもオーバヘッドが大きいだけなので意味無いけどね。
##スレッドにした方がいい閾値としては、処理時間が0.1秒〜1秒くらい?