デュアルコアオプテロンのテスト方法

まあ。 実を言うと、私たちはまだそれらをテストしていますが、明らかになった機能がすでに1つあります。メモリは2つのコアをプルしません。 さて、それだけではありません。 デュアルプロセッサボードが挿入され、285個のデュアルコアオプテロンがインストールされ、それぞれに4ギガバイトのメモリが固定され、これがハイパートランスポートを介して外部の世界に接続されている新しいクラスターがあります。ここに:



外の世界(1Gb銅イーサネットを含む)--HT-- cpu0 --2xHT-- cpu1





次の構成で最も単純なテストを行います(実際、プログラムはそれほど単純ではありません-これはNASA Parallel BenchmarkのMGです):1つのノードにこのタスクの4つのプロセスを追加します-プロセス内の各コアに対して、または2つの異なるブレード。 その結果、最初の構成では2700個のオウムが、2番目の構成では4500個のオウムが生成されます。計算が強力なTCPの方がはるかに効率的です。



もちろん、理由は明らかです。2つのコアが1つのメモリコントローラーをめぐって競合します。 4つのコントローラーとそれらの間の非同期データ配信を使用すると、すべてがはるかに高速になります。 しかし、疑問が生じます。なぜ、マルチコアプロセッサの購入を余儀なくされており、優れたパフォーマンスを備えていると確信させているのでしょうか。 確かに、DMAのような2番目のコアの代わりに何らかの種類のロジックを追加する方が良いでしょう。 または、コアを投げるだけでエネルギー消費が削減されます。



えー しかし、最も憂鬱なのは、開発者が自分の活動に焦点を合わせたところです:メモリへのアクセスの競争を減らさずに、より多くのコアをプロセッサに入れること ええ、はい、はい、Intelには共通の2次キャッシュがあり、AMDには3番目のキャッシュがありますが、これは一般的なリソースです。 はい、AMDはこれらすべてを2つのメモリコントローラーに提供しますが、なぜこれほど複雑でエネルギー効率が悪いのですか? これで問題が解決しない場合。 前と同じように、1つのコントローラー(奇跡的な奇跡によってLinuxがアドレス空間を拡張して異なるメモリーコントローラーとサードキャッシュの異なるバンクに分類されるように説得することもできます)ので、2つのコアが競合します。



そして今、注目、ドラムロール、そしてすべてのジャズ、統合されたグラフィックコアを備えたプロセッサがステージに登場します。 私の質問が発生します:メモリアクセスの1つのサブシステムを持つお気に入りのSMP構成で、お気に入りのカーネルにデータをどのように供給しますか? なぜアイドルプロセッサが必要なのか(オウムで数えた場合、いくつですか?)30%の時間ですか? より単純なプロセッサを作成しないで、DMAと独自のメモリを使用してください。 ところで、BlueGene / Lは組み込み電子機器のプロセッサで実行されることをご存知ですか?:)



はい、IntelとAMDが同じチップでソリューションを販売したい場合でも、各コアを独自のメモリに分離しないのはなぜですか? まあ、はるかに効果的です。 えー メーカーの論理がわかりません。 さらに、この「素晴らしさ」のすべてにお金を使う人々の論理は理解できません。欠点は明らかだからです。



要するに、Cellsで似たようなことをしたIBMを除くすべての悪いものです。 しかし、繰り返しますが、これは明確ではありません。これは、すべてを1つのチップに入れたいというman望の念です。 いいえ、はい、それらは遅い外部タイヤでした。 しかし、今では連続したものがあります-非常に速く、それらはほとんどエネルギーを消費せず、光ファイバーを通して安全に解放することもできます。



ここ。 いいえ、もちろん、2番目のコアのアプリケーションを見つけることができます:何らかの種類の仮想化、または、たとえば、偶数のコアですべてのシステムプロセスを開始し、奇数のコアで決済すると、10%を獲得できますが、これは十分ではありません、原則として、計算時間が10日間の場合。 しかし、それでも直観はプロセッサのようなすでに難しいものの複雑さに抗議します。 もちろん、合併症は量的なものにすぎません。 しかし...ハァッ。 とにかく、トランジスタが切り替わり、空気が熱くなり、氷が溶け、アメリカがdrれ、国家が移住し、ウラルで混雑します:)



PSさて、彼らはおそらく来て、私たち自身がばかだと言うでしょう、x86-64で16レジスタが発明され、計算中にメモリサブシステムをアンロードし、コンパイラを最適化して正しく使用するべきだと。 私は答えます:彼らは、推奨されるAMDコンパイラ-PGIを使用しました。 Intelは、同じメモリアクセスを最適化するために注意深く監視しようとしました。 結果は同じです。






All Articles