After my previous post, I investigated a bit further by changing one single compilation option as a reader suggested. Instead of running “make“, I ran “make -j 3” to run 3 compilation threads in parallel on my Core 2 Duo system. The results are quite surprising… First of all, I ran my previous benchmarks again and the results were confirmed with a 17% gain for the NOOP scheduler. Then things got
Linuxカーネルは、ブロックI/Oの処理効率を向上させるさせるための仕組みとして、I/Oスケジューラと呼ばれる機能を提供しています。I/OスケジューラはI/O要求の順序を入れ替えることにより、スループットを向上させたり、特定のI/O要求を優先して実行させたりします。 実際のブロックデバイスのセクタに対するアクセス(つまり読み書き)を、要求された順序ではなく、I/Oを最も効率よく行うためにその順序を並び替えるというアイデアは、初期のUNIXの実装から採用されていました。それは、セクタ番号順序に並び替えてI/Oを実行するという単純なものです。ディスク面上を移動するヘッドの動きがエレベータに似ているため、このアルゴリズムはエレベータアルゴリズムなどと呼ばれていました。 現在のLinuxカーネルでは、そのころのアルゴリズムより洗練されたスケジューリング方式を採用しており、目的に応じて4種類の
TEDIA会員に登録したメールアドレスとパスワードを入力してください メールアドレス: パスワード: パスワードを忘れた方はパスワードの確認を行ってください。 TEDIA会員へのご登録がお済みで無い方はこちらで登録ができます >> テクノロジーポータル TEDIA トップページへ戻る << ユーザースペースでのI/Oスケジューリング 多数にのぼるI/O要求を出して性能を極限まで酷使するI/O集約型アプリケーションでは、保留中のI/O要求を並べ替えたり併合することができます。Linux I/Oスケジューラと同じ働きです。* I/Oスケジューラがブロックの観点から要求を並べ替え、シーク動作を最小限に抑制し、ディスクヘッドの円滑な線的移動を実現してくれると分かっている時、どうして同じ作業を2度行う必要があるでしょうか?多数のI/O要求を並べ替えていない状態で提出するアプリケーションを考えて
こんばんは、某H氏が中国に出張に行ってしまったせいで、他グループからの問い合わせラッシュに揉まれ、少々疲れ気味のrkです。 タイトルと絡ますつもりはなかったのですが、LinuxやPCの世界にいると、これらのシステムが人間社会の方法理論に基づいて作られていることが嫌でも分かってくるものです。 仕事はぎりぎりまで遅らせるのがよいはずなのに(遅延書き込み)だとか、疑問に思うこともありますが...(人間の記憶は揮発します...) さて、皆さんの会社にはどんな上司がいますか?あるいはどんなお客様とのお付き合いがありますか? rkも、さまざまな上司、さまざまなお客様とのお付き合いがありましたが、(未だ部下というものはありません) 人によりさまざまな仕事の仕方を要求してきます。 rkは一応エンジニアですので、内勤を中心としている業務形態です。それでも上司が変わるたびに私のスケジュールへの文句のつけ方が変
Linuxは私の使っている範囲ではファイルI/Oがパフォーマンスボトルネックになっていることが多い。で、チューニングの情報を集めてみるのだが、なかなか役立つ情報を入手できない。 決まって全般的なチューニングの進め方について述べ、次にボトルネックの調べ方について述べる。 最後にチューニングパラメータ設定手順のヒントだけを非常に簡単に挙げておわってしまう。いや、どこがボトルネックなのか最初に一発で分かればいいよ? でも全般的なチューニングの進め方でそうしたドキュメントが述べている通り、色々な可能性を繰り返しチューニングしながらつぶしていかなきゃいけないんだよね。 そのためには具体的なチューニングパラメータの設定手順がなきゃできないんだよね。それを教えろよ!それを! ということで、今回はLinuxファイルI/Oチューニングについて調べた。大きなファイルの書き込み(ex. cpコマンド)を行うと、
11月版 ドライバに変数を渡すのにうってつけの方法 上川純一 日本ヒューレット・パッカード株式会社 コンサルティング・インテグレーション統括本部 2005/11/29 linux-kernelメーリングリスト(以下LKML)かいわいで起きるイベントを毎月お伝えする、Linux Kernel Watch。10月のLinuxカーネル関連の状況について、見てみましょう。 カーネル2.6.14リリース! 10月28日に、とうとうカーネル2.6.14がリリースされました。 Linusの計画では、10月11日にリリースしたrc4の後にリリースするつもりでした。しかし、さまざまな問題が解決できなかったため、当初の計画にはなかった-rc5を出すことになりました。これにより、カーネル2.6.14は予想よりも遅れてのリリースとなったのです。 当初宣言していたリリースプロセスでは、「リリースから2週間経過した後
Linux Kernel 2.6.18 において、 I/O schedulerが従来の Anticipatory I/O scheduler から CFQ I/O scheduler に変更された。 この変更により、block deviceへのI/Oの性能向上が期待される。 しかしそもそも、 Linux における I/O scheduler の役割は十分に理解されているとは言えず、 I/O scheduler を process scheduler と間違って関連付ける人が後を絶たない。 本エントリでは I/O scheduler の本来の役割、 Kernel にデフォルトで用意されている4種類の I/O scheduler、 I/O scheduler の変更方法について概説する。 ■ I/O scheduler とは何か ハードディスクをはじめとする block device に対して
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く