計算機の熱問題で主役になるのはHWである。半導体や抵抗の熱は故障や計算速度の限界に関わる重要な問題である。それが現在のコンピュータの性能、とくにCPUの性能を左右していることは間違いないだろう。
しかし、ここでSWの熱問題というのも別の観点から考えておく必要があるのではないか。同じHWで、JAVAとアセンブラとでは同じ動作をさせるには、どのくらいのエネルギー消費の差があるのだろうか?
機械語に近い方がエネルギー消費が少ないというのは尤もらしいであろう。言い換えると機械語からかけ離れると発熱量が高くなるのではないか。
そうなるとJAVAはかなり発熱量が高いプログラム言語の一つであると言えそうである。それは
JavaVMの存在からも裏付けられるのだろう。
JavaVM自体、興味深い存在だ。PCやスマホなどHWに依存せず同じアプリケーションを動かすための仮想計算機なのだ。
この仮想計算機は「仮想の発熱」をするのではないだろうか?
余計な計算、迂回的アルゴリズムのようなものが介在することでJavaはHW非依存を実現していることは間違いないであろう。そうなると仮想の発熱はどういことになろうか?
もちろん、リアルな熱発生を起こしているのは確からしいであろう。
さて、スマホのアンドロイドOSはLINUXで動いている。そのアプリはJAVA製である。つまり、仮想の発熱を抱えたマシンであるわけだ。
プログラム言語の熱力学の一般論は可能だろうかという問いかけは無意味だろうか。
宇宙をプログラムする宇宙―いかにして「計算する宇宙」は複雑な世界を創ったか?
- 作者: セス・ロイド,水谷淳
- 出版社/メーカー: 早川書房
- 発売日: 2007/11/10
- メディア: 単行本
- 購入: 4人 クリック: 80回
- この商品を含むブログ (40件) を見る