<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>moratorium</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/" />
   <link rel="self" type="application/atom+xml" href="http://kzk9.net/blog/atom.xml" />
   <id>tag:kzk9.net,2008:/blog//1</id>
   <updated>2008-08-12T16:49:33Z</updated>
   
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.31-ja</generator>

<entry>
   <title>Cluster 2008</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/2008/08/cluster_2008.html" />
   <id>tag:kzk9.net,2008:/blog//1.207</id>
   
   <published>2008-08-12T16:42:49Z</published>
   <updated>2008-08-12T16:49:33Z</updated>
   
   <summary>今年はBossがGeneral Chair。 - Cluster 2008 僕はポスターの前で突っ立ってる予定です。 ...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://kzk9.net/blog/">
      <![CDATA[今年はBossがGeneral Chair。

- <a href="http://www.cluster2008.org/program.html">Cluster 2008</a>

僕はポスターの前で突っ立ってる予定です。
]]>
      
   </content>
</entry>
<entry>
   <title>SWoPP 2008</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/2008/08/swopp_2008.html" />
   <id>tag:kzk9.net,2008:/blog//1.206</id>
   
   <published>2008-08-07T07:51:12Z</published>
   <updated>2008-08-07T07:59:49Z</updated>
   
   <summary>- プログラム 発表おわた。 P.S. 佐賀は日本酒旨いです。蛍川が気に入りました！ ...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://kzk9.net/blog/">
      <![CDATA[- <a href="http://www.hpcc.jp/swopp/swopp2008/final_timetable.html">プログラム</a>

発表おわた。

<p>
P.S.<br>
佐賀は日本酒旨いです。蛍川が気に入りました！
</p>]]>
      
   </content>
</entry>
<entry>
   <title>blogeyeの実装に学ぶ、Amazon EC2/S3でのHadoop活用術</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/2008/08/blogeyeamazon_ec2s3hadoop.html" />
   <id>tag:kzk9.net,2008:/blog//1.205</id>
   
   <published>2008-08-05T06:18:56Z</published>
   <updated>2008-08-05T06:28:55Z</updated>
   
   <summary>- blogeyeの実装に学ぶ、Amazon EC2/S3でのHadoop活用術 大倉さんによるHadoop記事第4回が公開されました！Hadoopを使用したサービスの具体的な構成方法・Amazon EC2/S...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://kzk9.net/blog/">
      <![CDATA[- <a href="http://codezine.jp/a/article/aid/2841.aspx">blogeyeの実装に学ぶ、Amazon EC2/S3でのHadoop活用術</a>

<p>
大倉さんによるHadoop記事第4回が公開されました！Hadoopを使用したサービスの具体的な構成方法・Amazon EC2/S3上でHadoopを動かすための具体的な方法が解説された貴重な記事です。是非お楽しみ下さい！
</p>
<p>
過去記事はこちらになります。

<ul>
<li><a href="http://codezine.jp/a/article/aid/2448.aspx">Hadoop、hBaseで構築する大規模分散データ処理システム</a></li>
<li><a href="http://codezine.jp/a/article/aid/2485.aspx">Hadoopのインストールとサンプルプログラムの実行 </a></li>
<li><a href="http://codezine.jp/a/article/aid/2699.aspx">複数マシンへHadoopをインストールする</a></li>
</ul>

</p>
<p>
次回は連載最終回で、BigTableのクローン「hBase」の紹介を行う予定です。
</p>
]]>
      
   </content>
</entry>
<entry>
   <title>PLM勉強会</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/2008/08/pml.html" />
   <id>tag:kzk9.net,2008:/blog//1.204</id>
   
   <published>2008-08-03T19:16:21Z</published>
   <updated>2008-08-03T23:57:34Z</updated>
   
   <summary>id:ichii386さんが主催されているPLM勉強会で岡野原先生に話して貰おうと盛り上がって、今日話して頂きました。 - 機械学習による自然言語処理チュートリアル なんだかCRFが分かった気になる貴重な3時間...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://kzk9.net/blog/">
      <![CDATA[<p><a href="http://d.hatena.ne.jp/ichii386/">id:ichii386</a>さんが主催されているPLM勉強会で岡野原先生に話して貰おうと盛り上がって、今日話して頂きました。</p>

- <a href="http://hillbig.cocolog-nifty.com/do/2008/08/post_040f.html">機械学習による自然言語処理チュートリアル</a>

<p>
なんだかCRFが分かった気になる貴重な3時間の講義でした。おかだいさんの説明/発表はいつ聞いても良いですね。物凄く分かった気になるｗ
</p>

<p>
あとは色々知り合いの方がかけつけて下さり、飲み会も非常に楽しかったです。tabateeさんが幸せそうだったのが僕はとりわけ印象的でしたｗ また適当にやりましょうー > いちーさん
</p>]]>
      
   </content>
</entry>
<entry>
   <title>HDFSでアトミックな追記操作がサポート</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/2008/07/hdfs.html" />
   <id>tag:kzk9.net,2008:/blog//1.203</id>
   
   <published>2008-07-28T01:12:56Z</published>
   <updated>2008-07-28T01:35:53Z</updated>
   
   <summary> 今週末、HDFS(Hadoop Distributed File System)についにアトミックな追記操作をサポートするパッチがコミットされたようです！ - HADOOP-1700 これが安定すれば、ログフ...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://kzk9.net/blog/">
      <![CDATA[<p>
今週末、HDFS(Hadoop Distributed File System)についにアトミックな追記操作をサポートするパッチがコミットされたようです！
</p>

- <a href="http://issues.apache.org/jira/browse/HADOOP-1700">HADOOP-1700</a>

<p>
これが安定すれば、ログファイル等をどんどん追記して、半リアルタイムで解析するような基盤を簡単に作れるようになるでしょう。
</p>

<p>
そのほかにもHadoopは色々と開発が進んでいて、一部が<a href="http://www.lexemetech.com/2008/07/pluggable-hadoop.html">TomWhiteさんのエントリ</a>にまとまっています。どんどん便利に、かつカスタマイズ可能になって行くので楽しいです。以下に簡単にまとめておきます。
</p>

<ul>
  <li>JobSchedulerの改善(現在はFIFOしか無いが、Facebookから公平性を考慮したスケジューラーの実装が上がっている)</li>
  <li>HDFSのブロック配置アルゴリズムをプラッガブルに</li>
  <li>InstrumentationAPIで各種ログ機構と統合し、クラスタ内の状態を詳しく把握</li>
  <li>Thrift/GoogleProtocolBufferを使用したシリアライズフレームワークの改善</li>
  <li>LifeCycleインターフェースの導入</li>
  <li>コードの循環依存の撤廃</li>
</ul>

<p>
僕もソースコードは大体把握したので、コードでコントリビューションして行こうと思っています。
</p>

<p>
P.S.<br>
はてなさんでは既に<a href="http://eighteentillidie.com/2008/07/entry-898.html">ログ解析にHadoop</a>を使用されているらしいです :-)
</p>
]]>
      
   </content>
</entry>
<entry>
   <title>はてな合宿</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/2008/07/post_63.html" />
   <id>tag:kzk9.net,2008:/blog//1.202</id>
   
   <published>2008-07-15T11:47:57Z</published>
   <updated>2008-07-15T12:24:08Z</updated>
   
   <summary> ６月の週末にはてなさんの京都オフィスにお邪魔して３日間の合宿を行いました。その時にnaoya, oxy, kzkチームで作った「はてブ関連エントリー機能」が今日公開されました。   関連エントリー機能のリリー...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://kzk9.net/blog/">
      <![CDATA[<p>
６月の週末にはてなさんの京都オフィスにお邪魔して３日間の合宿を行いました。その時にnaoya, oxy, kzkチームで作った「はてブ関連エントリー機能」が今日公開されました。
</p>

<p>
<ul>
  <li><a href="http://hatena.g.hatena.ne.jp/hatenabookmark/20080715/1216083688">関連エントリー機能のリリースについて</a>
  <li><a href="http://d.hatena.ne.jp/naoya/20080715/1216094785">はてなブックマークの関連エントリー機能開発、PFI さんとの合宿</a> by naoya</li>
  <li><a href="http://mono.kmc.gr.jp/~oxy/d/?date=20080715">はてなブックマークの関連エントリー機能開発</a> by oxy</li>
  <li><a href="http://ameblo.jp/ultrahongo/entry-10116598263.html">はてブ関連エントリ 技術解説</a> by nvaca</li>
</ul>
</p>

<p>
僕は主にoxyの作ったエンジン(reflexaに使われている奴)をThriftのマルチスレッドサーバー上に載せる仕事をしました。マルチスレッド周りでエンジンに数箇所バグが有ったのでそれを取り、負荷生成ツールを作ってCPUを完全に使い切る所まで持っていくことができました。今までシングルスレッドで動かしてたんですよねー。
</p>
<p>
エンジン自体は行列を圧縮したり、上手く探索を枝狩りしてたりと、アルゴリズム部分は相当頑張って実装されていたので、今回はその外堀を上手く埋めることが出来てよかったと思います。oxyたん、流石です。
</p>
<p>
mysqlのdumpはこうやるんだよ！とC言語でMySQL C APIを叩き出したnaoyaさんは素敵でした。あとこんなUIが欲しい！この条件でソートして表示して欲しい！と叫んでみたらすぐに作ってくれるので非常にやりやすかったです。僕ら画面作るの苦手なんですよね。
</p>
<p>
第２弾、第３弾と続くと思うので、また楽しみにしておいて下さい。
</p>
]]>
      
   </content>
</entry>
<entry>
   <title>ICFP2008</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/2008/07/icfp2008.html" />
   <id>tag:kzk9.net,2008:/blog//1.201</id>
   
   <published>2008-07-15T02:38:15Z</published>
   <updated>2008-07-15T02:50:41Z</updated>
   
   <summary> 今年は最初の方しか参加出来ませんでした。PFIの他の面々も色々都合が有ったらしく、1日目は僕とhillbigさんがいたものの、2日目以降はほぼid:tanakh1人状態で非常に申し訳ない状態に。 これで勝った...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://kzk9.net/blog/">
      <![CDATA[<p>
今年は最初の方しか参加出来ませんでした。PFIの他の面々も色々都合が有ったらしく、1日目は僕とhillbigさんがいたものの、2日目以降はほぼ<a href="http://d.hatena.ne.jp/tanakh/">id:tanakh</a>1人状態で非常に申し訳ない状態に。
</p>

<p>
これで勝ったら田中さん神。
</p>

<p>
C++で真ん中に突っ込むだけの馬鹿探査機を一通り書いた後、Haskell Masterがコーディングしてる横について色々と突っ込んでました。Haskell凄いよHaskell。
</p>

<p>
でも壮絶にバグ取りづらいｗ
</p>

<p>
というわけで今年は田中さんのエントリに誘導ー。
</p>

- <a href="http://d.hatena.ne.jp/tanakh/20080714#p1">The Eleventh ICFP Programming Contest</a>
]]>
      
   </content>
</entry>
<entry>
   <title>カーネル読書会で発表してきました。</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/2008/07/post_62.html" />
   <id>tag:kzk9.net,2008:/blog//1.200</id>
   
   <published>2008-07-11T04:32:23Z</published>
   <updated>2008-07-11T04:37:32Z</updated>
   
   <summary>YLUG第88回カーネル読書会。お題はHadoopです。吉岡さん、ありがとうございました。   Googleビデオ   ニコ動 ちょくちょく入るshinhさんの突込みが面白いのと、質疑応答でIPLの方の激しい突...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://kzk9.net/blog/">
      <![CDATA[<p>YLUG第88回カーネル読書会。お題はHadoopです。吉岡さん、ありがとうございました。</p>

<ul>
  <li><a href="http://video.google.com/videoplay?docid=-6828157577773610579">Googleビデオ</a></li>
  <li><a href="http://www.nicovideo.jp/watch/sm3866929">ニコ動</a></li>
</ul>

<p>
ちょくちょく入るshinhさんの突込みが面白いのと、質疑応答で<a href="http://www.ipl.t.u-tokyo.ac.jp/index-j.html">IPL</a>の方の激しい突っ込みに、きちんと答えられない僕が写ってますよ！
</p>
<p>
あの方ともうちょっと話したかったな・・・。
</p>

<p>
しかし自分のビデオは恥ずかしいですね。「まあ」って言いすぎなの直そうと思いますｗ
</p>]]>
      
   </content>
</entry>
<entry>
   <title>「プロトコルバッファー」がオープンソース化</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/2008/07/googlerpc.html" />
   <id>tag:kzk9.net,2008:/blog//1.199</id>
   
   <published>2008-07-07T22:19:29Z</published>
   <updated>2008-07-08T06:18:41Z</updated>
   
   <summary>Googleで使用されているRPC/シリアライズフレームワーク「ProtocolBuffer」がオープンソース化されたらしい via @ohkuraさん   ProtocolBuffers, our seria...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://kzk9.net/blog/">
      <![CDATA[Googleで使用されているRPC/シリアライズフレームワーク「ProtocolBuffer」がオープンソース化されたらしい via <a href="http://twitter.com/ohkura/statuses/852349047">@ohkuraさん</a>

<ul>
  <li><a href="http://google-code-updates.blogspot.com/2008/07/protocol-buffers-our-serialized.html">ProtocolBuffers, our serialized structured data, released as Open Source</a></li>
  <li><a href="http://code.google.com/p/protobuf/">プロトコルバッファー</a></li>
  <li><a href="http://code.google.com/apis/protocolbuffers/docs/overview.html">チュートリアル</a></li>
</ul>

<p>
おーおーお、<a href="http://code.google.com/p/googletest/">GoogleTest</a>といい何かオープンソース化ラッシュですね。Facebookの<a href="http://developers.facebook.com/thrift/">Thrift</a>と比較してC++, Java, Pythonしかバインディングが無いので、PHPとかPerlとか使ってる場合はまだ移行できなさそう。
</p>

<p>
この２つは週末に時間とってじっくり調べてみようー。
</p>

<p>
追記:<br>
RPCの部分は無くて、シリアライズのところしかなかった・・・。
</p>

<p>
追記:<br>
<a href="http://code.google.com/apis/protocolbuffers/docs/reference/cpp/google.protobuf.service.html#RpcChannel">RPC有るっぽ</a>。
</p>
]]>
      
   </content>
</entry>
<entry>
   <title>カーネル読書会</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/2008/06/post_61.html" />
   <id>tag:kzk9.net,2008:/blog//1.198</id>
   
   <published>2008-06-29T14:31:38Z</published>
   <updated>2008-06-29T14:34:17Z</updated>
   
   <summary> ミラクルリナックス吉岡さんにお世話になって、第88回カーネル読書会で話させて頂く事になりました。 お題はHadooooooooop!です。 - 第88回カーネル読書会のおしらせ  是非お越しくださいませ :-...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://kzk9.net/blog/">
      <![CDATA[<p>
ミラクルリナックス吉岡さんにお世話になって、第88回カーネル読書会で話させて頂く事になりました。
</p>

<p>
お題はHadooooooooop!です。
</p>

<p>
- <a href="http://www.ylug.jp/modules/pukiwiki/">第88回カーネル読書会のおしらせ </a>
</p>

<p>
是非お越しくださいませ :-)
</p>
]]>
      
   </content>
</entry>
<entry>
   <title>複数マシンへHadoopをインストールする</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/2008/06/hadoop_1.html" />
   <id>tag:kzk9.net,2008:/blog//1.197</id>
   
   <published>2008-06-27T04:54:16Z</published>
   <updated>2008-06-27T05:02:30Z</updated>
   
   <summary>Hadoop記事の第３回が公開されました。 複数マシンへHadoopをインストールする 今回はついに複数マシンでHadoopを動作させる方法を解説しています。次回は大倉さんの記事になります。 第１回、第２回は以...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://kzk9.net/blog/">
      <![CDATA[Hadoop記事の第３回が公開されました。

<ul>
<li><a href="http://codezine.jp/a/article/aid/2699.aspx">複数マシンへHadoopをインストールする</a></li>
</ul>

<p>
今回はついに複数マシンでHadoopを動作させる方法を解説しています。次回は大倉さんの記事になります。
</p>
<p>
第１回、第２回は以下になります。
</p>

<ul>
<li><a href="http://codezine.jp/a/article/aid/2448.aspx">Hadoop、hBaseで構築する大規模分散データ処理システム</a></li>
<li><a href="http://codezine.jp/a/article/aid/2485.aspx">Hadoopのインストールとサンプルプログラムの実行 </a></li>
</ul>
]]>
      
   </content>
</entry>
<entry>
   <title>東京大学理学部情報科学科のHPがリニューアル</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/2008/06/hp.html" />
   <id>tag:kzk9.net,2008:/blog//1.196</id>
   
   <published>2008-06-23T04:52:22Z</published>
   <updated>2008-06-23T04:56:05Z</updated>
   
   <summary> うちの学科のHPがリニューアルしました。色々な人の努力が結集されているみたいなので、宣伝させていただきます。 - ホームページ 大学３年生からの人も、大学院からの人も、是非ご覧下さい。 ...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="IS" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://kzk9.net/blog/">
      <![CDATA[<p>
うちの学科のHPがリニューアルしました。色々な人の努力が結集されているみたいなので、宣伝させていただきます。
</p>

<p>
- <a href="http://www.is.s.u-tokyo.ac.jp/">ホームページ</a>
</p>

<p>
大学３年生からの人も、大学院からの人も、是非ご覧下さい。
</p>]]>
      
   </content>
</entry>
<entry>
   <title>tbb::parallel_sort</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/2008/06/tbbparallel_for.html" />
   <id>tag:kzk9.net,2008:/blog//1.195</id>
   
   <published>2008-06-20T16:24:48Z</published>
   <updated>2008-06-20T17:11:59Z</updated>
   
   <summary>oxyたんがstd::sort速くなったらいいなあと呟いていたので、Intel TBBを試してみた。 id:nishidakeisukeさんも最近書かれていましたね。 - インテル スレッディング・ビルディング...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://kzk9.net/blog/">
      <![CDATA[oxyたんがstd::sort速くなったらいいなあと呟いていたので、Intel TBBを試してみた。

<p>
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873113555/mover-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51VTgf9VZUL._SL160_.jpg" alt="インテル スレッディング・ビルディング・ブロック ―マルチコア時代のC++並列プログラミング" style="border: none;" /></a>
</p>

<p>
id:nishidakeisukeさんも最近書かれていましたね。
</p>

<p>
- <a href="http://d.hatena.ne.jp/nishidakeisuke/20080525/p1">インテル スレッディング・ビルディング・ブロック</a>
</p>

<p>
オライリーの本自体は４月ぐらいに読み終わっていたのだが、実際に試してなかったので試してみた。
</p>]]>
      <![CDATA[ダウンロードして来てビルド。

<p>
[code]
pficore% wget "http://www.threadingbuildingblocks.org/uploads/77/111/2.1/tbb21_20080605oss_src.tgz"
pficore% tar vzxf tbb21_20080605oss_src.tgz
pficore% cd tbb21_20080605oss/
pficore% make
pficore% sudo make install
Password:
make: *** ターゲット `install' を make するルールがありません.  中止.
[/code]
</p>
<p>
なんかmake installが無い。とりあえずビルドされたものが出来てるディレクトリに謎のシェルスクリプトを発見。sourceしてみた。
</p>
<p>
[code]
pficore% cat build/linux_em64t_gcc_cc4.1.2_libc2.5_kernel2.6.20_release/tbbvars.sh
#!/bin/sh
[ -z "${TBB21_INSTALL_DIR}" ] && export TBB21_INSTALL_DIR="/home/kzk/tarball/tbb21_20080605oss" #
tbb_bin="${TBB21_INSTALL_DIR}/build/linux_em64t_gcc_cc4.1.2_libc2.5_kernel2.6.20_release" #
if [ -z "$CPATH" ]; then #
    export CPATH="${TBB21_INSTALL_DIR}/include" #
else #
    export CPATH="${TBB21_INSTALL_DIR}/include:$CPATH" #
fi #
if [ -z "$LIBRARY_PATH" ]; then #
    export LIBRARY_PATH="${tbb_bin}" #
else #
    export LIBRARY_PATH="${tbb_bin}:$LIBRARY_PATH" #
fi #
if [ -z "$LD_LIBRARY_PATH" ]; then #
    export LD_LIBRARY_PATH="${tbb_bin}" #
else #
    export LD_LIBRARY_PATH="${tbb_bin}:$LD_LIBRARY_PATH" #
fi #
 #
pficore% source build/linux_em64t_gcc_cc4.1.2_libc2.5_kernel2.6.20_release/tbbvars.sh
pficore% echo $TBB21_INSTALL_DIR
/home/kzk/tarball/tbb21_20080605oss
[/code]
</p>
<p>
これで動くだろうけどなんか嫌だ。install target作って欲しいです > Intelの中の人。
</p>
<p>
次は適当にビルドして実行する。コードはこんな感じ。
</p>
<p>
[code]
#include <time.h>
#include <sys/time.h>
#include <stdlib.h>
#include <iostream>
#include <vector>
#include <tbb/parallel_sort.h>
#include <tbb/task_scheduler_init.h>
using namespace std;

double gettimeofday_sec()
{
  struct timeval tv;
  gettimeofday(&tv, NULL);
  return tv.tv_sec + (double)tv.tv_usec*1e-6;
}

int
main(int argc, char **argv)
{
  int s = 500000000;
  vector<int> v(s);
  for(unsigned int i=0; i<s; i++)
    v[i] = rand();

  double t1 = gettimeofday_sec();
  if(strcmp(argv[1], "tbb") == 0){
    tbb::task_scheduler_init init;
    tbb::parallel_sort(v.begin(), v.end());
  }else{
    sort(v.begin(), v.end());
  }
  double t2 = gettimeofday_sec();
  cout << "sort time: " << t2 - t1 << endl;
  return 0;
}
[/code]
</p>
<p>
2Gをソートしてみます。Core 2 Duo 6600 2.4G でビルド & 実行。
</p>
<p>
[code]
pficore% g++ -o parallel_sort -O2 -I${TBB21_INSTALL_DIR}/include parallel_sort.cpp -ltbb
pficore% time ./parallel_sort std
sort time: 70.4624
./parallel_sort std  76.36s user 1.85s system 99% cpu 1:18.86 total
pficore% time ./parallel_sort tbb
sort time: 41.6624
./parallel_sort tbb  86.31s user 1.90s system 176% cpu 50.020 total
[/code]
</p>
<p>
ちゃんと速くなってますね、すばらしい。
</p>
<p>
インストール問題さえ無ければ手軽に並列化出来てよい感じ。
</p>]]>
   </content>
</entry>
<entry>
   <title>Erlang勉強会</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/2008/06/erlang.html" />
   <id>tag:kzk9.net,2008:/blog//1.194</id>
   
   <published>2008-06-18T23:25:51Z</published>
   <updated>2008-06-18T23:39:22Z</updated>
   
   <summary>Erlang勉強会 行ってきました。初mixiオフィス。 Dynamoのアルゴリズムに関しては知ってる話だったので、僕としてはErlangの実装の所が色々と楽しかったです。プログラミング言語Erlangを４月に...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://kzk9.net/blog/">
      <![CDATA[<a href="http://teahut.sakura.ne.jp/b/2008-06-02-1.html">Erlang勉強会</a>

<p>
行ってきました。初mixiオフィス。
</p>

<p>
Dynamoのアルゴリズムに関しては知ってる話だったので、僕としてはErlangの実装の所が色々と楽しかったです。プログラミング言語Erlangを４月に読んで、結局実際に書かずじまいになってるので良くないなあ。
</p>

<p>
あとTokyoTyrantではepoll(2)で読み込み可能なfdをゲットしてそれをqueueに入れて、スレッドプール(8 thread)で同期的にread(2)して処理しているらしい。
</p>

<p>
それだとまだ届いてないパケットが有る時にread(2)がブロックして最大性能が出ない気がするのですが、mixiで実際に運用してる所をみるとあんまり関係無いのかしら。
</p>

<p>
僕はいつもepoll(2)ループでプロトコルの終端までread(2)してから、その内容と共にqueueに突っ込んでたので、あれ？と思ってしまった。
</p>

<p>
打ち上げではid:tasukuchan、瀧内さん、みかかの人達と分散系・アルゴリズム系の話をしていた。余りにも面白かったので、一部の人としか話せなかったのはちょっと勿体無かったかな・・・。
</p>
]]>
      
   </content>
</entry>
<entry>
   <title>iアプリ</title>
   <link rel="alternate" type="text/html" href="http://kzk9.net/blog/2008/06/i.html" />
   <id>tag:kzk9.net,2008:/blog//1.193</id>
   
   <published>2008-06-04T22:41:18Z</published>
   <updated>2008-06-04T23:21:30Z</updated>
   
   <summary>寝つけなかったので、田中さんとチャットしていたら、こんなものが出てきた。回顧エントリ。 iアプリコンテスト「たたかえ！ iアプリ」，作品2次募集開始 僕が一番最初に書いたプログラム。このコンテストは結局落選した...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://kzk9.net/blog/">
      <![CDATA[寝つけなかったので、田中さんとチャットしていたら、こんなものが出てきた。回顧エントリ。

<p>
<a href="http://plusd.itmedia.co.jp/mobile/0201/28/n_tatakae.html">iアプリコンテスト「たたかえ！ iアプリ」，作品2次募集開始</a>
</p>

<p>
僕が一番最初に書いたプログラム。このコンテストは結局落選したんだけど、色々と楽しい思い出が。
</p>

<p>
当時、<a href="http://www.saturn.dti.ne.jp/~npaka/">布留川さん</a>が簡易シューティングゲームを作るような記事を書かれていて、そのソースを印刷して勉強してた。ネストしたforの動作が分からなくて悩んでた記憶がある。
</p>

<p>
Javaの入門書とか読んでもつまらんサンプルしか無いので、今考えてもこの勉強の仕方は良かったな。
</p>

<p>
公開されてたシューティングゲームをデコンパイルしてソースを読んで複雑な敵の動き方の実現方法とかを勉強した。なんでいきなりデコンパイルを覚えてたのかは謎。絵は友達にペイントで書いてもらった。
</p>

<p>
アプリを10kに収めないといけないので、ループ変数をstaticにして縮めた。そのせいでスレッドを使ってループを回すとバグって、その原因を見つけるのに１週間かかったりとか。確か適当に衝突判定ループ全体をsynchronizedとかで囲んだ気がする。
</p>

<p>
10kって10000byteじゃなくて10240byteだったときは嬉しかった。
</p>

<p>
オブジェクト指向とか知らんから、適当にドット付けてコンパイルが通ったらラッキーってな感じで開発してた。
</p>

<p>
そのくせ数十万ＤＬ有ったりとか。電車で隣の人が僕のゲームやってた時はコンピューターってすげえ！インターネットってすげえ！って思った。プログラミングで、UO & Diablo中毒が治った。
</p>

6年は早いなあ。未だにあの感動が忘れられなくてキーボードをカタカタやってますよ。
]]>
      
   </content>
</entry>

</feed>
