みなさん、こんにちは。宮原です。だいぶ夏も近づいてきたという感じですが、お元気ですか? クロックアップしたCPUにはしんどい季節になりつつあるので、CPU温度には気をつけましょうね。
というわけで、今回はLinuxとCPU速度の関係について、りなめし的に考えてみたいと思います。
「CPU速度」とひとことでいいますが、単純に表示されているクロック速度だけで何事も決まるわけではありません。L1キャッシュ、L2キャッシュの容量やバス速度なども速度を決める大きなファクターとなります。
しかし、コンピュータの速度に対しての一番大きな誤解は、コンピュータはCPUだけで動いているのではない、CPUの速度だけがコンピュータの速度を決めるのではないということです(あ、別にあなたが誤解しているというわけではありませんよ。どちらかというと上司やユーザーが誤解しているということです)。
おもにCPU速度の足を引っ張るボトルネックとなるのは、ほとんどがデータのI/Oに関する部分、すなわちメモリやディスク、ネットワークなどです。メモリはともかく、ディスクやネットワークはCPU速度よりも圧倒的に遅いです。つまり、CPUがガンガン計算をしていっても、ディスクやネットワークがデータのやりとりを終わらせられないので、次の処理に移れないということですね。ですので、もしある速度をコンピュータに求めるのであれば、単にCPU速度を上げるだけでなく、さまざまな方法を使ってディスクやネットワークのボトルネックを取り除いてあげる必要があるということです。昔はコンピュータ様の都合で遅かろうが人間が我慢しないといけない時代でしたが、今や立場はまったく逆。しかしCPU以外の部分で技術的に革新的な速度アップが図られているわけでもないので、なかなかツライところだと思います。
もうすぐ私の会社でも新しいマシンを発売するのですが、CPUにはCeleron-533MHzというコストパフォーマンスの高いCPUを使っています。反面、超ハイスペックなCPUはクロック速度1GHzに突入しているご時世なので、どうしても相対的に速度を評価されてしまいます。最近のそこそこのクラスのデスクトップPCでもこの程度のクロック速度を採用しているマシンが出てきていますしね。しかし、昔からPCサーバをいじっている人、Linuxのことが分かっている人から見ると、533MHzのクロック速度を使い切る前にほかが音を上げそうだな、というのは感覚的に分かるところでしょう。
車でもそうですが、日本人の意味のないカタログスペック重視の姿勢の弊害はなかなか辛いところです。
次回も速度の話をしたいと思います。