サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
kzk9.net
Hi, i've just released 'je' gem which gives instant performance improvements and memory reduction for most Ruby programs. The procedure is really easy: just install 'je' gem, and execute your program by 'bundle exec je', instead of 'bundle exec'. The underlying technology is jemalloc, the scalable and concurrent malloc(3) implementation. Why jemalloc? Ruby relies on malloc(3) for its internal memo
This article is for Kernel/VM Advent Calendar 2010. Problem I was involved in HPC area in the Univ Tokyo. The big problem I've faced is to write the portable code across many HPC environments. The most difficult part is the NETWORK. There're some popular networking system: Myrinet/Infiniband/Ethernet. Myrinet and Infiniband is more faster (ultra low latency + broader bandwidth) than Ethernet, but
Few months ago, I need to write the multi-threaded http server which can be embedded into the C++ server. At that time, the performance and the stability was the most important point. I found the evhttp library, which is included in the libevent. evhttp is HTTP server/client library built on top of the libevent event loop. Single-Threaded Server The following code is a simple evhttp server. But th
memcachedの件: その2 2010-08-14 (Sat) 4:59 Uncategorized 再現させる bulkneetsツールを使ったが、Ubuntu Intrepid (2.6.27-11-server)では再現せず。RHEL5(2.6.18-128.el5)では再現した。もうちょい色々な環境で試してみる必要が有りそう。 エラーメッセージからの追跡 stanakaさんの以下の発言より。 * http://twitter.com/stanaka/status/21037070317 以下のメッセージが出るらしい。 [err] event_queue_remove: 0x15ea9d88(fd 30) not on queue 8 event.c event_queue_remove()の先頭部分でのメッセージ。 void event_queue_remove(struct
--- libevent-1.3b/epoll.c 2007-03-04 13:05:06.000000000 +0900 +++ libevent-1.3b-modified/epoll.c 2010-08-13 08:23:08.000000000 +0900 @@ -159,12 +159,12 @@ { struct epollop *epollop = arg; - if (max > epollop->nfds) { + if (max >= epollop->nfds) { struct evepoll *fds; int nfds; nfds = epollop->nfds; - while (nfds fds, nfds * sizeof(struct evepoll));
libevent-1.3b, libmemcached-1.4.4 で固まる? 2010-08-13 (Fri) 0:56 Uncategorized mixiの件について、nealさんから情報を貰ったので数時間調査してみた。というのも、うちの製品でもlibevent(evhttp)をリクエスト処理に使っているので、これにバグが有ると非常に困る。 Nealさんのつぶやき ひとまず、libevent-1.3b, libmemcached-1.4.4をビルドする。memcachedは、-cで同時接続数を制限できる。で、この同時接続数というのは、実はファイルディスクリプタの数を制限する事で達成されている。memcached.cの以下の部分。 /* * If needed, increase rlimits to allow as many connections * as needed. */
MessagePack-RPC for Java/Pythonの実装を行っています。 2010-05-10 (Mon) 6:17 MessagePack blogはご無沙汰中です。3月で大学を卒業して、社会人生活を満喫しています。頭の切り替えが楽になった気がします。 最近は古橋さんが中心となってやっている、MessagePackというプロジェクトに少しコミットしています。同じような目的のプロジェクトとして、Google ProtocolBuffer・Apache Thrift・Apache Avroなどが有ります。簡単に言うと、JSONより速くてコンパクトなシリアライズ/デシリアライズライブラリです。 MessagePackのサイト MessagePackは非常に安定して十分にプロダクトでも使えるレベルなので、是非使ってみて下さい。C/C++ライブラリを用いて、毎月数億回ぐらいは(de)s
Recently, I have a strong demand for storing many many HTML contents, downloaded from the web. But storing them in raw data seems not clever way. Of course, we need the efficient compression. One of the most famous data compression is gzip, which uses LZ77 algorithm. LZ77 finds the repeating substring in the small window, and replace the repeating strings into (offset, size) pair. Although HTML ha
所持している本でお勧めの物だけを紹介しています。CS(特にシステムソフトウェア)に興味が有る人向けです。
In this entry, I try to introduce how to use FFI (Foreign Function Interface) of Go. I choosed to write the wrapper for TokyoCabinet, a database library. To call C and C++ code from go, you need to use cgo command. And the simple example is contained in go distribution ($GOROOT/misc/cgo/stdio and $GOROOT/misc/cgo/gmp). cgo commands converts *.go files into *.c and *.go files. Then compiles them an
Cloudera Distribution for Hadoopのインストール方法 2009-11-03 (Tue) 1:08 Hadoop 昔色々と記事を書きましたが、1年半経って、もはや内容が古くなって来ました。 Hadoopのインストールは、最近はCloudera Distribution for Hadoopを使用するのが一般的なようなので、こちらでのインストール方法を紹介します。 まずはEC2で2インスタンス立ち上げます。一つがNameNode/JobTracker用、もう一つがDataNode/TaskTracker用です。仮に、ホスト名をmaster, slaveとしておきます。OSはCentOSが推奨されています。 次にCloudera Configuratorにアクセスし、使用するクラスタの構成などを入力します。それらの情報(例:ノードのコア数・メモリ容量・台数など)から
Hadoop World NYC 参加記 2009-10-07 (Wed) 10:03 Hadoop と言う訳でHadoop World NYC, 2009の参加記を書きます。 1日目はSystem Administrator用のトレーニングコースを受け、2日目がカンファレンス本番でした。トレーニングコースはDeveloper向け(3日間)とManager向けのビジネス寄りのコースが有り、合計で100人ぐらいは参加していたと思います。カンファレンスの本番自体は400~500人の参加でした。 まずSystem Adminコースですが、大体以下のような内容でした。 MapReduceの基本概念 ハードウェア/ネットワーク機器の選定ポイント OSやJavaなど、ソフトウェアでの注意点 Hadoop(Cloudera Distribution)のインストール方法 パラメーター/パフォーマンスチュー
Hadoop World 2009 @ NYC 2009-10-04 (Sun) 17:13 Hadoop Hadoop World 2009に参加するために、NewYorkに来ています。参加者は全体で500人ぐらい。日本からは6~7人ぐらい参加していました。 Cloudera (Hadoopの商用サポートを行っている企業) のMike Olson CEO。BerkeleyDBを作っていたSleepyCatの元CEO。 同じくClouderaのChristophe Bisciglia。 名刺交換してると、色々なIndustryの人がいて面白かったです。かなり盛り上がりを感じました。Clouderaの方に聞いた所、小さいウェブスタートアップから、大きいキャリアまで、色々適用範囲が広がっているようです。まだまだ20人ぐらいの会社なのに、プレセンスが大きくて凄いなーと思いました。 個人的には、S
Twinado = Tornado + async-python-twitter 2009-09-23 (Wed) 0:37 Uncategorized Twinadoという携帯向けのTwitterクライアントを書いてみました。日常的に使えるレベルにはなっていると思います。 Twinado: 携帯端末向けTwitterクライアント 特徴としては最近Facebookが公開したTornadoというフレームワークを使って、Twitter API呼び出しが全て非同期に行われている点です。なので、コネクション数が増えても高速に動くはずです。現状DoCoMo P905iでしか動作確認していません。 きっかけとしては、最近Perl界隈で非同期処理が流行っているのを見て、楽しそうだと思っていたところに、Tornadoが公開されたので、少し使ってみるかと思い立った事です。Tornadoについては以下を参考に
Scalaでヒープサイズを増加させる方法 2009-08-28 (Fri) 10:43 Scala 最近Scala本を買って、勉強しています。 で、少しプログラムを書いていたのですが、ちょっと大規模なデータを扱うとOutOfMemoryError例外で落ちてしまいました。 java.lang.OutOfMemoryError: Java heap space これを解決する方法をメモします。scalaコマンドは実はjavaを実行するシェルスクリプトみたいです。 % file `which scala` /opt/scala-2.7.5.final/bin//scala: POSIX shell script text executable で、このスクリプトを見ると、以下のような記述が見つかります。 [ -n "$JAVA_OPTS" ] || JAVA_OPTS="-Xmx256M -X
Consensus Protocol 2009-08-25 (Tue) 7:29 研究 Consensus Protocolについて分かりやすいブログ記事が有ったので、メモ。Clouderaの方みたいです。 A Brief Tour of FLP Impossibility A brief history of Consensus, 2PC and Transaction Commit Consensus Protocols: Two-Phase Commit Consensus Protocols: Three-phase Commit Consensus with lossy links: Establishing a TCP connection Consensus Protocols: Paxos Consensus Protocols: A Paxos Implementatio
SOSP 2009適当まとめ 2009-08-24 (Mon) 4:39 Uncategorized システム系では最高峰の学会SOSPの最新の論文が公開されていたのを見つけたので、適当に流し読みしてみました。 SOSP 2009: Technical Programs 主に僕の興味の有るやつになります。無いのはリストにすら入ってないので、ご注意を。特にセキュリティ周りとか。しかしHadoopを利用した論文が結構多い。MapReduce流行り過ぎ。 - FAWN: A Fast Array of Wimpy Nodes 遅いCPUとFlashドライブを並べて低消費電力なストレージを作るというアーキテクチャ「FAWN」を提案。この上に「FAWN-KV」と呼ばれるKey-Value Storeを作成し、実験を行った。Chain-Replication、ノード追加時のプロトコル等が詳しく載って
インターン6週間経過 / BlueGenePツアー 2009-07-11 (Sat) 23:22 ANL Intern 2009 ついにBlueGene/P見て来ました。写真撮っても良いという事なので、遠慮なく撮りまくり。まずは全体像です。 ノードカード。4 core, 2G Memのノードになります。 ハーフラックボード。ノードカードが32枚ささります。合計128core。コモディティを使った場合との集積度の差はやはり凄いです(はてな1Uハーフサーバー)。お値段の問題が有りますけどねw ラック。ハーフラックボードが32枚刺さります。合計4096core。 nVidiaのGPUクラスタ。4ラック有りました。最近GPU流行ってるからなあ。 ストレージ。DataDirect Network社のものです。ラックに600個のドライブ(1Tのディスクを使えば600T)。6GB/s?(あやふや)ぐらい
学校の課題でSchemeの"eval"関数相当のモノを作った。一度理解してしまえば、Lisp系の処理系の"eval"部分は案外容易に理解出来るものである。それを示す為に、今回はEmacsLispの"eval"関数を見ていく事にしよう(in src/eval.c)。これがEmacsLispの心臓部だ。まずは全体を見通してみる。 in src/eval.c DEFUN ("eval", Feval, Seval, 1, 1, 0, doc: /* Evaluate FORM and return its value. */) (form) Lisp_Object form; { Lisp_Object fun, val, original_fun, original_args; Lisp_Object funcar; struct backtrace backtrace; struct gcp
インターン1か月経過 2009-06-29 (Mon) 19:45 ANL Intern 2009 | 研究 早いもので、4週が経過しました。 1~2週目で、「こやつは好きにやらせても大丈夫だフラグ」を立てることに成功したので、がんがんコミットしてます。gitを大体覚えた(WEB+DB Press持ってきて良かった!)。残り1カ月でアイデアの実装/負荷テストまでは一通り終われそうな感じです。実アプリ/ベンチマークでの検証作業は、日本帰ってからかな~という感じ。 3週目にはshi3zさんがLog Angelesから大陸鉄道Amtrakで40時間かけて来てくれて、シカゴ市内を色々と一緒に観光しました。相当楽しくて、良い息抜きになりました。今回の観光で、台北101/エンパイアステートビルに続いてシアーズタワーの模型をゲットしました。いつかブルジュ・ドバイにも行きたいです。 Facebookの写真
BlueGeneのアーキテクチャ超適当まとめ 2009-06-13 (Sat) 13:28 ANL Intern 2009 私的メモエントリです。IBM製のスパコン、BlueGeneの特徴をまとめてみます。 以下参考URL。 IBM Research | Blue Gene An Overview of the BlueGene/L Supercomputer, SC2002 Toward Message Passing for a Million Processes: Characterizing MPI on a Massive Scale Blue Gene/P, ISC2009 Wikipedia: BlueGene 以下、特徴を箇条書き。 PowerPCベースのプロセッサ。BG/Lは700MHz, BG/Pは850MHz。各コアに1個ずつ、DoubleFPUが付属。BG/Pからは
インターン: 一週間が経過 2009-06-07 (Sun) 12:12 ANL Intern 2009 | 研究 シカゴに来て、早くも一週間が過ぎました。 人とプロジェクトの把握をする/どういう作業をするか決める/仕事の進め方を把握する、のに数日かかりましたが、週の後半にはいくつかパッチも作って、コミットされそうで良かったです。 ANLにはHPC分野で有名なソフトウェアの主要開発者が同じ階にそろっていて、廊下を歩くだけでワクワクします(NetCDF, MPICH2, ROMIO, IOFWD, BMI, PVFS)。無理やり例えるならRoR・Rubyインタプリタ・mod_ruby・Apache・MySQLの作者が全員同じ廊下に同居してるみたいな感じでしょうか。 下位レイヤ/上位レイヤで分からないことが有ったらすぐに聞けるのは、ソフトウェアの研究を進める上でもの凄く大きなアドバンテージだと
Amazon CloudWatch を使ってみた 2009-05-19 (Tue) 5:01 Amazon EC2 Amazon EC2で、Amazon CloudWatch(インスタンス監視サービス)、Amazon Elastic Loadbalancer(ロードバランサー), Amazon AutoScaling(自動スケールアウト機構)がリリースされました。 New Features for Amazon EC2: Elastic Load Balancing, Auto Scaling, and Amazon CloudWatch by Jeff Barr Automating the management of Amazon EC2 using Amazon CloudWatch, Auto Scaling and Elastic Load Balancing by Werner
n日前より古いファイルを消す 2009-05-12 (Tue) 7:51 Unix バックアップスクリプトを書く時にいつも忘れるのでメモ。 DATE=`date -d '7 days ago' +%y%m%d0000` echo $DATE echo >temp.file touch -t $DATE temp.file find . ! -newer temp.file -print | xargs rm -f rm temp.file findコマンドの-newerを使用しています (お好みで-anewer, -cnewerなど)。 P.S. chunさんよりzshのextended_globを覚えろとの指令が飛びました。 setopt extended_glob; ls *(^m-7) -ld Zzappers Best of ZSH Tips おー。 P.S.2 Higepon
E-Mobile (D01NE) + Nintendo Wifi USB Connector 2009-05-07 (Thu) 7:17 Uncategorized 僕は固定費削減のためにE-Mobile(イーモバイル D01NE)で全てのネット接続を行っています。家にネット回線を引いていません。 が、このたびWii, DSからもネットにつなぎたくなったので、Nintendo Wifi USB Connectorを買ってみました。ネットに繋がったPCを利用して、ゲーム機からインターネットに接続する事が出来ます。 使うのに少しはまったので手順をメモします。 以下、接続するための手順です。 イーモバイル用のダイアルアップ接続をセットアップ(参考)。イーモバイルの標準ユーティリティからの接続ではダメでした。 Nintendo Wifi USB ConnectorをPCに接続 ダイアルアップ接続
Baidu.comの検索サーバーはSSD 2009-04-23 (Thu) 12:21 SSD 日経エレクトロニクスの以下の記事より。 どう付き合うかSSD Baidu.comの検索速度向上のカギを握る部品が,SSD(solid state drive)である。SSDはNANDフラッシュ・メモリを記憶媒体として使い,HDDと同様のインタフェースを備えたストレージ装置。HDDのようにモータやヘッド,アームといった機構部品がなく,データへのアクセス性能が高い。2009年現在,同社は「検索サーバー全体の数十%,Web検索向けサーバー機能に限定すると100%をSSDに切り替えた」(バイドゥ マーケティング部 部長の添田武人氏)という。 へー。もっと買って安くなって! まあもう検索サーバー用にメモリを並べる時代は終わったと思う。 Similar Posts: Tx: Succinct Trie D
Flash Based Database Systems 2009-04-16 (Thu) 8:41 SSD Flash/SSD上のDatabase Systemsについての論文リストが有ったので、気になるものを読みました。2007, 2008年でどかっと来てますねえ。 http://www.cse.ust.hk/~yinanli/readinglist.html SSDのデバイス特性は語られる事がまだ少ないので、そのうちまとめてみようと思います。嬉しい事ばっかりじゃ無いんだよ、という事です。 特にSmall Writeが苦手だというのは知っておかないと、実際に使う上で危険な気がします (ログとか)。 Similar Posts: 上流工程? What Every Programmer Should Know About Memory FFTによる多倍長乗算 Older: WordPres
WordPress高速化のためにAPCを導入 @ Ubuntu Hardy 2009-04-14 (Tue) 4:03 WordPress まだブログ(Word Press)が重い!といわれて悔しいので、APCを導入してみました。PHPの中間表現を最適化したり、コンパイル済みバイトコードをshmemにキャッシュしてくれるらしいです。 Wikipedia: PHP accelerator APCは以下の手順で5分程度で導入完了しました。環境はUbuntu Hardyです。ApacheのMultithread Workerは何かと怖いので、Preforkを使います。 $ apt-get update $ apt-get install php5-dev $ apt-get install php-pear $ apt-get install apache2-prefork-dev $ pecl
次のページ
このページを最初にブックマークしてみませんか?
『Kazuki Ohta's Space』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く