昔ながらのIBM PC、PC/AT互換機からDOS/Vマシン、さらにはArmベースのWindows PC、M1 Mac、そしてラズパイまでがPCと呼ばれている昨今。その源流から辿っていく第22回はUMAからNUMAへの移行について。
前回、チップセットの終焉について述べたが、チップセットの中でも特にNorth Bridge機能がCPU側に統合されたことで、もう1つ変わった事柄がある。それはUMA(Uniform Memory Architecture)からの脱却である。
脱却、という言い方は厳密には正しくないかもしれない。というのは現在もSingle Processor構成では事実上UMAだからだが、NUMAを意識したUMAに実装が切り替わっている、と結論を先に書いても分からないと思うのでまず基本から。
オリジナルのIBM PCから、2003年にAMDがOpteronをリリースするまでの間、PCの世界では「基本的に」UMAが採用されていた。
「基本的に」と言うからには例外はあるのだが、それは後述するとして、UMAとは何かと言えば、端的には「メモリ管理が一か所で行われている」ことである。
図1は一番シンプルな1 CPUの構成である。
CPUの上でProcess A〜Cの3つのプロセスが稼働しており、それぞれMemory A〜Cの領域を占有している。まぁ、これはごく普通のことだ。UMAというのは要するに、メモリが1つの塊になっているという意味である。
ではこれがマルチプロセッサになるとどうか? というのが図2の構成だ。
Process AとBはCPU1で、Process CはCPU2でそれぞれ稼働している訳だが、メモリそのものはNorth Bridgeに接続されたMemory A〜Cをそれぞれ利用する形になる。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR