タグ

ブックマーク / naoya-2.hatenadiary.org (7)

  • Linux のスリープ処理、タイマ処理の詳細を見る - naoyaのはてなダイアリー

    UNIX でプロセスを一時的にスリープさせるには sleep(3) が使えます。sleep() は引数に秒単位でしか時間を指定できないので、より短い時間を指定したい場合は usleep(3) (マイクロ秒) や nanosleep(2) (ナノ秒) を使うことになります。sleep(), usleep() はライブラリ関数、nanosleep() はシステムコール*1です。 この usleep() や nanosleep() で 1ms 程度の短い時間プロセスを停止したとして、正確にその時間だけ停止させることはできるでしょうか。http://shiroikumo.at.infoseek.co.jp/linux/time/ にあるコードを参考に、実際に動かしてみます。カーネル 2.6.19 x86_64、CentOS 5 で試します。 まず、nanosleep() で 1ms のスリープを行

    Linux のスリープ処理、タイマ処理の詳細を見る - naoyaのはてなダイアリー
  • マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー

    また Linux カーネルの話です。 Linux では fork によるマルチプロセスと、pthread によるマルチスレッドでの並行処理を比較した場合、後者の方がコストが低く高速と言われます。「スレッドはメモリ空間を共有するので、マルチプロセスとは異なりコンテキストスイッチ時にメモリ空間の切り替えを省略できる。切り替えに伴うオーバーヘッドが少ない。」というのが FAQ の答えかと思います。 が「オーバーヘッドが少ない」と一言にいわれても具体的にどういうことなのかがイメージできません。そこで Linux のスレッド周りの実装を見て見ようじゃないか、というのが今回のテーマです。 3分でわかる(?) マルチプロセスとマルチスレッド まずはうんちく。マルチプロセスとマルチスレッドの違いの図。以前に社内で勉強会をしたときに作った資料にちょうど良いのがあったので掲載します。Pthreadsプログラミ

    マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー
  • naoyaのはてなダイアリー - 負荷とは何か

    調べごとをしたので blog に書いて理解を深めようのコーナーです。長文です。 Linux でシステム負荷を見る場合にお世話になるのが top や sar (sysstat パッケージに同梱されてるコマンド) などのツールです。 top ではシステム統計のスナップショットを見ることができます。今システムがどういう状態かなーというときは top が便利。 top - 08:16:54 up 3 days, 14:43, 6 users, load average: 0.18, 0.07, 0.03 Tasks: 43 total, 2 running, 41 sleeping, 0 stopped, 0 zombie Cpu(s): 18.2% us, 0.0% sy, 0.0% ni, 81.8% id, 0.0% wa, 0.0% hi, 0.0% si一方の sar では10分ごとのシ

    naoyaのはてなダイアリー - 負荷とは何か
    nirvash
    nirvash 2007/02/22
    ロードアベレージの計算方法
  • Lightweight Language Day - naoyaのはてなダイアリー

    昨日はLightweight Language Day and Nightに行ってきた。夕方から用事があったので昼の部だけ。いろいろメモってきたのだけど、時間がないので簡単に。 まず、地図をみたら新宿駅下車っぽかったので、新宿から四谷区民ホールまで歩いていったらえらい遠くて大変でした。着いた頃には Language Update の何個かがすでに終わってしまっていた。でもまあ、終わってたのは awk、Curl、Gauche、Haskell あたりで、P3R は聴けたのでよしとする。あ、P3R っていうのは今僕が勝手に作った言葉で(w) PerlPHPPythonRuby のメジャー4大LLのことです。 PHP が 5.1 でかなり速くなるとか、実用的な面を重視しているため update も信頼性向上みたいなところが多くを占めている様子 (PEAR、PECL を分離するとか)、Perl

    Lightweight Language Day - naoyaのはてなダイアリー
    nirvash
    nirvash 2006/05/07
  • naoyaのはてなダイアリー - Inside Hatena Bookmark's Backend の資料

    以下に置いておきました。遅くなってすいません。 http://bloghackers.net/~naoya/pdf/050404inside_hatena_bookmark.pdf 会場で前置きしたように、はてなブックマークは、はてなで一番大きなシステムであるはてなダイアリーあるいは同じ YAPC で発表のあった mixi に比べると、まだそこまで大きな規模ではありません。月間の PV はだいたい 4,000 万 PV 〜 というところです。 ただ、日でのトラフィックが上から 5 番目みたいな怪物サイトよりも、月間の PV が 1,000 万クラスのサービスの情報の方が、より現実的で役に立つのではないかと思い、はてなブックマークの裏側に絞って話しをしてみました。 ...という前提で見ていただけると嬉しいです。 はてなブックマークのデータのサイズもかなり大きくなってきたので、ぼちぼちパーテ

    naoyaのはてなダイアリー - Inside Hatena Bookmark's Backend の資料
  • naoyaのはてなダイアリー - YouTube の負荷

    なんつったって動画ですよ。 ブログとかmixi日記のようなテキストレベルのコンテンツに比べて、はるかにサーバーにかかる負荷は高いはずです。 YouTube と mixi を比較して "負荷" の話をしていて、「動画配信だから負荷が高い」と断定していますが、これは何を"負荷"とするかにもよるかなと思います。 "負荷" というと CPU load や I/O などリソースの消費っぷりを指す言葉というイメージがありますが。(一般的には違うものでしょうか?) そういう意味での負荷で言ったら、「YouTube = 動画 / mixi = テキストだから YouTube の方が負荷が高い」という断定はやや微妙です。負荷の種類が違うのです。 YouTube のシステムを見たときにその焦点になるのは、まず第一にネットワーク帯域。第二にストレージをどうしているかというところじゃないかなと思います。動画配信に

    naoyaのはてなダイアリー - YouTube の負荷
  • ベルウィックサーガについて - naoyaのはてなダイアリー

    先月末にベルウィックサーガというゲームを買いました。確か発売日当日だったと思います。 ティアリングサーガシリーズ ベルウィックサーガ(通常版) 出版社/メーカー: エンターブレイン発売日: 2005/05/26メディア: Video Game クリック: 21回この商品を含むブログ (51件) を見る ゲームに詳しいとある知人が、これは話題作ということで教えてくれた一。ファイアーエムブレムライクなシミュレーションRPGです。(もともとファイアーエムブレムのプロデューサーだった人が立ち上げた会社が作ってて、ひと悶着あったらしいです) で、ゲームの感想ですが、すごく難易度が高い。前半はそれほどでもなかったのですが、後半になってくるとボウガンを4連射する適が森の中に隠れていて近づいたら味方キャラが即死したりします。ちなみにファイアーエムブレム同様、味方は倒れたら復活しないので、その時点でリセッ

    ベルウィックサーガについて - naoyaのはてなダイアリー
    nirvash
    nirvash 2005/08/07
    ゲームはマゾくなくていいや。現実のがマゾいし、投げ出せないから。
  • 1