タグ

NUMAに関するhiroyukimのブックマーク (4)

  • CPUを複数持つアーキテクチャNUMAとnumactlの説明 - Qiita

    複数のCPUとメモリが一つのシステムに乗せられたNUMAアーキテクチャという構成が採用され始めている。 NUMAの目的はI/Oバスの並列化である。 極端に例えると、コア数が50個あった場合、一つのメモリバスを使った構成よりも、 25コア25コアの2CPUで2つのメモリバスを使った構成の方が早くなる。 14GB/sのメモリバスだった場合、メモリバスを2つにすれば28GB/sの性能がでる。 (1秒間に送れるデータ量が増える。) このようにNUMAは、コア数が増えることによるメモリバスネックの対策であり、マルチコア化も進んでいるため、今後NUMAにふれる機会が増えてくるはずである。 どんな時に考える? 多くのメモリ転送を使う計算をするときは、NUMAによる影響が発生するかもしれない。 設定によってはNUMAの影響を大きく受けてしまう可能性もある。 numaのメモリ割り当てを制御するコマンド [1

    CPUを複数持つアーキテクチャNUMAとnumactlの説明 - Qiita
  • NUMAの選択

    Windows Server 2012の Hyper-V で強化された機能として、仮想マシンごとにNUMA(Non-Uniform Memory Access)の設定が可能となったことが挙げられます。 CPUとメモリは単一バスで結ばれるSMP(Symmetric Multiprocessing)の形がとられます。ソフトウェアの動作を詳しく観察すると、ほとんどのメモリアクセスはある特定の領域に集中していると言われています(参照の局所性) コンピュータにおいて、メモリはデータアクセスの速度によって階層化されます。高レベルには頻繁に利用される(参照される)データが配置され、優先的に処理されます。また、近い将来にアクセスされると予測されるデータをキャッシュすることで、さらにメモリアクセスを効率化します。 しかしながら、複数あるCPUのうちの一つのCPUが処理を実行する際に、メモリ中の特定の箇所(頻

    NUMAの選択
  • マルチスレッド開発ガイド: 3.5 NUMA 向けのアプリケーションの最適化 | iSUS

    この記事は、インテル® ソフトウェア・ネットワークに掲載されている「Optimizing Applications for NUMA」(http://software.intel.com/en-us/articles/optimizing-applications-for-numa/) の日語参考訳です。 編集注記: 記事は、2012 年 2 月 24 日に公開されたものを、加筆・修正したものです。 はじめに NUMA (Non-Uniform Memory Access) とは、共有メモリー型アーキテクチャーで、マルチプロセッサー・システムにおけるプロセッサーのメインメモリーの配置を表します。他の多くのプロセッサー・アーキテクチャーの特徴と同様に、NUMA を知らなければ、アプリケーションのメモリー・パフォーマンスを最適化することはできません。幸いなことに、NUMA ベースのアプリケ

    マルチスレッド開発ガイド: 3.5 NUMA 向けのアプリケーションの最適化 | iSUS
  • NUMAアーキテクチャとswap insanity - $shibayu36->blog;

    MySQLのswap insanity問題という言葉を聞いて、なんのことかさっぱり分からなかったので、調べてみました。CPUとかLinuxとかMySQLとかちゃんと理解しているわけではないので、間違っていることを書くかもしれません。 NUMAアーキテクチャ http://www.nces.is.nagoya-u.ac.jp/NEXCESS/blog/index.php?itemid=211あたりが分かりやすい。 UMAアーキテクチャがメモリを全てのCPUの共有資源とみなしてグローバルにアクセスするのに対して、NUMAアーキテクチャは以下のようにメモリを管理する。 ノードという単位でメモリを分割し、各CPUが割り当てられたメモリをローカルメモリとして管理するようになる numactlとかlibnumaとかで構成は変えれる? 他のCPUが管理しているメモリにはそのCPU経由でアクセス可能 de

    NUMAアーキテクチャとswap insanity - $shibayu36->blog;
  • 1