自己紹介

太田一樹。
東京の大学の情報科学科に通う大学生。moratorium満喫中。

お勧め書籍 [全部見る]

飾り

Search


Category Archives

Recent Entries

  1. 論文
  2. JJUG CCCでプレゼンします
  3. kzk's bookshelf
  4. En Google by Gulfweed
  5. PNUTS
  6. コメントスパム対策
  7. Hadoop + Luceneで分散インデクシング
  8. Hadoopの解析資料
  9. Cluster 2008
  10. SWoPP 2008

2007年01月17日

Yesterday's Discussions

学校に行くまで時間が空いたので昨日の事をつらつら。

0. DiskもMemoryもCPUもLinuxもglibcもlibstdc++もg++もboostも自分も信じられない。

定期的に陥る。特に次のような時。

- 言語処理系が落ちた時
- OSが吹っ飛びそうな負荷をかけた時
- 納期直前

要約すると同時期。



1. "nohup"コマンドの実装はどうなっているか?

ちゅんさんにdouble fork trickというのを教えてもらったのでそれかなと思っていたが、coreutilsのソースを読んでみると全然違った。

(その1) 子プロセスfork -> 孫プロセスfork -> 孫プロセスexecv -> 子プロセスexit (double fork trick)
(その2) signal(SIGHUP, SIG_IGN) -> execv (coreutils)

「no HUP」の名前の意味にはっと気づかされた。



2. 命令の依存関係は維持しつつも、Stallを減らしてかつDelay Slotを埋めるような最適な命令列並び替えアルゴリズム

近似解を得られそうなものをnuさんと頑張ってグラフを睨めっこしながら考案した。有名なアルゴリズムが有りそうなもんだが・・・。



3. インライン展開は諸刃の剣

大きい関数をインライン展開をすると命令数事態は減るが、キャッシュミス率が上がってしまい逆に性能が下がる。というのを肌で体感させられた。



4. Webのサムネイル生成プログラム

Ruby-Gnome2 + MozillaEmbeddedで作ってみたが、遅いし不安定。はてなスクリーンショットはどうやっているのかなと調べていたら「crenahtml2jpg」というソフトを外部コマンドで呼び出しているだけのようである。後は適当にサーバー化して(XMLRPCなりdRubyなり)、フロントエンドサーバーから叩けるようにしてあるんだろう。ちょっと興ざめ。



5. 寝れない

スケジューラー書いてたらこんな時間。



さて、今日はネットワークの授業。


trackbacks

trackbackURL:

comments

comment form
comment form