twitter icon   twitter icon   rss icon

Linux.com Japan

Home LinuxCon Japan 2012特集 LinuxCon Japan 2012を3倍楽しむための基礎知識 第5回Linux Kernelメモリ管理最新動向[その1]

LinuxCon Japan 2012を3倍楽しむための基礎知識 第5回Linux Kernelメモリ管理最新動向[その1]

 

LinuxCon Japan 2012を3倍楽しむための基礎知識

第5回 Linux Kernelメモリ管理最新動向[その1]

 

2012年6月6日~8日にLinuxCon Japan 2012が開催されます。ここではLinux Kernelの最新技術の発表や議論がいろいろ行われるのですが,カンファレンスを楽しむ手助けとなる記事を…ということで,最近のLinux Kernelのメモリ管理の以下のトピックについて,2回に分けて紹介したいと思います。

今回は,

  • NUMA対応
  • 組込みシステム向けの新機能

次回は

  • ファイルシステム,デバイスと連携したエンハンス
  • メモリ資源管理機能(cgroup)
  • CleanCache

を取り上げます。

それぞれ,LKMLでどのような提案があって,提案の理由は何か? 現在はどうなっているのか? ということを簡単に紹介したいと思います。

NUMA対応

性能エンハンス機能として現在議論されているのが,NUMAマシン上のアプリケーションのチューニング機能です。現在,全く別の方式が有名ハッカー2人から提案されていることもあり,この議論は注目されています。

まず,NUMA(Non Uniformed Memory Architecture)とは何かをおさらいします。

NUMAとは,CPUがメモリアクセスをする際に,アクセス対象メモリの物理的な位置に依存してアクセスコストが変わるアーキテクチャです。たとえば,最近のx86 系CPUではCPU内にMMU(Memory Management Unit)が内蔵されており,CPUから直接DIMMに接続する形になっています。複数CPUがある場合,あるCPUに繋がったDIMMに別のCPUからもアクセスはできますが,この場合は自分に直接繋がっているDIMMへのアクセスよりもアクセスのコストが高くなります。つまり,CPUとDIMMの距離でアクセスコストが変わることになります。図1にその概要を示します。

図1 NUMAにおける Threadの動作するCPUとメモリの距離の違いによる性能差

図1 NUMAにおける Threadの動作するCPUとメモリの距離の違いによる性能差

NUMAの場合,ファームウェアからカーネルに,CPUとメモリの距離を教えてくれる仕組みがありますので,それを参照しつつ,カーネルは 近い距離にあるCPUとメモリをまとめ,Nodeと呼ばれるCPUとメモリの組を作ります。threadが走行しているCPUと同じNodeのメモリを使っている場合,メモリアクセスコストが抑えられ,効率の良い動作になります。

【備考】
NIC等のデバイスとCPU,メモリの間にも距離の概念はあって,同じようなことが言えます。

現在の実装

 

gihyo.jp の記事全文を読む

Linux Foundationメンバーシップ

30人のカーネル開発者

人気コンテンツ


Linux Foundationについて

Linux Foundation はLinux の普及,保護,標準化を進めるためにオープンソース コミュニティに資源とサービスを提供しています

 

The Linux Foundation Japan

サイトマップ

問い合わせ先

サイトに関するお問い合わせはこちらまで

Linux Foundation Japan

Linux Foundation

Linux Training

提案、要望

Linux.com JAPANでは広く皆様の提案、要望、投稿を受け付ける予定です。

乞うご期待!