タグ

SMPとLinuxに関するpitworksのブックマーク (3)

  • エンタープライズ:第1回 Linux上でなかなか動かないHT (1/6)

    Linuxでハイパー・スレッディング――Pentium4/3.06GHzで遊ぼう 第1回 Linux上でなかなか動かないHT (1/6) 現在リリースされているLinuxカーネルは「ハイパー・スレッディング・テクノロジ」(HT)に対応しているので、ほとんどのLinuxディストリビューションでHTが利用できるようになっている。Xeonでの動作は可能なようだが、Pentium4/3.06GHzでもちゃんと動作するのだろうか。まずはLinux上でSMPとして認識させるところから始めてみたい 11月14日、インテルが「ハイパー・スレッディング・テクノロジ」(HT)搭載のPentium4/3.06GHzをリリースしたのは既報の通りであり、早速多くのベンダーから、このCPUを搭載した製品が発売されている。残念ながら自作向けのバルク/リテールパッケージは品薄状態が続いており、解消するのは年末から来年と伝

  • マルチコア時代のロードアベレージの見方 - naoyaのはてなダイアリー

    ちょっと煽り気味のタイトルですが、CPU がマルチコアになり 2個、4個と増えていく中 Linux の負荷の指針になるロードアベレージをどう読むべきか、という話です。気になったところを少し調べたのでそのまとめを。 http://d.hatena.ne.jp/naoya/20070222/1172116665 でも書いたとおり、Linux のロードアベレージは「ロードアベレージは過去1分、5分、15分の間の実行待ちプロセス数の平均数 = 実行したくても他のプロセスが実行中で実行できないプロセスが平均で何個ぐらい存在してるか」を示す値です。ボトルネックが CPU、メモリ、ディスク等々どこにあるかは関係なく、仕事の実行までにどれぐらい待たされているかを示す値なので、システムのスループットを計測する指標の入り口になる値です。 このロードアベレージですが、実装を見るとランキュー(待ち行列)に溜まった

    マルチコア時代のロードアベレージの見方 - naoyaのはてなダイアリー
    pitworks
    pitworks 2009/07/09
    Linux の CPU ロードバランスはランキューで待ちが発生しないと(nr_running > 1) 行われない --> 高負荷状態になるまでCPUに、ほぼ均等に仕事は割り振られない
  • naoyaのはてなダイアリー - sched_setaffinity(2) を使って任意のプログラムを任意のCPU上で動かす

    Linux 2.6 には sched_setaffinity(2) というシステムコールがあり、これを利用して任意のスレッドを(マルチCPU環境下で)特定の CPU で実行させることができます。http://www-06.ibm.com/jp/developerworks/linux/051028/j_l-affinity.shtml によるとリアルタイムプロセスでマネージャとなるスレッドをこのシステムコールで特定の CPU に固定する...といった応用が考えられるそうです。 へえ、と思ったのでちょっと遊んでみました。LD_PRELOAD を使って任意のプログラムを任意の CPU に固定して動かしてみます。GCC の __attribute__)((constructor))( で sched_setaffinitiy(2) を呼びます。(参考: http://0xcc.net/blog/

    naoyaのはてなダイアリー - sched_setaffinity(2) を使って任意のプログラムを任意のCPU上で動かす
    pitworks
    pitworks 2009/07/09
    Linux 2.6 には sched_setaffinity(2) というシステムコールがあり、これを利用して任意のスレッドを(マルチCPU環境下で)特定の CPU で実行させることができます
  • 1