ニュース

CPUに適度に間違わせることで節電する技術

画像出典:MIT Jose-Luis Olivares

 米国にて10月20日から24日に開催された「Object-Oriented Programming, Systems, Languages and Applications」(OOPSLA)において、米マサチューセッツ工科大学(MIT)の研究者が、プログラムの特定の部分に多少のエラーを許容することをプログラマーに指定させる新しいシステムを発表した。

 一般に、トランジスタはプロセスルールが縮小すると信頼性が下がる。電圧を上げると、信頼性は上がるが、同時に消費電力も上がってしまう。現在のプロセッサは、消費電力の壁に当たっており、いかにして効率を上げるかが求められている。

 そういった事情の中、近年議論されているのが、“概算的演算”を行なうコンピュータシステムだ。例えば、映像や画像処理において、1ピクセル色が本来と違うといった、若干の出力エラーがあっても、おおよそ合っていれば、ユーザーはそれを許容できる場合がある。これを逆手に取り、CPUやメモリなどのチップの一部の電圧を下げ、その部分で明示的に演算をさせることで、演算の正確さや信頼性をある程度犠牲にしつつも、消費電力を減らすというのが、概算的なコンピュータシステムのコンセプトだ。

 このシステムで問題になるのが、いかにして許容できる範囲での“非信頼性”を得るかという点だ。今回MITが考案した「Chisel」というシステムでは、コードのどの部分にエラーを許容させるかをプログラマーが指定すると、どの命令を信頼できないハードウェアに割り当てるかを自動的に決定できる。応用範囲は、画像処理、金融分析アルゴリズムなど限定的ではあるが、消費電力を9~19%削減できたという。

 コンピュータは、正確であることを至上命題に発展してきたが、さらに効率を上げるためには、その命題に背かなければならないターニングポイントにさしかかっているようだ。

(若杉 紀彦)