ぜんぜんわからん。

めっちゃねてる。

CPU零れ話

最近の口癖は「院試ヤバイ」

 

先日、助教の先生と博士の先輩からあれやこれや話を聞くことが出来たので忘れないようにメモ。

 

パタヘネっていう超(?)有名な書籍のMIPSアーキテクチャVerilogを用いて研究の一環としてB4は作成している。

そもそものCPUの中身はトランジスタっていう増幅器でありスイッチである電気素子で構成されている。で、トランジスタを小型化することでCPU内部の集積度を上げて計算能力を向上させることが出来た。ムーアの法則ってヤツに従ってきたんだけど、さすがに小型化にも当然限界が見えてきたわけで、原子レベルの話になってきたって現状。

 

集積度が上がっていくとなると、トランジスタも当然小さくなる。で、トランジスタが小さくなると熱容量が大きくなるので、もしこのままムーアの法則に従うとトランジスタが太陽の表面温度よりも熱くなってしまう(論文があるらしいからそのうち読みたい)。熱暴走は言うまでもない。

 

じゃあどうやって解決していこうか?どうやってCPUの性能を上げていこうかっていうのが今いる研究室の大きな方向性らしい。

 

で、例えばCPUの性能を上げる方法として、動作周波数を上げるという方針がある。これは1s辺りのクロック信号立ち上がり立ち下がり回数の事で、単純に「1sに実行可能な命令数」って認識で良いと思う。2005年くらいまではその動作周波数、クロック周波数を上げることがよく行われていた。

だけど、ここである問題が生じた。熱がやはり問題となった。

動作周波数を上げるほどCPUが高熱を発してしまい使い物にならなくなってしまう。

https://isabou.net/Convenience/Tool/gpu/gpu13.asp

当然これだけが原因ではないが、それを解決する方法としてマルチコアと言って複数の演算能力を持ったCPUを作ろうぜってなったのが00年代後半。(プロセスルール(配線の幅)を小さくするのと、ダイの小型化に物理的な限界がきてしまって、やはり熱が原因になってしまった)

 

スーパーコンピューターの話に変わるが、あれはパソコンを並列につないで処理を分散させてるから計算が早いが、スパコンのCPUの動作周波数って多くの人が使っているCPUの動作周波数と大差ないらしい。

ところで、アムダールの法則ってのがある。ザックリ言うと、並列化(性能改善の影響を受ける部分)によって期待できる性能の向上率を示す指標の事で、いくら頑張っても線形処理部分(性能改善の影響を受けない部分)の時間はどうしても残っちゃうよってこと(収穫逓減の法則)だが、例えば自作PCGPUを使って時間のかかる計算を任せようって思っても、プログラミング言語側で並列化処理されていない限り全く持って意味がないという事が起きたりする。だからndiviaのGPUC言語の処理させたいならCUDA Cとかいうちょっとだけ変わった記述方法があったり、Pythonのよく使われるライブラリ?であるnumpyは初めからGPUでも処理が可能なように並列化をしてくれてたりする。(Cupyってヤツを使うのかな?よくわかんないけど)

 

東工大の京は富士通製CPUだから九大も多分同じかな?東工大のkfcの油冷って面白いね。確か変態スズキのバイクに油冷バイクってあったような覚えがあるが、油を使う理由はどちらも同じで水より熱を吸収するってヤツ。ちなみにkfcの油冷は文字通り「GPUを油の中にダイレクトイン」だからちょっとびっくり。

これがITOに搭載されてるGPU。一個80万だって。それを512台...????

https://www.nvidia.co.jp/object/tesla-p100-jp.html

RTX2080Tiが安く感じる。性能的には1s間に10ペタ回処理できるって。ピンとこない。

 

スパコンはたくさんのパソコン(サーバー。意味は同じって初めて知った。)をつなげて性能を引き出している。そうなると問題も抱えるわけで‘...。例えばラックに積んだサーバーをキャリーカートみたいなのつかってんがががががって引きずりだしているの見たことある人がいるかもだけど、あれで壊れたサーバーを取り替えたり、問題を解決したりしている。

 

MTTFっていって平均故障寿命のある実験があるんだけど、ある機器のMTTFがA時間とする。Aは実際には測定不能なほど長いから、実質壊れないはずなんだけど、そのある機器を何個も並べて、全ての機器で延べA時間稼働させた際には、一つ一つはA時間経過してないはずであるのに、なぜか壊れてしまう機器が現れるという奴。(MTBFっていうのもあるが詳しく調べてない)

サーバセンターはつまり大量にサーバーを置いてあるから、いくら長期間壊れないサーバーと言っても何個もあると何かしらのトラブルを抱えるとかかんとか。サーバセンターの紹介動画でキャリーカートにサーバ載っけてるのはそういうこととか。

 

最近有名なAWSとかGCPとかがそういうことやってんだろなーて話。あれパブリックで使わせてくれるってよくよく考えたらすごいってことがなんとなくわかった気になった。だからGAFAはすごいって話をした。

 

で、もしそういうの使うなら大学のサーバ、研究室用のサーバを使った方がいいのでは?的な話を言われた。が、研究の一環ならいいが、マイニングや機械学習コンペでの賞金など、お金が発生してしまうとダメなので黒に近いグレーと言われた。説明ができるならいいよと。

 

 

ほかにもいろいろ話したが、取りあえずこんなところ。そんなお話しのお陰で自作PCに興味が沸いたので近いうち作ってみるかーって今考えてる。お金が全く無いんですけどね。つらい。