プログラムもハードウェアも全く解らない素人が妄想してみる(笑)
現在、パソコンの頭脳のCPUはクロック数の向上よりもコア数を増やしての
並列性を上げる方向に進んでいますね。
今主流のデュアルコア程度ですと、そこそこ両方とも使われているように感じます。
ですが、4コアにもなるとエンコード等マルチスレッドで組まれたプログラムで
無い限り4コア全てを効率よく使用しているという状況は出にくくなっています。
今後6コア、8コア、それ以上になった時にどうしよう?という事です。
プログラムを組む人達は、増えたコアをどうにかして上手く足並み揃えて動かそうと
考えるはず。例えるなら二人三脚のように。
以前テレビで30人31脚という大人数での競争がありましたが、速く走るのは大変
難しそうでした。プログラムも一緒という訳ではないのでしょうが、上手い具合に
進ませるのはやはり難しそうです。
そこで、8コアなど多数のコアが存在するのならば、いくつかは別の事に使う
という手段は無理なのかな?と
簡単に書くと、メインは4コアで動作、残りのコアは過去の操作例から先読みして
データを読み込み、計算してキャッシュとしてプールしておくと。
と思ったんですが、アプリを切り替えたら貯めたキャッシュが全く無駄に
なりますね><不要なデータでメモリ消費してどうすると…。
いつまでもキャッシュを残しておく訳にもいかないですし。
また、先読みが利きにくいアプリもありますね。全然ダメだー。
元の案はウィルスでした。ウィルスはバックグラウンドで知らず知らずのうちに
ファイルを増やしたり、ネットワークにデータを流したりしますよね。
その動作を正規の挙動に加えられないかな?と思ったんです。
ただ、最終的に現在フォアグラウンドで動作中のアプリと何処かで足並みを
揃える事を考えると難しいかぁ…。
ウィルスはOSとは別に好き勝手に動作しますしね。
あ。下手すればウィルスの挙動と勘違いされるか。難しいや。
ぼくのかんがえたすーぱーろぼっと(笑)よりもダメ案ですが、
せっかく書いたので載せちゃえ(^^;