プログラマはアムダールの法則を打破できるか?

後藤弘茂のWeekly海外ニュース – アムダールの法則を巡るIntelとAMDの戦い
マイクロプロセッサに関するアムダールの法則については上のリンクを参照。
結局のところアムダールの法則を打破するのはプログラマである。
アムダールの法則を打破するとは、マルチプロセッサに対応した厄介で危なっかしい平行動作をするアプリケーションをいかにして生産性高く記述していくかということでしかない。
この厄介さを解消し、プログラムの生産性を向上させるには、Java VMや.NET CLIのような仮想実行環境が、今以上にこのプログラムの平行性を支援し、プログラマがマルチスレッドなプログラムを記述しやすくするという方法が一つ、もうひとつの方法としては、タスクの高度な平行実行を前提とするプログラミング言語を新たに構築する方法が考えられる。また、もちろんOSレベルでの積極的な支援も必要だ。(最近のLinuxやFreeBSDのタスクスケジューラーの変更はこのような情勢を踏まえてのことだ。)とは書いてみたものの、結局のところこれらの仮想実行環境やOSもプログラマが書くしかないのだ。
ということで、マイクロプロセッサがマルチコア化したとしてもその力を発揮させるにはプログラマが自身の技量を挙げていくしかないというわけで、プログラマにとってはマルチコア化は大きなデメリットなのかもしれないよ。
さてと、スレッドプログラミングの勉強でもしましょうか。(W

コメントを残す