マルチコアCPUで実行されるプログラムのパフォーマンスは実行されるコア毎で違う 36
ストーリー by hylom
原因はなに? 部門より
原因はなに? 部門より
mhatta 曰く、
指摘があった点を訂正(by mhatta, Wed, 24 Dec 2008 19:19:44 +0900)
mhatta 曰く、
指摘があった点を訂正(by mhatta, Wed, 24 Dec 2008 19:19:44 +0900)
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
単純に考えると (スコア:5, おもしろおかしい)
>保持するかといった因子は実行のたびに変化するにも関わらず
実行の前提条件が変わっているので、実行時間が違うよという至極当たり前な
話に読めるのですが。
「コア毎で違う」と表現からは極端に言うと「3番目のコアだけアホになって
いる」というニュアンスに読めてしまいます。
Re:単純に考えると (スコア:1)
コアも3の倍数の番号をとばせばいいってことですな。
Re: (スコア:0)
#ん?6番目が居るのは何故だ?
Re: (スコア:0)
本当は多分どんなCPUでもそうなんだろうけど、対称という印象が強いんだろうな。
距離が違う (スコア:0)
5コア以上は思いつきませんがw
Re: (スコア:0)
Re: (スコア:0)
こんなのか
http://www.candysoft.jp/ohp/01_products/ane/chara/chara_select.html [candysoft.jp]
論文の主張とタレコミ文がずれていませんか (スコア:5, 参考になる)
性能を10%改善しました、というのがこの論文の主張では。
非対称なCPU構成が可能になる・・か? (スコア:3, 興味深い)
Re:非対称なCPU構成が可能になる・・か? (スコア:2, 興味深い)
# Linuxだとどうなんだろう
これは実行時プロファイリングではなくあくまで始動時に静的に非対称性を検出し考慮にいれるだけですね。
今回の話に戻りますが、たしかに割り込み含めリソース管理はカーネル管轄下なのでライブラリレベルよりスケジューラレベルで考慮にいれたほうが効率的な気がします。
Re:非対称なCPU構成が可能になる・・か? (スコア:2, 参考になる)
こういう技術は昔からありました。
で、Windowsのやつは、同一プロセスに属する異なるスレッドは物理的に近いプロセッサにわりあてましょうという話です。
これは既存のアプリケーションに何の手を入れなくても効果があります。
アプリケーションにもインターフェーフェースは開放されてますけど。
タレコミのやつは
> high-end computing systems. While the vast majority of such multi-core processors contain
> symmetric hardware components, their interaction with systems software, in particular the communication stack,
> results in a remarkable amount of asymmetry in the effective capability of the different cores.
通信スタック等がスマートでないので性能が低下していると。
マルチコアだとハードは対称的なので、アプリの知識がないOSには手も足も出ない話です。
> While SyMMer is a generic framework that can fit into any communication
> library, in this paper our descriptions refer to a version plugged into the MPICH2 implementation [7]
> of the Message Passing Interface (MPI) [8].
ユーザーが使いたい通信ライブラリ(MPICH2とか)ごとに、互換の新ライブラリを用意して使う必要があるようです。
ユーザーコードは修正しなくてよさそう。
Re:非対称なCPU構成が可能になる・・か? (スコア:1)
流石にこの言い方は気持ちが悪い。
非対称MP,またはASMPって言うと思うぞ,一般には。
Re:非対称なCPU構成が可能になる・・か? (スコア:1)
「非対称SMP」って言葉はちょっと意味不明です。(SMP=Symmetric Multiprocessing=対称型マルチプロセッシングなので、非対称SMPと書くと非対称対称型マルチプロセッシングとなってしまう。)
SMPは、複数のコアが同じメモリ空間の中でプログラムを実行するという、「コアの役割が対称」であることを示す言葉であり、そういう点では、Core2 Quad はきちんと対称的です。
でもって、SMPにおいては、厳密には「コア間の通信」という機能はなく「コア同士の通信」なんてものは発生しません。同じメモリを共有しているがための「各地にあるキャッシュ間の不整合解消処理」が発生するだけ。
だからCore2 Quad なんかの問題は「同じメモリをアクセスするスレッド同士は同じダイ内のコアで実行した方が、不整合の発生率が減る」って程度の話ですね。
(「スレッドAとスレッドBは同じダイ上のコアで実行すべき」といったヒント情報は発生するが、「スレッドAはコアaで実行すべき」といったコア間の非対称性は発生しない)
たとえば、AMD系では、メモリコントローラをCPUが内蔵しているため、
複数のCPUを載せているような環境だと、メモリアクセス速度は、
「アクセス先のメモリが繋がっているチップ上のコアで実行する場合」(直接アクセス可能)
「アクセス先のメモリが繋がっていないチップ上のコアで実行する場合」(メモリが繋がったチップと通信する必要がある)
で、速度が変わってきます。
そこまで考えてスレッドの割り振りを行うのはすごく大変そうというか、突き詰めるとコア毎にメモリ空間を分ける羽目になってしまい、
そこまで考えてスケジュールする立場になると「不完全対称型マルチプロセッシング」って言えると思います。
それでもシステム構成的にはあくまで「SMP=対称型マルチプロセッシング」であり、「非対称」ではないです。
#非対称型マルチプロセッシングというと…6809×2個のFM-8とか、μPD765A×2個のPC-8801mkIIとかかなぁ?
Re: (スコア:0)
SMPははっきり定義された用語ではなく、Uniform Memory Accessハードウェアのことだったり、すべてのコアが対等にOSを実行=割り込みハンドリング等をする構成だったりしますが、いずれにしろ
> 複数のコアが同じメモリ空間の中でプログラムを実行するという、
これはSMPの定義には弱いですね。
> でもって、SMPにおいては、厳密には「コア間の通信」という機能はなく「コア同士の通信」なんてもの
Re:非対称なCPU構成が可能になる・・か? (スコア:1)
一般的な定義はともかく、あなたはどういう意味でSMPという言葉を使っていますか?
私はSMPと言われるとすべてのコアの役割が対称である、と認識しています。メモリ共有の方式についてはUMA/NUMAという言葉があるのでSMPかAMPといった表現はしません。
非対称型マルチプロセッシングはともかくとして、非対称SMPつまり非対称対称型マルチプロセッシングについて、どういう意味で用いているのか教えてください。
単に一部の割り込みがCPU#0にしか接続されていない、ということを示しているのか、4コアのうち二次キャッシュで通信できるコアとFSB経由で通信せざるを得ないコアが混在していることを意味しているのか。それともまったく別の概念なのですか?
Re: (スコア:0)
あなたがどういう意味で使おうと自由ですが、SMPは一般的には曖昧さを含む概念ですから、きっちり述べてからにしてほしいものです。
上にも述べたように、NUMAをSMPに含めないこともあります。ローカルメモリという固有のハードウェアを持つからです。
(SMPを共有メモリ型マルチプロセッサの意味で使うこともあるので気をつけましょう)
バス結合のマルチプロセッサのようなものであっても、OSがカーネルの役
Re:非対称なCPU構成が可能になる・・か? (スコア:1)
まったく同意します。
Re: (スコア:0)
Virginia Tech= 「バージニア工科大学」 (スコア:2, 参考になる)
以前の記事 [srad.jp]でも「バージニア工科大学」になってます。ご参考まで。
Re:Viagra Tech= 「バージニア工科大学」 (スコア:1, おもしろおかしい)
Re: (スコア:0)
HTMLモード?関係ないね
Re: (スコア:0)
すでにあるのに、わざわざ別な呼称を使ってわかりにくくする利点がわからんのですが。
Re: (スコア:0)
なぜですか?
私は同じじゃないほうが、統一感を感じられないので、気持ち悪いですけど。
Re: (スコア:0)
Re: (スコア:0)
Re: (スコア:0)
Re: (スコア:0, オフトピック)
自分は一向に冬が明ける気配がありませんが・・。
◆IZUMI162i6 [mailto]
実行回数じゃなくて実行時間ですね (スコア:1, 参考になる)
Re:実行回数じゃなくて実行時間ですね (スコア:1)
そうですね。ご指摘多謝。
# 久しぶりに、かつ慌ててやるとどうもいかんね
mhatta was here
逆に乱数生成に使えないかなと思ってる (スコア:1, 興味深い)
暗号論的擬似乱数生成器 [wikipedia.org]って遅いアルゴリズムが多いのですが、マルチコアで実装したらどうなるのか、というかマルチコアで実装する場合はどんな注意が必要なのか、ってことが気になっていたり。
一般人の反応 (スコア:1)
関係ないって?
帰っていいよ。
Re: (スコア:0)
http://www.atmarkit.co.jp/ad/hp/proliant0607/amd_opteron/index0812.html [atmarkit.co.jp]※PR記事
ディレイラマ (スコア:0)