タグ

linuxとcpuに関するkgbuのブックマーク (7)

  • Kernel/VM Advent Calendar 4日目: Linuxのネットワークスタックのスケーラビリティについて - syuu1228's blog

    【お願い】私はLinuxカーネルもネットワーク周りも素人です。ここに書いてある事は間違えている可能性もあるのでおかしいなと思ったらすかさず突っ込んでください。宜しくお願い致します。 今回は、この記事の内容を全面的に見直して、再度Linuxのネットワークスタックのスケーラビリティについてまとめようと思います。 従来のLinuxネットワークスタック+従来のシングルキューNIC 以下の図は従来のLinuxネットワークスタック+従来のシングルキューNICで、あるプロセス宛のパケットを受信している時の処理の流れを表している。フォワーディングの場合やプロトコルスタック内の処理は割愛した。 プロセスがシステムコールを発行してからスリープするまで プロセスは、システムコールを通してカーネルにパケットを取りに行く。 パケットはソケット毎のバッファに貯まるようになっているが、バッファが空だったらプロセスはパケ

    Kernel/VM Advent Calendar 4日目: Linuxのネットワークスタックのスケーラビリティについて - syuu1228's blog
  • じゃあ、Linuxのネットワークスタックはどうなのん? - syuu1228's blog

    この記事の続きになる訳だが、いくらSolaris最強って言っても、大手メーカーがこぞってつつき回して性能改善したり機能追加したりしてるはずのLinuxで何も対策が打たれてない訳が無いよね。じゃあどうなってるんだろう、って話。 例によって、Linuxとか全ッ然知らないので、間違ってたらツッコミ下さい。 ポーリングとパケット処理のパス 殆どここで解説し尽くされてる。 Linuxにも動的ポーリングの実装(Solarisで言ってる動的ポーリングと同じものとは限らないが…)があって、NAPIとか呼ばれてるらしい。 NAPIを実装するドライバでは、こんな手順で受信処理を行ってる。 ハードウェア割り込みを受け、割り込みハンドラを起動 ハードウェア割り込みを禁止、ポーリングをスケジュール ソフトウェア割り込み経由でNAPIのポーリングルーチンを起動 ドライバにポーリングを指示 この時、適切な性能を確保する

    じゃあ、Linuxのネットワークスタックはどうなのん? - syuu1228's blog
    kgbu
    kgbu 2010/10/15
    いろいろポインタあって勉強になる。
  • The MySQL “swap insanity” problem and the effects of the NUMA architecture

    The MySQL “swap insanity” problem and the effects of the NUMA architecture
    kgbu
    kgbu 2010/10/04
    NUMAって、最近のCPU的には各コアがlocal bankをもっているってことなのか-。ちょっと誤解していたので、あとでCPU関連文書良く読むべし>俺。CPUを移ったら、コンテキストスイッチとか、激重なんてもんでは無いじゃんか。
  • ホワット・ア・ワンダフル・ワールド Linux の移植方法まとめ

    前回のエントリで書いたように、今まで自分で実装した独自の ARM システムシミュレータに Linux を移植していたわけですが、シリアルドライバ (8250 コンパチ) と NIC ドライバ (smc91x) が動き、rootfile system on NFS が可能になって、ようやく一段落しました。 全くの素人が 2 週間ぐらいでできたので、(優秀なデバッガさえあれば) 世間一般で思われているほど難しく無いんだな~ というのが感想です (もちろん途中途中ではかなり悩みましたけど… しょーもないミスや誤解も無数にしました)。 難しいデバイスを動かそうと思ったらメチャクチャ大変なのだろうと思いますけど、今回は、全部自分で書いた仮想デバイスの上に移植したわけですから、動かし方などは完璧にわかりますし、いざとなったらハードウェアを printf デバッグして、ちゃんと I/O レジスタが叩けて

  • CUDAを使う - メモリアクセス:tech.ckme.co.jp

    目次 >> CUDA >> メモリアクセス CUDA - メモリアクセス CUDAは、コンピュータ上のRAM、グラフィックカード上のRAMなどいくつかのメモリをもつ。 それぞれのメモリは、アクセス速度やアクセスできる範囲などが違う。 具体的には、コンピュータ上のメインメモリには直接アクセスはできない。そのため、cudaMemcpyを使って、メインメモリからグラフィックカード上のメモリへ転送してやる必要がある。 一方、グラフィックカード上のメモリにもいくつか種類があり、一つはグローバルメモリであるが、これは同一グリッド内であれば、どのブロック、どのスレッドからもアクセスできる。 一方、シェアードメモリは同一ブロック内のスレッドからしかアクセスできないものの、グローバルメモリに比べて、きわめて高速にアクセスできる。 今回は、これらの違いがどの程度実行速度に影響するか調べてみた。なお今回使用して

    kgbu
    kgbu 2008/05/15
    具体的なコードで、データに関するメモリアクセスの影響を検証。ところで、分岐の影響ってのはどのくらいなんだろう?
  • CUDA のインストール - 最適化問題に対する超高速&安定計算

    レフェリーで CUDA 関係の論文が来たので、CUDA をインストールして使ってみることにした。手元にあった GeForce 8xxx 系は 8600GTS だけなので、GeForce 8800GTS 512MB を購入した。現在は Fedora 7 が正式サポートだが、手元に Fedora 7 のマシンが無いので、Fedora 8 で試してみた。 1: CUDA のダウンロード (Fedora 8 x86_64 の場合) CUDA Toolkit version 1.1 for Fedora 7 CUDA SDK version 1.1 for Linux NVIDIA Driver for Linux with CUDA Support (169.09) 2: NVIDIA ドライバのインストール yum install kernel-devel yum install freeglu

    CUDA のインストール - 最適化問題に対する超高速&安定計算
    kgbu
    kgbu 2008/05/15
    グラフィックカードとの接続のバンド幅がネックになるという話がコメント欄にある。ちょっと複雑な計算させないといかんらしい。多体物理シミュレータなんてのは有望なのか?
  • Linux_2_6_24 - Linux Kernel Newbies

    Spam: Ulrich Drepper, the libc maintainer, has published a must-read paper about "What every programmer should know about memory" Linux kernel version 2.6.24 Released 24 January 2008 (full SCM git log) 1. Short overview (for news sites, etc) 2.6.24 includes CPU "group scheduling", memory fragmentation avoidance, tickless support for x86-64/ppc and other architectures, many new wireless drivers and

    kgbu
    kgbu 2008/01/27
    今度のリリースで個人的に気になったのは、x86-32/64の2つのアーキテクチャが融合したこと
  • 1