“PC”あるいは“Personal Computer”と呼ばれるもの、その変遷を辿る
UMAからの脱却 そしてNUMAに入る(3/4 ページ)
NUMAはなぜなかなか採用されなかったのか
ただしNUMAの場合、図4のようなメモリの割り当てになってしまった瞬間、極端に性能が落ちることになる。NUMAがなかなか採用されなかったのは、これまでのOSにはNUMAのサポートがないので図4のような動き方をしないようにするための手法がなかった、という部分が大きい。
NUMAを構成するためには、
- 複数のメモリコントローラが独立して稼働し、それぞれ異なるメモリアドレスを割り当てる
- それぞれのメモリコントローラは、図3・図4でいうところのLocal(隣接するCPUからのアクセス)とRemote(お隣のCPUからのInterconnect経由でのアクセス)を区別なく扱う
- OSは全てのメモリコントローラを独立に管理してやる必要がある。
- 新しいプロセス(なりタスクなり)を生成する場合は、「なるべく」そのプロセスの稼働するCPUに隣接したメモリコントローラにメモリを割り付ける
- SuspendしたプロセスをResumeする場合、メモリを再割り当てする場所を意識する
といった配慮が最低限必要になる。
このうち(1)と(2)は主にハードウェアの問題であってあるが、(3)~(5)はソフトウェアというかOSの問題である。
まず(3)。仮想記憶対応OS(Windows系なら一部Windows 3.xとかにも入っていたが、本格的なものはWindows NT系列だろう。UNIX/Linuxは当然仮想記憶対応である)の場合、Page Tableと呼ばれる仕組みで物理メモリと仮想メモリの関係を管理しているが、通常のOSではPage Tableは1カ所にまとめっており、またメモリコントローラが複数ある事は想定されていない。
ところがNUMAの場合、まずメモリコントローラが複数あるので、これの管理が必要である(割り当てる物理アドレスベースで区別する事も出来なくは無いが、柔軟性に欠ける)。またシステム全体で1つのPage Tableにするのは管理は容易ながら性能へのインパクトがある(図3・4くらいの規模ならそうでもないのだが、それこそメモリコントローラが100個とかあった場合、Page Tableが置かれるメモリコントローラにアクセスが集中してしまうことになる)ため、スケーラビリティを考えるとPage Tableもメモリコントローラ毎に1つずつ用意した方が効果的である。
次が(4)。プロセスを生成・稼働する際に図4の様な形で動作するのではなく、図3の様に動かすことが望ましいわけで、このためにはSchedulerは「どのCPUでProcessを稼働させる/している」かをきちんと管理する必要があるし、例えば図3でProcess Aが追加のメモリを必要とした際に、それはMemory 1の中で確保されることが好ましく、無条件でMemory 2に新規のメモリを割り当てるようなことはシステムの性能にインパクトを与えてしまう。
「好ましく」というのは限界があるからで、例えばMemory 1/2がそれぞれ1GBの容量だったとして、今Process Bが1.5GBの容量のメモリを必要としてたら、Memory 1だけでは容量が足りないので、必然的にMemory 2にもある程度のメモリを確保してやる必要がある。もちろん性能的には低下するが、メモリを確保できずにProcessが処理を中止するとか、Page Fileを利用して無理やり動かして性能が激落ちするよりは遥かにマシである。つまりメモリ管理もProcess Schedulerとして連動する仕組みが必要という訳だ。
最後の(5)は簡単な話で、ProcessがSuspendすると、基本そのProcessはPage FileにSwap outされる形になる(これはWindowsの用語だがLinuxも概ね同じだと思う)。そのProcessが復帰する場合は、Swap fileからProcess Contextを引っ張り出し、新しく確保した物理メモリにその内容をコピーして制御を移すことになる訳だが、NUMAの場合は元々CPU 1で動いていたProcessがSuspend→Resumeされる際にCPU 2に移る、というケースがあり得る。
Copyright © ITmedia, Inc. All Rights Reserved.
“PC”あるいは“Personal Computer”と呼ばれるもの、その変遷を辿る
RISCの歴史、Apple Siliconの歩みを語ってきた大原雄介さんのコンピュータ歴史連載、テーマはズバリ「PC」だ。
この記事の著者
関連記事
こんなメディアも見られています
ITmedia NEWSに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
本日の新着記事
アクセスランキング
-
1
資さんうどん、従業員の退職理由などが外部から閲覧可能に 委託先の勤怠システムに設定不備
-
2
NEC、委託先の情報漏えいで謝罪 「セキュリティ事業を手掛ける企業として反省」
-
3
Apple、初のタッチ対応「MacBook Pro」発表 新型OLED搭載、国内価格は49万9800円から
-
4
JALの予約システムに不正アクセス 約9万人分の予約情報が漏えい 一部ではパスポート番号も
-
5
Google、「Gemini 4 Carbon」発表 「Argon」公開から2週間、サイバー防御能力などを強化
-
6
VTuber「兎田ぺこら」グッズにSNSで風評被害→示談成立 「保護者同伴で謝罪などがあったため」
-
7
GMO、ランサム被害にあった顧客に新しいPC提供へ 犯行グループは1人の顧客情報公開か
-
8
「対策を後回しにしたサーバが軒並み狙われている」 相次ぐ不正アクセスにラックCTOが警鐘
-
9
NECのルータ「Aterm」、PHP脆弱性の影響なし 設定画面URLの「.php」は無関係
-
10
メアドを検索→AIで“その人専用フィッシングメール”を生成する手法、クリック率が約2.7倍に 7000人以上で実験
ITmedia NEWS SNS
インフォメーション
注目情報をチェック
ITmediaNEWSをフォロー
あなたにおすすめの記事PR