タグ

ブックマーク / d.ballade.jp (4)

  • Linux KVM + virtio-net のレイテンシーを削減するヘンな方法

    Linux KVM の virtio-net を利用している際にリモートホストへの PING 結果がマイクロ秒のオーダーで安定しない(ブレる)という話を見かけました。 Linux KVM の仕組みや QEMU のデバイスエミュレーションの仕組みを考えれば「そんなもの」かなと思い、調査および追加の実験をしてみました。なお、記事は x86 アーキテクチャの Linux KVM の動作に基づきます。 パケットが送信される仕組みping コマンドなどにより発生した、送信パケットは OS のネットワークスタック(L3, L2)を通じてイーサネットのドライバに引き渡されます。今回はLinux KVMのデバイスエミュレーションを利用した際のレイテンシーに注目したいため、プロセスからデバイスドライバまでデータ届く流れについては触れません。 Linux KVM の仮想マシンで使われる virtio-net

    Linux KVM + virtio-net のレイテンシーを削減するヘンな方法
  • ファイルシステムの動作がLinuxカーネルによって違うというお話、とか色々

    先日とある ioDrive シリーズのユーザーから、特定のファイルシステムでNANDフラッシュデバイスへの書き込みが行われないという件について相談をいただきました。整理してみると: ファイルシステム上に書き込み可能な状態でファイルをオープンする。 一定ペースで、ファイルへ Buffered I/O で書き込み。 ファイルをクローズする。 このとき、特定条件下のXFSでは、(2)の段階では全然フラッシュが発生せず、(3)の段階でまとまったフラッシュが発生するのだそうです。 ストレージ側からすればI/Oが来ていない段階のお話なのでアプリケーション(ミドルウェア)からシステムコールを通じてカーネル側が原因でI/Oが発生しておらず、まとまったギガバイト級のI/Oが発生すれば、それは高速と言われる ioDrive ですらフラッシュに数秒間かかってしまう、ということでした。よく言われるのは、Linux

    halfrack
    halfrack 2014/05/22
    Linux のブロックデバイスレイヤ辛い
  • MySQLの新しいInnoDB ページI/O圧縮機能について解析してみた

    InnoDBにはデータの圧縮機能がありますが、パフォーマンスが低いことからあまり使われていません。ただ今年の Percona Live で Oracle MySQL, MariaDB, そして Percona Server が新しい InnoDB Compression を出してきました。これはFusion-ioの R&D チームがフラッシュストレージ向けの MySQL 高速化の一環で開発したパッチが元になっています。ちなみに私は Fusion-io の社員ですのでこの発表をワクテカして待っていたのですが、折角コードが一般にリリースされたので、ソースコードを眺めて動作を調べることにしました。 参考にしたのは MySQL Server Snapshots (labs.mysql.com) にあるMySQL with InnoDB PageIO Compression のソースコード、およびM

    halfrack
    halfrack 2014/04/03
  • OpenNVMってなんぞや

    久々にブログでも書こうかなっと。 今回は、最近出てきた OpenNVM というものを紹介してみたいと思います。 OpenNVM :: Welcome to the OpenNVM Project http://opennvm.github.io/ フラッシュメディアに新しいアクセス手段が求められる理由 OpenNVM アトミックライト バッチ インターフェイス スパースアドレス空間とブロックの割り当て状況の取得 ファイルシステムでのスパース活用例 データキャッシュでのスパース活用例 NVMKV ■ フラッシュメディアに新しいアクセス手段が求められる理由 HDDよりも高速として知られるSSDは、フラッシュメモリを従来どおりの「ブロックデバイス」としてアクセスできるようにして後方互換性を維持していますが、フラッシュメモリのポテンシャルは現状オペレーティングシステムが持つ、レガシなAPIだけでは

  • 1